No Matches
Classes | Public Member Functions | Public Attributes | List of all members
EdgeForce Struct Reference

Force on edges and lines. More...

#include <users_modules/basic_finite_elements/src/EdgeForce.hpp>

Collaboration diagram for EdgeForce:


struct  bCForce
struct  MyFE
struct  OpEdgeForce

Public Member Functions

 EdgeForce (MoFEM::Interface &m_field)
MyFEgetLoopFe ()
MoFEMErrorCode addForce (const std::string field_name, Vec F, int ms_id, bool use_snes_f=false)

Public Attributes

MyFE fe
std::map< int, bCForcemapForce
boost::ptr_vector< MethodForForceScalingmethodsOp

Detailed Description

Force on edges and lines.


Definition at line 13 of file EdgeForce.hpp.

Constructor & Destructor Documentation

◆ EdgeForce()

EdgeForce::EdgeForce ( MoFEM::Interface m_field)

Definition at line 16 of file EdgeForce.hpp.

16: mField(m_field), fe(m_field, 1) {}
MoFEM::Interface & mField
Definition: EdgeForce.hpp:15

Member Function Documentation

◆ addForce()

MoFEMErrorCode EdgeForce::addForce ( const std::string  field_name,
Vec  F,
int  ms_id,
bool  use_snes_f = false 

Definition at line 93 of file EdgeForce.cpp.

94 {
95 const CubitMeshSets *cubit_meshset_ptr;
96 MeshsetsManager *mmanager_ptr;
98 CHKERR mField.getInterface(mmanager_ptr);
99 CHKERR mmanager_ptr->getCubitMeshsetPtr(ms_id, NODESET, &cubit_meshset_ptr);
100 CHKERR cubit_meshset_ptr->getBcDataStructure(mapForce[ms_id].data);
101 CHKERR mField.get_moab().get_entities_by_type(
102 cubit_meshset_ptr->meshset, MBEDGE, mapForce[ms_id].eDges, true);
103 // Add operator for element, set data and entities operating on the data
104 fe.getOpPtrVector().push_back(
105 new OpEdgeForce(field_name, F, mapForce[ms_id], methodsOp, use_snes_f));
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346
Definition: definitions.h:146
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
#define CHKERR
Inline error check.
Definition: definitions.h:535
@ F
MoFEMErrorCode getCubitMeshsetPtr(const int ms_id, const CubitBCType cubit_bc_type, const CubitMeshSets **cubit_meshset_ptr) const
get cubit meshset
constexpr auto field_name
boost::ptr_vector< MethodForForceScaling > methodsOp
Definition: EdgeForce.hpp:34
std::map< int, bCForce > mapForce
Definition: EdgeForce.hpp:32
virtual moab::Interface & get_moab()=0
this struct keeps basic methods for moab meshset about material and boundary conditions
MoFEMErrorCode getBcDataStructure(CUBIT_BC_DATA_TYPE &data) const
boost::ptr_deque< UserDataOperator > & getOpPtrVector()
Use to push back operator for row operator.
Interface for managing meshsets containing materials and boundary conditions.
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface refernce to pointer of interface.

◆ getLoopFe()

MyFE & EdgeForce::getLoopFe ( )

Definition at line 26 of file EdgeForce.hpp.

26{ return fe; }

Member Data Documentation

◆ fe

MyFE EdgeForce::fe

Definition at line 25 of file EdgeForce.hpp.

◆ mapForce

std::map<int, bCForce> EdgeForce::mapForce

Definition at line 32 of file EdgeForce.hpp.

◆ methodsOp

boost::ptr_vector<MethodForForceScaling> EdgeForce::methodsOp

Definition at line 34 of file EdgeForce.hpp.

◆ mField

MoFEM::Interface& EdgeForce::mField

Definition at line 15 of file EdgeForce.hpp.

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