v0.13.2
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE Struct Reference

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

Inheritance diagram for NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE:
[legend]
Collaboration diagram for NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE:
[legend]

Classes

struct  bCForce
 
struct  bCPressure
 

Public Types

enum  FORCES { CONSERVATIVE = 1 , NONCONSERVATIVE = 2 }
 
- Public Types inherited from MoFEM::ForcesAndSourcesCore
typedef boost::function< int(int order_row, int order_col, int order_data)> RuleHookFun
 
typedef boost::function< MoFEMErrorCode(ForcesAndSourcesCore *fe_raw_ptr, int order_row, int order_col, int order_data)> GaussHookFun
 
- Public Types inherited from MoFEM::KspMethod
enum  KSPContext { CTX_SETFUNCTION , CTX_OPERATORS , CTX_KSPNONE }
 pass information about context of KSP/DM for with finite element is computed More...
 
- Public Types inherited from MoFEM::PetscData
enum  DataContext {
  CTX_SET_NONE = 0 , CTX_SET_F = 1 << 0 , CTX_SET_A = 1 << 1 , CTX_SET_B = 1 << 2 ,
  CTX_SET_X = 1 << 3 , CTX_SET_X_T = 1 << 4 , CTX_SET_X_TT = 1 << 6 , CTX_SET_TIME = 1 << 7
}
 
using Switches = std::bitset< 8 >
 
- Public Types inherited from MoFEM::SnesMethod
enum  SNESContext { CTX_SNESSETFUNCTION , CTX_SNESSETJACOBIAN , CTX_SNESNONE }
 
- Public Types inherited from MoFEM::TSMethod
enum  TSContext {
  CTX_TSSETRHSFUNCTION , CTX_TSSETRHSJACOBIAN , CTX_TSSETIFUNCTION , CTX_TSSETIJACOBIAN ,
  CTX_TSTSMONITORSET , CTX_TSNONE
}
 

Public Member Functions

 MyTriangleSpatialFE (MoFEM::Interface &_mField, Mat _Aij, Vec &_F, double *scale_lhs, double *scale_rhs, std::string spatial_field_name="SPATIAL_POSITION", std::string mat_field_name="MESH_NODE_POSITIONS")
 
int getRule (int order)
 
virtual MoFEMErrorCode calcTraction ()
 
virtual MoFEMErrorCode rHs ()
 
virtual MoFEMErrorCode lHs ()
 
MoFEMErrorCode preProcess ()
 function is run at the beginning of loop More...
 
MoFEMErrorCode operator() ()
 function is run for every finite element More...
 
MoFEMErrorCode addForce (int ms_id)
 
MoFEMErrorCode addPressure (int ms_id)
 
DEPRECATED MoFEMErrorCode addPreassure (int ms_id)
 
MoFEMErrorCode reBaseToFaceLoocalCoordSystem (MatrixDouble &t_glob_nodal)
 
- Public Member Functions inherited from MoFEM::FaceElementForcesAndSourcesCore
MoFEMErrorCode operator() ()
 function is run for every finite element More...
 
 FaceElementForcesAndSourcesCore (Interface &m_field)
 
- Public Member Functions inherited from MoFEM::ForcesAndSourcesCore
 ForcesAndSourcesCore (Interface &m_field)
 
boost::ptr_deque< UserDataOperator > & getOpPtrVector ()
 Use to push back operator for row operator. More...
 
auto & getElementPolynomialBase ()
 Get the Entity Polynomial Base object. More...
 
auto & getUserPolynomialBase ()
 Get the User Polynomial Base object. More...
 
virtual MoFEMErrorCode preProcess ()
 function is run at the beginning of loop More...
 
virtual MoFEMErrorCode operator() ()
 function is run for every finite element More...
 
virtual MoFEMErrorCode postProcess ()
 function is run at the end of loop More...
 
int getMaxDataOrder () const
 Get max order of approximation for data fields. More...
 
int getMaxRowOrder () const
 Get max order of approximation for field in rows. More...
 
int getMaxColOrder () const
 Get max order of approximation for field in columns. More...
 
auto & getEntData (const FieldSpace space, const EntityType type, const int side)
 Get the entity data. More...
 
auto & getDataOnElementBySpaceArray ()
 Get data on entities and space. More...
 
auto & getDerivedDataOnElementBySpaceArray ()
 Get derived data on entities and space. More...
 
- Public Member Functions inherited from MoFEM::FEMethod
MoFEMErrorCode query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const
 
 FEMethod ()=default
 
auto getFEName () const
 get finite element name More...
 
auto getDataDofsPtr () const
 
auto getDataVectorDofsPtr () const
 
const FieldEntity_vector_viewgetDataFieldEnts () const
 
boost::shared_ptr< FieldEntity_vector_view > & getDataFieldEntsPtr () const
 
auto & getRowFieldEnts () const
 
auto & getRowFieldEntsPtr () const
 
auto & getColFieldEnts () const
 
auto & getColFieldEntsPtr () const
 
auto getRowDofsPtr () const
 
auto getColDofsPtr () const
 
auto getNumberOfNodes () const
 
EntityHandle getFEEntityHandle () const
 
MoFEMErrorCode getNodeData (const std::string field_name, VectorDouble &data, const bool reset_dofs=true)
 
- Public Member Functions inherited from MoFEM::BasicMethod
MoFEMErrorCode query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const
 
 BasicMethod ()
 
virtual ~BasicMethod ()=default
 
int getNinTheLoop () const
 get number of evaluated element in the loop More...
 
int getLoopSize () const
 get loop size More...
 
auto getLoHiFERank () const
 Get lo and hi processor rank of iterated entities. More...
 
auto getLoFERank () const
 Get upper rank in loop for iterating elements. More...
 
auto getHiFERank () const
 Get upper rank in loop for iterating elements. More...
 
unsigned int getFieldBitNumber (std::string field_name) const
 
MoFEMErrorCode copyBasicMethod (const BasicMethod &basic)
 Copy data from other base method to this base method. More...
 
virtual MoFEMErrorCode preProcess ()
 function is run at the beginning of loop More...
 
virtual MoFEMErrorCode operator() ()
 function is run for every finite element More...
 
virtual MoFEMErrorCode postProcess ()
 function is run at the end of loop More...
 
boost::weak_ptr< CacheTuplegetCacheWeakPtr () const
 Get the cache weak ptr object. More...
 
- Public Member Functions inherited from MoFEM::KspMethod
MoFEMErrorCode query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const
 
 KspMethod ()
 
virtual ~KspMethod ()=default
 
MoFEMErrorCode copyKsp (const KspMethod &ksp)
 copy data form another method More...
 
- Public Member Functions inherited from MoFEM::PetscData
MoFEMErrorCode query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const
 
 PetscData ()
 
virtual ~PetscData ()=default
 
MoFEMErrorCode copyPetscData (const PetscData &petsc_data)
 
- Public Member Functions inherited from MoFEM::UnknownInterface
virtual MoFEMErrorCode query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const =0
 
template<class IFACE >
MoFEMErrorCode registerInterface (bool error_if_registration_failed=true)
 Register interface. More...
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE *&iface) const
 Get interface refernce to pointer of interface. More...
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE **const iface) const
 Get interface pointer to pointer of interface. More...
 
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get interface pointer to pointer of interface. More...
 
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get reference to interface. More...
 
template<class IFACE >
IFACE * getInterface () const
 Function returning pointer to interface. More...
 
virtual ~UnknownInterface ()=default
 
- Public Member Functions inherited from MoFEM::SnesMethod
MoFEMErrorCode query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const
 
 SnesMethod ()
 
virtual ~SnesMethod ()=default
 
MoFEMErrorCode copySnes (const SnesMethod &snes)
 Copy snes data. More...
 
- Public Member Functions inherited from MoFEM::TSMethod
MoFEMErrorCode query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const
 
 TSMethod ()
 
virtual ~TSMethod ()=default
 
MoFEMErrorCode copyTs (const TSMethod &ts)
 Copy TS solver data. More...
 

Public Attributes

doublesCaleLhs
 
doublesCaleRhs
 
FORCES typeOfForces
 
const double eps
 
bool uSeF
 
bool spatialDisp
 
Mat Aij
 
Vec F
 
doubleN
 
doubleN_face
 
doubleN_edge [3]
 
doublediffN
 
doublediffN_face
 
doublediffN_edge [3]
 
int order_face
 
int order_edge [3]
 
doubledofs_x
 
doubledofs_x_edge [3]
 
doubledofs_x_face
 
doubleidofs_x
 
doubleidofs_x_edge [3]
 
doubleidofs_x_face
 
int * dofs_x_indices
 
int * dofs_x_edge_indices [3]
 
int * dofs_x_face_indices
 
int order_face_material
 
int order_edge_material [3]
 
doubledofs_X
 
doubledofs_X_edge [3]
 
doubledofs_X_face
 
doubleidofs_X
 
doubleidofs_X_edge [3]
 
doubleidofs_X_face
 
int * dofs_X_indices
 
VectorDouble tLoc
 
VectorDouble tGlob
 
MatrixDouble tLocNodal
 
MatrixDouble tGlobNodal
 
doublet_loc
 
ublas::vector< int > dOfs_x_indices
 
ublas::vector< int > dOfs_x_face_indices
 
ublas::vector< ublas::vector< int > > dOfs_x_edge_indices
 
ublas::vector< int > dOfs_X_indices
 
ublas::vector< int > dOfs_X_face_indices
 
ublas::vector< ublas::vector< int > > dOfs_X_edge_indices
 
VectorDouble dOfs_x
 
VectorDouble dOfs_x_face
 
ublas::vector< VectorDouble > dOfs_x_edge
 
VectorDouble dOfs_X
 
VectorDouble dOfs_X_face
 
ublas::vector< VectorDouble > dOfs_X_edge
 
VectorDouble fExtNode
 
VectorDouble fExtFace
 
ublas::vector< VectorDouble > fExtEdge
 
doubleFext_edge [3]
 
MatrixDouble kExtNodeNode
 
MatrixDouble kExtFaceNode
 
ublas::vector< MatrixDouble > kExtEdgeNode
 
doubleKext_edge_node [3]
 
MatrixDouble kExtNodeFace
 
MatrixDouble kExtFaceFace
 
ublas::vector< MatrixDouble > kExtEdgeFace
 
doubleKext_edge_face [3]
 
ublas::vector< MatrixDouble > kExtFaceEdge
 
ublas::vector< MatrixDouble > kExtNodeEdge
 
ublas::matrix< MatrixDouble > kExtEdgeEdge
 
doubleKext_node_edge [3]
 
doubleKext_face_edge [3]
 
doubleKext_edge_edge [3][3]
 
map< int, bCForcemapForce
 
map< int, bCPressuremapPressure
 
boost::ptr_vector< MethodForForceScalingmethodsOp
 
- Public Attributes inherited from MoFEM::FaceElementForcesAndSourcesCore
std::string meshPositionsFieldName
 
- Public Attributes inherited from MoFEM::ForcesAndSourcesCore
InterfacemField
 
RuleHookFun getRuleHook
 Hook to get rule. More...
 
GaussHookFun setRuleHook
 Set function to calculate integration rule. More...
 
MatrixDouble gaussPts
 Matrix of integration points. More...
 
- Public Attributes inherited from MoFEM::FEMethod
std::string feName
 Name of finite element. More...
 
boost::shared_ptr< const NumeredEntFiniteElementnumeredEntFiniteElementPtr
 
boost::function< bool(FEMethod *fe_method_ptr)> exeTestHook
 Tet if element to skip element. More...
 
- Public Attributes inherited from MoFEM::BasicMethod
int nInTheLoop
 number currently of processed method More...
 
int loopSize
 local number oe methods to process More...
 
std::pair< int, int > loHiFERank
 Llo and hi processor rank of iterated entities. More...
 
int rAnk
 processor rank More...
 
int sIze
 number of processors in communicator More...
 
const RefEntity_multiIndexrefinedEntitiesPtr
 container of mofem dof entities More...
 
const RefElement_multiIndexrefinedFiniteElementsPtr
 container of mofem finite element entities More...
 
const ProblemproblemPtr
 raw pointer to problem More...
 
const Field_multiIndexfieldsPtr
 raw pointer to fields container More...
 
const FieldEntity_multiIndexentitiesPtr
 raw pointer to container of field entities More...
 
const DofEntity_multiIndexdofsPtr
 raw pointer container of dofs More...
 
const FiniteElement_multiIndexfiniteElementsPtr
 raw pointer to container finite elements More...
 
const EntFiniteElement_multiIndexfiniteElementsEntitiesPtr
 
const FieldEntityEntFiniteElementAdjacencyMap_multiIndexadjacenciesPtr
 
boost::function< MoFEMErrorCode()> preProcessHook
 Hook function for pre-processing. More...
 
boost::function< MoFEMErrorCode()> postProcessHook
 Hook function for post-processing. More...
 
boost::function< MoFEMErrorCode()> operatorHook
 Hook function for operator. More...
 
boost::movelib::unique_ptr< boolvecAssembleSwitch
 
boost::movelib::unique_ptr< boolmatAssembleSwitch
 
boost::weak_ptr< CacheTuplecacheWeakPtr
 
- Public Attributes inherited from MoFEM::KspMethod
KSPContext ksp_ctx
 Context. More...
 
KSP ksp
 KSP solver. More...
 
Vec & ksp_f
 
Mat & ksp_A
 
Mat & ksp_B
 
- Public Attributes inherited from MoFEM::PetscData
Switches data_ctx
 
Vec f
 
Mat A
 
Mat B
 
Vec x
 
Vec x_t
 
Vec x_tt
 
- Public Attributes inherited from MoFEM::SnesMethod
SNESContext snes_ctx
 
SNES snes
 snes solver More...
 
Vec & snes_x
 state vector More...
 
Vec & snes_f
 residual More...
 
Mat & snes_A
 jacobian matrix More...
 
Mat & snes_B
 preconditioner of jacobian matrix More...
 
- Public Attributes inherited from MoFEM::TSMethod
TS ts
 time solver More...
 
TSContext ts_ctx
 
PetscInt ts_step
 time step number More...
 
PetscReal ts_a
 shift for U_t (see PETSc Time Solver) More...
 
PetscReal ts_aa
 shift for U_tt shift for U_tt More...
 
PetscReal ts_t
 time More...
 
PetscReal ts_dt
 time step size More...
 
Vec & ts_u
 state vector More...
 
Vec & ts_u_t
 time derivative of state vector More...
 
Vec & ts_u_tt
 second time derivative of state vector More...
 
Vec & ts_F
 residual vector More...
 
Mat & ts_A
 
Mat & ts_B
 Preconditioner for ts_A. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from MoFEM::UnknownInterface
static MoFEMErrorCode getLibVersion (Version &version)
 Get library version. More...
 
static MoFEMErrorCode getFileVersion (moab::Interface &moab, Version &version)
 Get database major version. More...
 
static MoFEMErrorCode setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD))
 Get database major version. More...
 
static MoFEMErrorCode getInterfaceVersion (Version &version)
 Get database major version. More...
 
- Static Public Attributes inherited from MoFEM::PetscData
static constexpr Switches CtxSetNone = PetscData::Switches(CTX_SET_NONE)
 
static constexpr Switches CtxSetF = PetscData::Switches(CTX_SET_F)
 
static constexpr Switches CtxSetA = PetscData::Switches(CTX_SET_A)
 
static constexpr Switches CtxSetB = PetscData::Switches(CTX_SET_B)
 
static constexpr Switches CtxSetX = PetscData::Switches(CTX_SET_X)
 
static constexpr Switches CtxSetX_T = PetscData::Switches(CTX_SET_X_T)
 
static constexpr Switches CtxSetX_TT = PetscData::Switches(CTX_SET_X_TT)
 
static constexpr Switches CtxSetTime = PetscData::Switches(CTX_SET_TIME)
 
- Protected Member Functions inherited from MoFEM::FaceElementForcesAndSourcesCore
virtual MoFEMErrorCode calculateAreaAndNormalAtIntegrationPts ()
 Calculate element area and normal of the face at integration points. More...
 
virtual MoFEMErrorCode calculateAreaAndNormal ()
 Calculate element area and normal of the face. More...
 
virtual MoFEMErrorCode setIntegrationPts ()
 Set integration points. More...
 
virtual MoFEMErrorCode getSpaceBaseAndOrderOnElement ()
 Determine approximation space and order of base functions. More...
 
virtual MoFEMErrorCode calculateCoordinatesAtGaussPts ()
 Calculate coordinate at integration points. More...
 
- Protected Member Functions inherited from MoFEM::ForcesAndSourcesCore
MoFEMErrorCode getEntitySense (const EntityType type, boost::ptr_vector< EntitiesFieldData::EntData > &data) const
 get sense (orientation) of entity More...
 
MoFEMErrorCode getEntityDataOrder (const EntityType type, const FieldSpace space, boost::ptr_vector< EntitiesFieldData::EntData > &data) const
 Get the entity data order. More...
 
template<EntityType type>
MoFEMErrorCode getEntitySense (EntitiesFieldData &data) const
 Get the entity sense (orientation) More...
 
template<EntityType type>
MoFEMErrorCode getEntityDataOrder (EntitiesFieldData &data, const FieldSpace space) const
 Get the entity data order for given space. More...
 
MoFEMErrorCode getFaceNodes (EntitiesFieldData &data) const
 Get nodes on faces. More...
 
MoFEMErrorCode getSpacesAndBaseOnEntities (EntitiesFieldData &data) const
 Get field approximation space and base on entities. More...
 
virtual int getRule (int order_row, int order_col, int order_data)
 another variant of getRule More...
 
virtual MoFEMErrorCode setGaussPts (int order_row, int order_col, int order_data)
 set user specific integration rule More...
 
MoFEMErrorCode calHierarchicalBaseFunctionsOnElement (const FieldApproximationBase b)
 Calculate base functions. More...
 
MoFEMErrorCode calHierarchicalBaseFunctionsOnElement ()
 Calculate base functions. More...
 
MoFEMErrorCode calBernsteinBezierBaseFunctionsOnElement ()
 Calculate Bernstein-Bezier base. More...
 
MoFEMErrorCode createDataOnElement (EntityType type)
 Create a entity data on element object. More...
 
MoFEMErrorCode loopOverOperators ()
 Iterate user data operators. More...
 
template<typename EXTRACTOR >
MoFEMErrorCode getNodesIndices (const int bit_number, FieldEntity_vector_view &ents_field, VectorInt &nodes_indices, VectorInt &local_nodes_indices, EXTRACTOR &&extractor) const
 get node indices More...
 
MoFEMErrorCode getRowNodesIndices (EntitiesFieldData &data, const int bit_number) const
 get row node indices from FENumeredDofEntity_multiIndex More...
 
MoFEMErrorCode getColNodesIndices (EntitiesFieldData &data, const int bit_number) const
 get col node indices from FENumeredDofEntity_multiIndex More...
 
template<typename EXTRACTOR >
MoFEMErrorCode getEntityIndices (EntitiesFieldData &data, const int bit_number, FieldEntity_vector_view &ents_field, const EntityType type_lo, const EntityType type_hi, EXTRACTOR &&extractor) const
 
MoFEMErrorCode getEntityRowIndices (EntitiesFieldData &data, const int bit_number, const EntityType type_lo=MBVERTEX, const EntityType type_hi=MBPOLYHEDRON) const
 
MoFEMErrorCode getEntityColIndices (EntitiesFieldData &data, const int bit_number, const EntityType type_lo=MBVERTEX, const EntityType type_hi=MBPOLYHEDRON) const
 
MoFEMErrorCode getNoFieldIndices (const int bit_number, boost::shared_ptr< FENumeredDofEntity_multiIndex > dofs, VectorInt &nodes_indices) const
 get NoField indices More...
 
MoFEMErrorCode getNoFieldRowIndices (EntitiesFieldData &data, const int bit_number) const
 get col NoField indices More...
 
MoFEMErrorCode getNoFieldColIndices (EntitiesFieldData &data, const int bit_number) const
 get col NoField indices More...
 
MoFEMErrorCode getBitRefLevelOnData ()
 
MoFEMErrorCode getNoFieldFieldData (const int bit_number, VectorDouble &ent_field_data, VectorDofs &ent_field_dofs, VectorFieldEntities &ent_field) const
 Get field data on nodes. More...
 
MoFEMErrorCode getNoFieldFieldData (EntitiesFieldData &data, const int bit_number) const
 
MoFEMErrorCode getNodesFieldData (EntitiesFieldData &data, const int bit_number) const
 Get data on nodes. More...
 
MoFEMErrorCode getEntityFieldData (EntitiesFieldData &data, const int bit_number, const EntityType type_lo=MBVERTEX, const EntityType type_hi=MBPOLYHEDRON) const
 
MoFEMErrorCode getProblemNodesIndices (const std::string &field_name, const NumeredDofEntity_multiIndex &dofs, VectorInt &nodes_indices) const
 get indices of nodal indices which are declared for problem but not this particular element More...
 
MoFEMErrorCode getProblemTypeIndices (const std::string &field_name, const NumeredDofEntity_multiIndex &dofs, EntityType type, int side_number, VectorInt &indices) const
 get indices by type (generic function) which are declared for problem but not this particular element More...
 
MoFEMErrorCode getProblemNodesRowIndices (const std::string &field_name, VectorInt &nodes_indices) const
 
MoFEMErrorCode getProblemTypeRowIndices (const std::string &field_name, EntityType type, int side_number, VectorInt &indices) const
 
MoFEMErrorCode getProblemNodesColIndices (const std::string &field_name, VectorInt &nodes_indices) const
 
MoFEMErrorCode getProblemTypeColIndices (const std::string &field_name, EntityType type, int side_number, VectorInt &indices) const
 
virtual MoFEMErrorCode setGaussPts (int order)
 
- Protected Attributes inherited from MoFEM::FaceElementForcesAndSourcesCore
double aRea
 
int num_nodes
 
const EntityHandleconn
 
VectorDouble nOrmal
 
VectorDouble tangentOne
 
VectorDouble tangentTwo
 
VectorDouble coords
 
MatrixDouble normalsAtGaussPts
 
MatrixDouble tangentOneAtGaussPts
 
MatrixDouble tangentTwoAtGaussPts
 
- Protected Attributes inherited from MoFEM::ForcesAndSourcesCore
const std::array< boost::shared_ptr< EntitiesFieldData >, LASTSPACEdataOnElement
 Entity data on element entity rows fields. More...
 
const std::array< boost::shared_ptr< EntitiesFieldData >, LASTSPACEderivedDataOnElement
 Entity data on element entity columns fields. More...
 
EntitiesFieldDatadataNoField
 
EntitiesFieldDatadataH1
 
EntitiesFieldDatadataHcurl
 
EntitiesFieldDatadataHdiv
 
EntitiesFieldDatadataL2
 
boost::ptr_deque< UserDataOperatoropPtrVector
 Vector of finite element users data operators. More...
 
EntityType lastEvaluatedElementEntityType
 Last evaluated type of element entity. More...
 
MatrixDouble coordsAtGaussPts
 coordinated at gauss points More...
 
double elementMeasure
 

Detailed Description

Definition at line 39 of file SurfacePressureComplexForLazy.hpp.

Member Enumeration Documentation

◆ FORCES

Constructor & Destructor Documentation

◆ MyTriangleSpatialFE()

NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::MyTriangleSpatialFE ( MoFEM::Interface _mField,
Mat  _Aij,
Vec &  _F,
double scale_lhs,
double scale_rhs,
std::string  spatial_field_name = "SPATIAL_POSITION",
std::string  mat_field_name = "MESH_NODE_POSITIONS" 
)

Definition at line 161 of file SurfacePressureComplexForLazy.cpp.

165 : FaceElementForcesAndSourcesCore(_mField), sCaleLhs(scale_lhs),
166 sCaleRhs(scale_rhs), typeOfForces(CONSERVATIVE), eps(1e-8), uSeF(false) {
167
168 meshPositionsFieldName = "NoNE";
169 methodsOp.clear();
170
171 Aij = _Aij;
172 F = _F;
173
174 snes_B = _Aij;
175 snes_f = _F;
176
177 if (mField.check_field(mat_field_name)) {
178 getOpPtrVector().push_back(new AuxMethodMaterial(
179 mat_field_name, this, ForcesAndSourcesCore::UserDataOperator::OPROW));
180 }
181 getOpPtrVector().push_back(new AuxMethodSpatial(
182 spatial_field_name, this, ForcesAndSourcesCore::UserDataOperator::OPROW));
183}
virtual bool check_field(const std::string &name) const =0
check if field is in database
#define _F(n)
Definition: quad.c:25
boost::ptr_deque< UserDataOperator > & getOpPtrVector()
Use to push back operator for row operator.
Vec & snes_f
residual
Mat & snes_B
preconditioner of jacobian matrix

Member Function Documentation

◆ addForce()

MoFEMErrorCode NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::addForce ( int  ms_id)

Definition at line 516 of file SurfacePressureComplexForLazy.cpp.

516 {
517 MeshsetsManager *mesh_manager_ptr;
518 const CubitMeshSets *cubit_meshset_ptr;
519
521 CHKERR mField.getInterface(mesh_manager_ptr);
522 CHKERR mesh_manager_ptr->getCubitMeshsetPtr(ms_id, NODESET,
523 &cubit_meshset_ptr);
524 CHKERR cubit_meshset_ptr->getBcDataStructure(mapForce[ms_id].data);
525 CHKERR mField.get_moab().get_entities_by_type(
526 cubit_meshset_ptr->meshset, MBTRI, mapForce[ms_id].tRis, true);
528}
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:447
@ NODESET
Definition: definitions.h:146
#define CHKERR
Inline error check.
Definition: definitions.h:535
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:440
MoFEMErrorCode getCubitMeshsetPtr(const int ms_id, const CubitBCType cubit_bc_type, const CubitMeshSets **cubit_meshset_ptr) const
get cubit meshset
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
Interface for managing meshsets containing materials and boundary conditions.
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface refernce to pointer of interface.

◆ addPreassure()

DEPRECATED MoFEMErrorCode NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::addPreassure ( int  ms_id)
inline

Definition at line 132 of file SurfacePressureComplexForLazy.hpp.

132 {
133 return addPressure(ms_id);
134 }

◆ addPressure()

MoFEMErrorCode NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::addPressure ( int  ms_id)

Definition at line 531 of file SurfacePressureComplexForLazy.cpp.

532 {
533 MeshsetsManager *mesh_manager_ptr;
534 const CubitMeshSets *cubit_meshset_ptr;
535
537 CHKERR mField.getInterface(mesh_manager_ptr);
538 CHKERR mesh_manager_ptr->getCubitMeshsetPtr(ms_id, SIDESET,
539 &cubit_meshset_ptr);
540 CHKERR cubit_meshset_ptr->getBcDataStructure(mapPressure[ms_id].data);
541 CHKERR mField.get_moab().get_entities_by_type(
542 cubit_meshset_ptr->meshset, MBTRI, mapPressure[ms_id].tRis, true);
544}
@ SIDESET
Definition: definitions.h:147

◆ calcTraction()

MoFEMErrorCode NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::calcTraction ( )
virtual

Definition at line 396 of file SurfacePressureComplexForLazy.cpp.

396 {
399 map<int, bCPressure>::iterator mip = mapPressure.begin();
400 tLoc.resize(3);
401 tLoc[0] = tLoc[1] = tLoc[2] = 0;
402 for (; mip != mapPressure.end(); mip++) {
403 if (mip->second.tRis.find(ent) != mip->second.tRis.end()) {
404 tLoc[2] -= mip->second.data.data.value1;
405 }
406 }
407 tLocNodal.resize(3, 3);
408 for (int nn = 0; nn < 3; nn++) {
409 for (int dd = 0; dd < 3; dd++) {
410 tLocNodal(nn, dd) = tLoc[dd];
411 }
412 }
413
414 map<int, bCForce>::iterator mif = mapForce.begin();
415 for (; mif != mapForce.end(); mif++) {
416 if (mif->second.tRis.find(ent) != mif->second.tRis.end()) {
417 tGlob.resize(3);
418 tGlob[0] = mif->second.data.data.value3;
419 tGlob[1] = mif->second.data.data.value4;
420 tGlob[2] = mif->second.data.data.value5;
421 tGlob *= mif->second.data.data.value1;
422 tGlobNodal.resize(3, 3);
423 for (int nn = 0; nn < 3; nn++) {
424 for (int dd = 0; dd < 3; dd++) {
425 tGlobNodal(nn, dd) = tGlob[dd];
426 }
427 }
430 }
431 }
432
433 VectorDouble scale(1, 1);
435 tLocNodal *= scale[0];
436
437 t_loc = &*tLocNodal.data().begin();
438
440}
const Tensor2_symmetric_Expr< const ddTensor0< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > dd(const Tensor0< T * > &a, const Index< i, Dim > index1, const Index< j, Dim > index2, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
Definition: ddTensor0.hpp:33
double scale
Definition: plastic.cpp:97
static MoFEMErrorCode applyScale(const FEMethod *fe, boost::ptr_vector< MethodForForceScaling > &methods_op, VectorDouble &nf)
boost::shared_ptr< const NumeredEntFiniteElement > numeredEntFiniteElementPtr
MoFEMErrorCode reBaseToFaceLoocalCoordSystem(MatrixDouble &t_glob_nodal)

◆ getRule()

int NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::getRule ( int  order)
inlinevirtual
Deprecated:
Use getRule(int row_order, int col_order, int data order)

Reimplemented from MoFEM::ForcesAndSourcesCore.

Definition at line 58 of file SurfacePressureComplexForLazy.hpp.

58{ return max(1, order); };

◆ lHs()

MoFEMErrorCode NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::lHs ( )
virtual

Definition at line 264 of file SurfacePressureComplexForLazy.cpp.

264 {
266
269 }
270
271 auto &dataH1 = *dataOnElement[H1];
272
273 double center[3];
274 tricircumcenter3d_tp(&coords.data()[0], &coords.data()[3], &coords.data()[6],
275 center, NULL, NULL);
276 cblas_daxpy(3, -1, &coords.data()[0], 1, center, 1);
277 double r = cblas_dnrm2(3, center, 1);
278
279 kExtNodeNode.resize(9, 9);
280 kExtEdgeNode.resize(3);
281 for (int ee = 0; ee < 3; ee++) {
282 kExtEdgeNode[ee].resize(dOfs_x_edge_indices[ee].size(), 9);
283 Kext_edge_node[ee] = &*kExtEdgeNode[ee].data().begin();
284 }
285 kExtFaceNode.resize(dOfs_x_face_indices.size(), 9);
289 &*kExtNodeNode.data().begin(), Kext_edge_node,
290 &*kExtFaceNode.data().begin(), gaussPts.size2(), &gaussPts(2, 0));
291 // cerr << kExtNodeNode << endl;
293 &*kExtNodeNode.data().begin(), ADD_VALUES);
295 dofs_x_indices, &*kExtFaceNode.data().begin(),
296 ADD_VALUES);
297 // cerr << kExtFaceNode << endl;
298 for (int ee = 0; ee < 3; ee++) {
299 // cerr << kExtEdgeNode[ee] << endl;
302 Kext_edge_node[ee], ADD_VALUES);
303 }
304
305 kExtNodeFace.resize(9, dOfs_x_face_indices.size());
306 kExtEdgeFace.resize(3);
307 for (int ee = 0; ee < 3; ee++) {
308 kExtEdgeFace[ee].resize(
309 dOfs_x_edge_indices[ee].size(),
310 dataH1.dataOnEntities[MBTRI][0].getIndices().size());
311 Kext_edge_face[ee] = &*kExtEdgeFace[ee].data().begin();
312 }
317 &*kExtNodeFace.data().begin(), Kext_edge_face,
318 &*kExtFaceFace.data().begin(), gaussPts.size2(), &gaussPts(2, 0));
319 // cerr << "kExtNodeFace " << kExtNodeFace << endl;
320 // cerr << "kExtFaceFace " << kExtFaceFace << endl;
322 dofs_x_face_indices, &*kExtNodeFace.data().begin(),
323 ADD_VALUES);
326 &*kExtFaceFace.data().begin(), ADD_VALUES);
327 for (int ee = 0; ee < 3; ee++) {
328 // cerr << "kExtEdgeFace " << kExtEdgeFace[ee] << endl;
331 dofs_x_face_indices, Kext_edge_face[ee], ADD_VALUES);
332 }
333
334 kExtFaceEdge.resize(3);
335 kExtNodeEdge.resize(3);
336 kExtEdgeEdge.resize(3, 3);
337 for (int ee = 0; ee < 3; ee++) {
338 if (dOfs_x_edge_indices[ee].size() !=
339 (unsigned int)(3 * NBEDGE_H1(order_edge[ee]))) {
340 SETERRQ(PETSC_COMM_SELF, 1, "data inconsistency");
341 }
342 kExtFaceEdge[ee].resize(dOfs_x_face_indices.size(),
343 dOfs_x_edge_indices[ee].size());
344 kExtNodeEdge[ee].resize(9, dOfs_x_edge_indices[ee].size());
345 Kext_node_edge[ee] = &*kExtNodeEdge[ee].data().begin();
346 Kext_face_edge[ee] = &*kExtFaceEdge[ee].data().begin();
347 for (int EE = 0; EE < 3; EE++) {
348 kExtEdgeEdge(EE, ee).resize(dOfs_x_edge_indices[EE].size(),
349 dOfs_x_edge_indices[ee].size());
350 Kext_edge_edge[EE][ee] = &*kExtEdgeEdge(EE, ee).data().begin();
351 }
352 }
357 &gaussPts(2, 0));
358 for (int ee = 0; ee < 3; ee++) {
360 kExtFaceEdge[ee].size2(), dofs_x_edge_indices[ee],
361 &*kExtFaceEdge[ee].data().begin(), ADD_VALUES);
364 &*kExtNodeEdge[ee].data().begin(), ADD_VALUES);
365 for (int EE = 0; EE < 3; EE++) {
366 CHKERR MatSetValues(snes_B, kExtEdgeEdge(EE, ee).size1(),
367 dofs_x_edge_indices[EE], kExtEdgeEdge(EE, ee).size2(),
369 ADD_VALUES);
370 }
371 }
372
374}
MoFEMErrorCode KExt_hh_hierarchical(double eps, int order, int *order_edge, double *N, double *N_face, double *N_edge[], double *diffN, double *diffN_face, double *diffN_edge[], double *t, double *t_edge[], double *t_face, double *dofs_x, double *dofs_x_edge[], double *dofs_x_face, double *KExt_hh, double *KExt_egdeh[3], double *KExt_faceh, int g_dim, const double *g_w)
MoFEMErrorCode KExt_hh_hierarchical_edge(double eps, int order, int *order_edge, double *N, double *N_face, double *N_edge[], double *diffN, double *diffN_face, double *diffN_edge[], double *t, double *t_edge[], double *t_face, double *dofs_x, double *dofs_x_edge[], double *dofs_x_face, double *Khext_edge[3], double *KExt_edgeegde[3][3], double *KExt_faceedge[3], int g_dim, const double *g_w)
MoFEMErrorCode KExt_hh_hierarchical_face(double eps, int order, int *order_edge, double *N, double *N_face, double *N_edge[], double *diffN, double *diffN_face, double *diffN_edge[], double *t, double *t_edge[], double *t_face, double *dofs_x, double *dofs_x_edge[], double *dofs_x_face, double *KExt_hface, double *KExt_egdeface[3], double *KExt_faceface, int g_dim, const double *g_w)
@ H1
continuous field
Definition: definitions.h:85
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
#define NBEDGE_H1(P)
Numer of base function on edge for H1 space.
MoFEMErrorCode MatSetValues(Mat M, const EntitiesFieldData::EntData &row_data, const EntitiesFieldData::EntData &col_data, const double *ptr, InsertMode iora)
Assemble PETSc matrix.
int r
Definition: sdf.py:5
std::array< boost::ptr_vector< EntData >, MBMAXTYPE > dataOnEntities
const std::array< boost::shared_ptr< EntitiesFieldData >, LASTSPACE > dataOnElement
Entity data on element entity rows fields.
MatrixDouble gaussPts
Matrix of integration points.
void tricircumcenter3d_tp(a, b, c, circumcenter, double *xi, double *eta)

◆ operator()()

MoFEMErrorCode NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::operator() ( )
virtual

function is run for every finite element

It is used to calculate element local matrices and assembly. It can be used for post-processing.

Reimplemented from MoFEM::FaceElementForcesAndSourcesCore.

Definition at line 460 of file SurfacePressureComplexForLazy.cpp.

461 {
463
464 {
465
466 {
467
468 dofs_X = &*coords.data().begin();
469 for (int ee = 0; ee < 3; ee++) {
470 dofs_X_edge[ee] = NULL;
471 idofs_X_edge[ee] = NULL;
472 order_edge_material[ee] = 0;
473 }
474 dofs_X_face = NULL;
475 idofs_X_face = NULL;
477
478 dofs_x = &*coords.data().begin();
479 idofs_x = NULL;
480 for (int ee = 0; ee < 3; ee++) {
481 order_edge[ee] = 0;
482 N_edge[ee] = NULL;
483 diffN_edge[ee] = NULL;
484 dofs_x_edge[ee] = NULL;
485 idofs_x_edge[ee] = NULL;
486 }
487 order_face = 0;
488 N_face = NULL;
489 diffN_face = NULL;
490 dofs_x_face = NULL;
491 idofs_x_face = NULL;
492 }
493
494 CHKERR FaceElementForcesAndSourcesCore::operator()();
496
497 switch (snes_ctx) {
498 case CTX_SNESNONE:
499 case CTX_SNESSETFUNCTION: {
501 // cerr << "sCaleRhs " << *sCaleRhs << endl;
502 // cerr << tLocNodal << endl;
503 CHKERR rHs();
504 } break;
505 case CTX_SNESSETJACOBIAN: {
507 CHKERR lHs();
508 } break;
509 }
510 }
511
513}
SNESContext snes_ctx

◆ preProcess()

MoFEMErrorCode NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::preProcess ( )
virtual

function is run at the beginning of loop

It is used to zeroing matrices and vectors, calculation of shape functions on reference element, preprocessing boundary conditions, etc.

Reimplemented from MoFEM::ForcesAndSourcesCore.

Definition at line 443 of file SurfacePressureComplexForLazy.cpp.

443 {
445
446 CHKERR PetscOptionsBegin(mField.get_comm(), "",
447 "Surface Pressure (complex for lazy)", "none");
448 PetscBool is_conservative = PETSC_TRUE;
449 CHKERR PetscOptionsBool("-is_conservative_force", "is conservative force", "",
450 PETSC_TRUE, &is_conservative, PETSC_NULL);
451 if (is_conservative == PETSC_FALSE) {
453 }
454 ierr = PetscOptionsEnd();
455 CHKERRG(ierr);
456
458}
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
Definition: definitions.h:483
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Exceptions.hpp:76
virtual MPI_Comm & get_comm() const =0

◆ reBaseToFaceLoocalCoordSystem()

MoFEMErrorCode NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::reBaseToFaceLoocalCoordSystem ( MatrixDouble &  t_glob_nodal)

Definition at line 376 of file SurfacePressureComplexForLazy.cpp.

377 {
379 double s1[3], s2[3], normal[3], q[9];
380 CHKERR ShapeFaceBaseMBTRI(diffN, &*coords.data().begin(), normal, s1, s2);
381 double nrm2_normal = cblas_dnrm2(3, normal, 1);
382 cblas_dscal(3, 1. / nrm2_normal, normal, 1);
383 cblas_dcopy(3, s1, 1, &q[0], 1);
384 cblas_dcopy(3, s2, 1, &q[3], 1);
385 cblas_dcopy(3, normal, 1, &q[6], 1);
386 __CLPK_integer info;
387 __CLPK_integer ipiv[3];
388 info = lapack_dgesv(3, 3, q, 3, ipiv, &*t_glob_nodal.data().begin(), 3);
389 if (info != 0) {
390 SETERRQ1(PETSC_COMM_SELF, 1, "error solve dgesv info = %d", info);
391 }
393}
PetscErrorCode ShapeFaceBaseMBTRI(double *diffN, const double *coords, double *normal, double *s1, double *s2)
Definition: fem_tools.c:204
static __CLPK_integer lapack_dgesv(__CLPK_integer n, __CLPK_integer nrhs, __CLPK_doublereal *a, __CLPK_integer lda, __CLPK_integer *ipiv, __CLPK_doublereal *b, __CLPK_integer ldb)
Definition: lapack_wrap.h:176
long int __CLPK_integer
Definition: lapack_wrap.h:23

◆ rHs()

MoFEMErrorCode NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::rHs ( )
virtual

Definition at line 185 of file SurfacePressureComplexForLazy.cpp.

185 {
187
188 auto &dataH1 = *dataOnElement[H1];
189
190 fExtNode.resize(9);
191 fExtFace.resize(dataH1.dataOnEntities[MBTRI][0].getFieldData().size());
192 fExtEdge.resize(3);
193 for (int ee = 0; ee < 3; ee++) {
194 int nb_edge_dofs = dOfs_x_edge_indices[ee].size();
195 if (nb_edge_dofs > 0) {
196 fExtEdge[ee].resize(nb_edge_dofs);
197 Fext_edge[ee] = &*fExtEdge[ee].data().begin();
198 } else {
199 Fext_edge[ee] = NULL;
200 }
201 }
202
203 switch (typeOfForces) {
204 case CONSERVATIVE:
208 t_loc, NULL, NULL, // 11
210 NULL, NULL, NULL, // 17
211 &*fExtNode.data().begin(), Fext_edge, &*fExtFace.data().begin(), // 20
212 NULL, NULL, NULL, // 23
213 gaussPts.size2(), &gaussPts(2, 0));
214 break;
215 case NONCONSERVATIVE:
216 for (int ee = 0; ee < 3; ee++) {
217 dOfs_X_edge.resize(3);
218 unsigned int s = dOfs_X_edge[ee].size();
219 dOfs_X_edge[ee].resize(dOfs_x_edge[ee].size(), true);
220 for (; s < dOfs_X_edge[ee].size(); s++) {
221 dOfs_X_edge[ee][s] = 0;
222 }
223 dofs_X_edge[ee] = &*dOfs_X_edge[ee].data().begin();
224 }
225 unsigned int s = dOfs_X_face.size();
226 dOfs_X_face.resize(dOfs_x_face.size(), true);
227 for (; s < dOfs_X_face.size(); s++) {
228 dOfs_X_face[s] = 0;
229 }
230 dofs_X_face = &*dOfs_X_face.data().begin();
231
235 t_loc, NULL, NULL, // 11
237 NULL, NULL, NULL, // 17
238 &*fExtNode.data().begin(), Fext_edge, &*fExtFace.data().begin(), // 20
239 NULL, NULL, NULL, // 23
240 gaussPts.size2(), &gaussPts(2, 0));
241 break;
242 }
243
244 Vec f = snes_f;
245 if (uSeF)
246 f = F;
247
248 CHKERR VecSetValues(f, 9, dofs_x_indices, &*fExtNode.data().begin(),
249 ADD_VALUES);
250 if (dOfs_x_face_indices.size() > 0) {
252 &*fExtFace.data().begin(), ADD_VALUES);
253 }
254 for (int ee = 0; ee < 3; ee++) {
255 if (dOfs_x_edge_indices[ee].size() > 0) {
257 dofs_x_edge_indices[ee], Fext_edge[ee], ADD_VALUES);
258 }
259 }
260
262}
MoFEMErrorCode Fext_h_hierarchical(int order, int *order_edge, double *N, double *N_face, double *N_edge[], double *diffN, double *diffN_face, double *diffN_edge[], double *t, double *t_edge[], double *t_face, double *dofs_x, double *dofs_x_edge[], double *dofs_x_face, double *idofs_x, double *idofs_x_edge[], double *idofs_x_face, double *Fext, double *Fext_egde[], double *Fext_face, double *iFext, double *iFext_egde[], double *iFext_face, int g_dim, const double *g_w)
const FTensor::Tensor2< T, Dim, Dim > Vec
MoFEMErrorCode VecSetValues(Vec V, const EntitiesFieldData::EntData &data, const double *ptr, InsertMode iora)
Assemble PETSc vector.

Member Data Documentation

◆ Aij

Mat NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Aij

Definition at line 50 of file SurfacePressureComplexForLazy.hpp.

◆ diffN

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::diffN

Definition at line 63 of file SurfacePressureComplexForLazy.hpp.

◆ diffN_edge

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::diffN_edge[3]

Definition at line 65 of file SurfacePressureComplexForLazy.hpp.

◆ diffN_face

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::diffN_face

Definition at line 64 of file SurfacePressureComplexForLazy.hpp.

◆ dofs_x

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_x

Definition at line 69 of file SurfacePressureComplexForLazy.hpp.

◆ dofs_X

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_X

Definition at line 81 of file SurfacePressureComplexForLazy.hpp.

◆ dOfs_x

VectorDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_x

Definition at line 99 of file SurfacePressureComplexForLazy.hpp.

◆ dOfs_X

VectorDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_X

Definition at line 101 of file SurfacePressureComplexForLazy.hpp.

◆ dofs_x_edge

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_x_edge[3]

Definition at line 70 of file SurfacePressureComplexForLazy.hpp.

◆ dofs_X_edge

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_X_edge[3]

Definition at line 82 of file SurfacePressureComplexForLazy.hpp.

◆ dOfs_x_edge

ublas::vector<VectorDouble> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_x_edge

Definition at line 100 of file SurfacePressureComplexForLazy.hpp.

◆ dOfs_X_edge

ublas::vector<VectorDouble> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_X_edge

Definition at line 102 of file SurfacePressureComplexForLazy.hpp.

◆ dofs_x_edge_indices

int* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_x_edge_indices[3]

Definition at line 76 of file SurfacePressureComplexForLazy.hpp.

◆ dOfs_x_edge_indices

ublas::vector<ublas::vector<int> > NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_x_edge_indices

Definition at line 95 of file SurfacePressureComplexForLazy.hpp.

◆ dOfs_X_edge_indices

ublas::vector<ublas::vector<int> > NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_X_edge_indices

Definition at line 97 of file SurfacePressureComplexForLazy.hpp.

◆ dofs_x_face

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_x_face

Definition at line 71 of file SurfacePressureComplexForLazy.hpp.

◆ dofs_X_face

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_X_face

Definition at line 83 of file SurfacePressureComplexForLazy.hpp.

◆ dOfs_x_face

VectorDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_x_face

Definition at line 99 of file SurfacePressureComplexForLazy.hpp.

◆ dOfs_X_face

VectorDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_X_face

Definition at line 101 of file SurfacePressureComplexForLazy.hpp.

◆ dofs_x_face_indices

int* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_x_face_indices

Definition at line 77 of file SurfacePressureComplexForLazy.hpp.

◆ dOfs_x_face_indices

ublas::vector<int> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_x_face_indices

Definition at line 94 of file SurfacePressureComplexForLazy.hpp.

◆ dOfs_X_face_indices

ublas::vector<int> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_X_face_indices

Definition at line 96 of file SurfacePressureComplexForLazy.hpp.

◆ dofs_x_indices

int* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_x_indices

Definition at line 75 of file SurfacePressureComplexForLazy.hpp.

◆ dofs_X_indices

int* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_X_indices

Definition at line 88 of file SurfacePressureComplexForLazy.hpp.

◆ dOfs_x_indices

ublas::vector<int> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_x_indices

Definition at line 94 of file SurfacePressureComplexForLazy.hpp.

◆ dOfs_X_indices

ublas::vector<int> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_X_indices

Definition at line 96 of file SurfacePressureComplexForLazy.hpp.

◆ eps

const double NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::eps

Definition at line 46 of file SurfacePressureComplexForLazy.hpp.

◆ F

Vec NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::F

Definition at line 51 of file SurfacePressureComplexForLazy.hpp.

◆ Fext_edge

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Fext_edge[3]

Definition at line 106 of file SurfacePressureComplexForLazy.hpp.

◆ fExtEdge

ublas::vector<VectorDouble> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::fExtEdge

Definition at line 105 of file SurfacePressureComplexForLazy.hpp.

◆ fExtFace

VectorDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::fExtFace

Definition at line 104 of file SurfacePressureComplexForLazy.hpp.

◆ fExtNode

VectorDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::fExtNode

Definition at line 104 of file SurfacePressureComplexForLazy.hpp.

◆ idofs_x

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::idofs_x

Definition at line 72 of file SurfacePressureComplexForLazy.hpp.

◆ idofs_X

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::idofs_X

Definition at line 84 of file SurfacePressureComplexForLazy.hpp.

◆ idofs_x_edge

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::idofs_x_edge[3]

Definition at line 73 of file SurfacePressureComplexForLazy.hpp.

◆ idofs_X_edge

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::idofs_X_edge[3]

Definition at line 85 of file SurfacePressureComplexForLazy.hpp.

◆ idofs_x_face

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::idofs_x_face

Definition at line 74 of file SurfacePressureComplexForLazy.hpp.

◆ idofs_X_face

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::idofs_X_face

Definition at line 86 of file SurfacePressureComplexForLazy.hpp.

◆ Kext_edge_edge

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Kext_edge_edge[3][3]

Definition at line 120 of file SurfacePressureComplexForLazy.hpp.

◆ Kext_edge_face

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Kext_edge_face[3]

Definition at line 114 of file SurfacePressureComplexForLazy.hpp.

◆ Kext_edge_node

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Kext_edge_node[3]

Definition at line 110 of file SurfacePressureComplexForLazy.hpp.

◆ Kext_face_edge

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Kext_face_edge[3]

Definition at line 119 of file SurfacePressureComplexForLazy.hpp.

◆ Kext_node_edge

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Kext_node_edge[3]

Definition at line 118 of file SurfacePressureComplexForLazy.hpp.

◆ kExtEdgeEdge

ublas::matrix<MatrixDouble> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtEdgeEdge

Definition at line 117 of file SurfacePressureComplexForLazy.hpp.

◆ kExtEdgeFace

ublas::vector<MatrixDouble> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtEdgeFace

Definition at line 113 of file SurfacePressureComplexForLazy.hpp.

◆ kExtEdgeNode

ublas::vector<MatrixDouble> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtEdgeNode

Definition at line 109 of file SurfacePressureComplexForLazy.hpp.

◆ kExtFaceEdge

ublas::vector<MatrixDouble> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtFaceEdge

Definition at line 116 of file SurfacePressureComplexForLazy.hpp.

◆ kExtFaceFace

MatrixDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtFaceFace

Definition at line 112 of file SurfacePressureComplexForLazy.hpp.

◆ kExtFaceNode

MatrixDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtFaceNode

Definition at line 108 of file SurfacePressureComplexForLazy.hpp.

◆ kExtNodeEdge

ublas::vector<MatrixDouble> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtNodeEdge

Definition at line 116 of file SurfacePressureComplexForLazy.hpp.

◆ kExtNodeFace

MatrixDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtNodeFace

Definition at line 112 of file SurfacePressureComplexForLazy.hpp.

◆ kExtNodeNode

MatrixDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtNodeNode

Definition at line 108 of file SurfacePressureComplexForLazy.hpp.

◆ mapForce

map<int, bCForce> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::mapForce

Definition at line 140 of file SurfacePressureComplexForLazy.hpp.

◆ mapPressure

map<int, bCPressure> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::mapPressure

Definition at line 145 of file SurfacePressureComplexForLazy.hpp.

◆ methodsOp

boost::ptr_vector<MethodForForceScaling> NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::methodsOp

Definition at line 148 of file SurfacePressureComplexForLazy.hpp.

◆ N

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::N

Definition at line 60 of file SurfacePressureComplexForLazy.hpp.

◆ N_edge

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::N_edge[3]

Definition at line 62 of file SurfacePressureComplexForLazy.hpp.

◆ N_face

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::N_face

Definition at line 61 of file SurfacePressureComplexForLazy.hpp.

◆ order_edge

int NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::order_edge[3]

Definition at line 68 of file SurfacePressureComplexForLazy.hpp.

◆ order_edge_material

int NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::order_edge_material[3]

Definition at line 80 of file SurfacePressureComplexForLazy.hpp.

◆ order_face

int NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::order_face

Definition at line 67 of file SurfacePressureComplexForLazy.hpp.

◆ order_face_material

int NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::order_face_material

Definition at line 79 of file SurfacePressureComplexForLazy.hpp.

◆ sCaleLhs

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::sCaleLhs

Definition at line 41 of file SurfacePressureComplexForLazy.hpp.

◆ sCaleRhs

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::sCaleRhs

Definition at line 42 of file SurfacePressureComplexForLazy.hpp.

◆ spatialDisp

bool NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::spatialDisp

Definition at line 48 of file SurfacePressureComplexForLazy.hpp.

◆ t_loc

double* NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::t_loc

Definition at line 92 of file SurfacePressureComplexForLazy.hpp.

◆ tGlob

VectorDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::tGlob

Definition at line 90 of file SurfacePressureComplexForLazy.hpp.

◆ tGlobNodal

MatrixDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::tGlobNodal

Definition at line 91 of file SurfacePressureComplexForLazy.hpp.

◆ tLoc

VectorDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::tLoc

Definition at line 90 of file SurfacePressureComplexForLazy.hpp.

◆ tLocNodal

MatrixDouble NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::tLocNodal

Definition at line 91 of file SurfacePressureComplexForLazy.hpp.

◆ typeOfForces

FORCES NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::typeOfForces

Definition at line 45 of file SurfacePressureComplexForLazy.hpp.

◆ uSeF

bool NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::uSeF

Definition at line 47 of file SurfacePressureComplexForLazy.hpp.


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