v0.14.0
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:
[legend]

Classes

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

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

Detailed Description

Force on edges and lines.

Examples
nonlinear_dynamics.cpp.

Definition at line 13 of file EdgeForce.hpp.

Constructor & Destructor Documentation

◆ EdgeForce()

EdgeForce::EdgeForce ( MoFEM::Interface m_field)
inline

Definition at line 16 of file EdgeForce.hpp.

16 : mField(m_field), fe(m_field, 1) {}

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));
107 }

◆ getLoopFe()

MyFE& EdgeForce::getLoopFe ( )
inline

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:
MoFEM::UnknownInterface::getInterface
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface refernce to pointer of interface.
Definition: UnknownInterface.hpp:93
EdgeForce::methodsOp
boost::ptr_vector< MethodForForceScaling > methodsOp
Definition: EdgeForce.hpp:34
MoFEM::CubitMeshSets
this struct keeps basic methods for moab meshset about material and boundary conditions
Definition: BCMultiIndices.hpp:19
MoFEM::CubitMeshSets::getBcDataStructure
MoFEMErrorCode getBcDataStructure(CUBIT_BC_DATA_TYPE &data) const
Definition: BCMultiIndices.hpp:296
NODESET
@ NODESET
Definition: definitions.h:146
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:535
MoFEM::CoreInterface::get_moab
virtual moab::Interface & get_moab()=0
EdgeForce::fe
MyFE fe
Definition: EdgeForce.hpp:25
MoFEM::CubitMeshSets::meshset
EntityHandle meshset
Definition: BCMultiIndices.hpp:21
field_name
constexpr auto field_name
Definition: poisson_2d_homogeneous.cpp:13
EdgeForce::mField
MoFEM::Interface & mField
Definition: EdgeForce.hpp:15
MoFEM::ForcesAndSourcesCore::getOpPtrVector
boost::ptr_deque< UserDataOperator > & getOpPtrVector()
Use to push back operator for row operator.
Definition: ForcesAndSourcesCore.hpp:83
MoFEM::MeshsetsManager
Interface for managing meshsets containing materials and boundary conditions.
Definition: MeshsetsManager.hpp:104
MoFEM::MeshsetsManager::getCubitMeshsetPtr
MoFEMErrorCode getCubitMeshsetPtr(const int ms_id, const CubitBCType cubit_bc_type, const CubitMeshSets **cubit_meshset_ptr) const
get cubit meshset
Definition: MeshsetsManager.cpp:575
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
EdgeForce::mapForce
std::map< int, bCForce > mapForce
Definition: EdgeForce.hpp:32
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346
F
@ F
Definition: free_surface.cpp:394