v0.15.5
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 741 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 1006 of file HODataOperators.cpp.

1008 {
1010
1011 if (geom_field_name.empty()) {
1012
1013 } else {
1014
1015 pipeline.push_back(new OpCalculateHOCoords<3>(geom_field_name));
1016 pipeline.push_back(new OpGetHOTangentsOnEdge<3>(geom_field_name));
1017 }
1018
1019 for (auto s : spaces) {
1020 switch (s) {
1021 case HCURL:
1022 pipeline.push_back(new OpHOSetContravariantPiolaTransformOnEdge3D(HCURL));
1023 break;
1024 default:
1025 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
1026 "Space %s not yet implemented", FieldSpaceNames[s]);
1027 }
1028 }
1029
1031}
@ 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: