v0.15.0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
MoFEM::AddHOOps< 1, 3, 3 > Struct Reference

Specialization for 1D edge elements in 3D problems with 3D space. More...

#include "src/finite_elements/HODataOperators.hpp"

Public Member Functions

 AddHOOps ()=delete
 

Static Public Member Functions

static MoFEMErrorCode add (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pipeline, std::vector< FieldSpace > space, std::string geom_field_name="")
 Add high-order operators to the pipeline for 1D edge elements in 3D.
 

Detailed Description

Specialization for 1D edge elements in 3D problems with 3D space.

This specialization adds high-order operators for 1D edge elements operating in 3D problems within 3D coordinate space. Used for edge-based computations such as line integrals, boundary conditions, or wire-like structures in 3D finite element analysis.

Definition at line 698 of file HODataOperators.hpp.

Constructor & Destructor Documentation

◆ AddHOOps()

MoFEM::AddHOOps< 1, 3, 3 >::AddHOOps ( )
delete

Member Function Documentation

◆ add()

MoFEMErrorCode MoFEM::AddHOOps< 1, 3, 3 >::add ( boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &  pipeline,
std::vector< FieldSpace space,
std::string  geom_field_name = "" 
)
static

Add high-order operators to the pipeline for 1D edge elements in 3D.

Parameters
pipelinePipeline to add operators to
spaceVector of field spaces to be handled
geom_field_nameName of the geometry field (default: empty string)
Returns
MoFEMErrorCode Error code indicating success or failure
Note
This specialization handles Jacobian, determinant, and inverse Jacobian internally.

Definition at line 919 of file HODataOperators.cpp.

921 {
923
924 if (geom_field_name.empty()) {
925
926 } else {
927
928 pipeline.push_back(new OpCalculateHOCoords<3>(geom_field_name));
929 pipeline.push_back(new OpGetHOTangentsOnEdge<3>(geom_field_name));
930 }
931
932 for (auto s : spaces) {
933 switch (s) {
934 case HCURL:
935 pipeline.push_back(new OpHOSetContravariantPiolaTransformOnEdge3D(HCURL));
936 break;
937 default:
938 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
939 "Space %s not yet implemented", FieldSpaceNames[s]);
940 }
941 }
942
944}
@ HCURL
field with continuous tangents
Definition definitions.h:86
static const char *const FieldSpaceNames[]
Definition definitions.h:92
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
@ MOFEM_NOT_IMPLEMENTED
Definition definitions.h:32
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()

The documentation for this struct was generated from the following files: