v0.14.0
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
 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 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
 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...
 
boost::weak_ptr< CacheTuplegetCacheWeakPtr () const
 Get the cache weak ptr object. More...
 
- Public Member Functions inherited from MoFEM::KspMethod
 KspMethod ()
 
virtual ~KspMethod ()=default
 
MoFEMErrorCode copyKsp (const KspMethod &ksp)
 copy data form another method More...
 
- Public Member Functions inherited from MoFEM::PetscData
 PetscData ()
 
virtual ~PetscData ()=default
 
MoFEMErrorCode copyPetscData (const PetscData &petsc_data)
 
- Public Member Functions inherited from MoFEM::UnknownInterface
template<class IFACE >
MoFEMErrorCode registerInterface (bool error_if_registration_failed=true)
 Register interface. More...
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE *&iface) const
 Get interface reference 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
 SnesMethod ()
 
virtual ~SnesMethod ()=default
 
MoFEMErrorCode copySnes (const SnesMethod &snes)
 Copy snes data. More...
 
- Public Member Functions inherited from MoFEM::TSMethod
 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
doubleaRea
 
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

Enumerator
CONSERVATIVE 
NONCONSERVATIVE 

Definition at line 43 of file SurfacePressureComplexForLazy.hpp.

43 { CONSERVATIVE = 1, NONCONSERVATIVE = 2 };

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 }

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 }

◆ 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 }

◆ 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 }

◆ 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 
267  if (typeOfForces == NONCONSERVATIVE) {
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;
300  CHKERR MatSetValues(snes_B, kExtEdgeNode[ee].size1(),
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;
329  CHKERR MatSetValues(snes_B, kExtEdgeFace[ee].size1(),
330  dofs_x_edge_indices[ee], kExtFaceFace.size2(),
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(),
368  dofs_x_edge_indices[ee], Kext_edge_edge[EE][ee],
369  ADD_VALUES);
370  }
371  }
372 
374 }

◆ 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 461 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: {
500  tLocNodal *= *sCaleRhs;
501  // cerr << "sCaleRhs " << *sCaleRhs << endl;
502  // cerr << tLocNodal << endl;
503  CHKERR rHs();
504  } break;
505  case CTX_SNESSETJACOBIAN: {
506  tLocNodal *= *sCaleLhs;
507  CHKERR lHs();
508  } break;
509  }
510  }
511 
513 }

◆ 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 }

◆ reBaseToFaceLoocalCoordSystem()

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

Definition at line 377 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 }

◆ 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:
206  order_face, order_edge, // 2
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 
233  order_face, order_edge, // 2
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 }

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 58 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:
MoFEMFunctionReturnHot
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:460
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::idofs_x_face
double * idofs_x_face
Definition: SurfacePressureComplexForLazy.hpp:74
MoFEM::UnknownInterface::getInterface
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface reference to pointer of interface.
Definition: UnknownInterface.hpp:93
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::diffN_face
double * diffN_face
Definition: SurfacePressureComplexForLazy.hpp:64
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::lHs
virtual MoFEMErrorCode lHs()
Definition: SurfacePressureComplexForLazy.cpp:264
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::calcTraction
virtual MoFEMErrorCode calcTraction()
Definition: SurfacePressureComplexForLazy.cpp:396
SIDESET
@ SIDESET
Definition: definitions.h:160
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::order_face
int order_face
Definition: SurfacePressureComplexForLazy.hpp:67
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_x_face
double * dofs_x_face
Definition: SurfacePressureComplexForLazy.hpp:71
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtNodeEdge
ublas::vector< MatrixDouble > kExtNodeEdge
Definition: SurfacePressureComplexForLazy.hpp:116
H1
@ H1
continuous field
Definition: definitions.h:85
MoFEM::MatSetValues
MoFEMErrorCode MatSetValues(Mat M, const EntitiesFieldData::EntData &row_data, const EntitiesFieldData::EntData &col_data, const double *ptr, InsertMode iora)
Assemble PETSc matrix.
Definition: EntitiesFieldData.hpp:1644
NBEDGE_H1
#define NBEDGE_H1(P)
Number of base function on edge for H1 space.
Definition: h1_hdiv_hcurl_l2.h:55
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_X_face
VectorDouble dOfs_X_face
Definition: SurfacePressureComplexForLazy.hpp:101
EntityHandle
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_x_face_indices
int * dofs_x_face_indices
Definition: SurfacePressureComplexForLazy.hpp:77
MoFEM::FaceElementForcesAndSourcesCore::meshPositionsFieldName
std::string meshPositionsFieldName
Definition: FaceElementForcesAndSourcesCore.hpp:29
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Kext_edge_node
double * Kext_edge_node[3]
Definition: SurfacePressureComplexForLazy.hpp:110
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::sCaleLhs
double * sCaleLhs
Definition: SurfacePressureComplexForLazy.hpp:41
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::rHs
virtual MoFEMErrorCode rHs()
Definition: SurfacePressureComplexForLazy.cpp:185
MoFEM::CoreInterface::get_comm
virtual MPI_Comm & get_comm() const =0
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_X_edge
ublas::vector< VectorDouble > dOfs_X_edge
Definition: SurfacePressureComplexForLazy.hpp:102
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtFaceEdge
ublas::vector< MatrixDouble > kExtFaceEdge
Definition: SurfacePressureComplexForLazy.hpp:116
MoFEM::SnesMethod::snes_ctx
SNESContext snes_ctx
Definition: LoopMethods.hpp:118
_F
#define _F(n)
Definition: quad.c:25
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::uSeF
bool uSeF
Definition: SurfacePressureComplexForLazy.hpp:47
lapack_dgesv
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
MoFEM::CubitMeshSets
this struct keeps basic methods for moab meshset about material and boundary conditions
Definition: BCMultiIndices.hpp:19
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::idofs_x_edge
double * idofs_x_edge[3]
Definition: SurfacePressureComplexForLazy.hpp:73
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::diffN_edge
double * diffN_edge[3]
Definition: SurfacePressureComplexForLazy.hpp:65
MoFEM::SnesMethod::snes_B
Mat & snes_B
preconditioner of jacobian matrix
Definition: LoopMethods.hpp:124
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_x_edge
double * dofs_x_edge[3]
Definition: SurfacePressureComplexForLazy.hpp:70
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::fExtFace
VectorDouble fExtFace
Definition: SurfacePressureComplexForLazy.hpp:104
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::mapForce
map< int, bCForce > mapForce
Definition: SurfacePressureComplexForLazy.hpp:140
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Fext_edge
double * Fext_edge[3]
Definition: SurfacePressureComplexForLazy.hpp:106
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtEdgeNode
ublas::vector< MatrixDouble > kExtEdgeNode
Definition: SurfacePressureComplexForLazy.hpp:109
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::fExtEdge
ublas::vector< VectorDouble > fExtEdge
Definition: SurfacePressureComplexForLazy.hpp:105
tricircumcenter3d_tp
void tricircumcenter3d_tp(double a[3], double b[3], double c[3], double circumcenter[3], double *xi, double *eta)
scale
double scale
Definition: plastic.cpp:119
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtNodeFace
MatrixDouble kExtNodeFace
Definition: SurfacePressureComplexForLazy.hpp:112
MoFEM::SnesMethod::CTX_SNESSETJACOBIAN
@ CTX_SNESSETJACOBIAN
Definition: LoopMethods.hpp:107
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_X_face
double * dofs_X_face
Definition: SurfacePressureComplexForLazy.hpp:83
MoFEM::CubitMeshSets::getBcDataStructure
MoFEMErrorCode getBcDataStructure(CUBIT_BC_DATA_TYPE &data) const
Definition: BCMultiIndices.hpp:296
MoFEM::VecSetValues
MoFEMErrorCode VecSetValues(Vec V, const EntitiesFieldData::EntData &data, const double *ptr, InsertMode iora)
Assemble PETSc vector.
Definition: EntitiesFieldData.hpp:1589
sdf.r
int r
Definition: sdf.py:8
order
constexpr int order
Definition: dg_projection.cpp:18
MoFEM::SnesMethod::CTX_SNESSETFUNCTION
@ CTX_SNESSETFUNCTION
Definition: LoopMethods.hpp:107
KExt_hh_hierarchical
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)
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_x_edge_indices
ublas::vector< ublas::vector< int > > dOfs_x_edge_indices
Definition: SurfacePressureComplexForLazy.hpp:95
NODESET
@ NODESET
Definition: definitions.h:159
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::F
Vec F
Definition: SurfacePressureComplexForLazy.hpp:51
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:548
MoFEM::CoreInterface::get_moab
virtual moab::Interface & get_moab()=0
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtFaceNode
MatrixDouble kExtFaceNode
Definition: SurfacePressureComplexForLazy.hpp:108
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::idofs_X_edge
double * idofs_X_edge[3]
Definition: SurfacePressureComplexForLazy.hpp:85
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_x_edge
ublas::vector< VectorDouble > dOfs_x_edge
Definition: SurfacePressureComplexForLazy.hpp:100
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_x_face_indices
ublas::vector< int > dOfs_x_face_indices
Definition: SurfacePressureComplexForLazy.hpp:94
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_X_edge
double * dofs_X_edge[3]
Definition: SurfacePressureComplexForLazy.hpp:82
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::sCaleRhs
double * sCaleRhs
Definition: SurfacePressureComplexForLazy.hpp:42
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::N_edge
double * N_edge[3]
Definition: SurfacePressureComplexForLazy.hpp:62
MoFEM::SnesMethod::CTX_SNESNONE
@ CTX_SNESNONE
Definition: LoopMethods.hpp:107
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::eps
const double eps
Definition: SurfacePressureComplexForLazy.hpp:46
KExt_hh_hierarchical_edge
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)
Definition: SurfacePressureComplexForLazy.cpp:849
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::tGlobNodal
MatrixDouble tGlobNodal
Definition: SurfacePressureComplexForLazy.hpp:91
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::tGlob
VectorDouble tGlob
Definition: SurfacePressureComplexForLazy.hpp:90
Fext_h_hierarchical
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)
Definition: SurfacePressureComplexForLazy.cpp:620
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_X
double * dofs_X
Definition: SurfacePressureComplexForLazy.hpp:81
MoFEM::ForcesAndSourcesCore::dataOnElement
const std::array< boost::shared_ptr< EntitiesFieldData >, LASTSPACE > dataOnElement
Entity data on element entity rows fields.
Definition: ForcesAndSourcesCore.hpp:461
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::tLoc
VectorDouble tLoc
Definition: SurfacePressureComplexForLazy.hpp:90
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::idofs_x
double * idofs_x
Definition: SurfacePressureComplexForLazy.hpp:72
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::CONSERVATIVE
@ CONSERVATIVE
Definition: SurfacePressureComplexForLazy.hpp:43
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Kext_node_edge
double * Kext_node_edge[3]
Definition: SurfacePressureComplexForLazy.hpp:118
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_x_indices
int * dofs_x_indices
Definition: SurfacePressureComplexForLazy.hpp:75
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::t_loc
double * t_loc
Definition: SurfacePressureComplexForLazy.hpp:92
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dOfs_x_face
VectorDouble dOfs_x_face
Definition: SurfacePressureComplexForLazy.hpp:99
MoFEM::CubitMeshSets::meshset
EntityHandle meshset
Definition: BCMultiIndices.hpp:21
MoFEM::CoreInterface::check_field
virtual bool check_field(const std::string &name) const =0
check if field is in database
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::order_edge_material
int order_edge_material[3]
Definition: SurfacePressureComplexForLazy.hpp:80
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::typeOfForces
FORCES typeOfForces
Definition: SurfacePressureComplexForLazy.hpp:45
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_x
double * dofs_x
Definition: SurfacePressureComplexForLazy.hpp:69
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtFaceFace
MatrixDouble kExtFaceFace
Definition: SurfacePressureComplexForLazy.hpp:112
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::methodsOp
boost::ptr_vector< MethodForForceScaling > methodsOp
Definition: SurfacePressureComplexForLazy.hpp:148
KExt_hh_hierarchical_face
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)
Definition: SurfacePressureComplexForLazy.cpp:957
MoFEM::PetscData::f
Vec f
Definition: LoopMethods.hpp:48
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtNodeNode
MatrixDouble kExtNodeNode
Definition: SurfacePressureComplexForLazy.hpp:108
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::tLocNodal
MatrixDouble tLocNodal
Definition: SurfacePressureComplexForLazy.hpp:91
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::N_face
double * N_face
Definition: SurfacePressureComplexForLazy.hpp:61
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtEdgeFace
ublas::vector< MatrixDouble > kExtEdgeFace
Definition: SurfacePressureComplexForLazy.hpp:113
MoFEM::ForcesAndSourcesCore::dataH1
EntitiesFieldData & dataH1
Definition: ForcesAndSourcesCore.hpp:471
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::idofs_X_face
double * idofs_X_face
Definition: SurfacePressureComplexForLazy.hpp:86
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Aij
Mat Aij
Definition: SurfacePressureComplexForLazy.hpp:50
MoFEM::SnesMethod::snes_f
Vec & snes_f
residual
Definition: LoopMethods.hpp:122
FTensor::dd
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
MoFEM::FaceElementForcesAndSourcesCore::FaceElementForcesAndSourcesCore
FaceElementForcesAndSourcesCore(Interface &m_field)
Definition: FaceElementForcesAndSourcesCore.cpp:9
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::NONCONSERVATIVE
@ NONCONSERVATIVE
Definition: SurfacePressureComplexForLazy.hpp:43
MoFEM::FaceElementForcesAndSourcesCore::coords
VectorDouble coords
Definition: FaceElementForcesAndSourcesCore.hpp:80
MoFEM::Exceptions::ierr
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Exceptions.hpp:76
MoFEM::ForcesAndSourcesCore::getOpPtrVector
boost::ptr_deque< UserDataOperator > & getOpPtrVector()
Use to push back operator for row operator.
Definition: ForcesAndSourcesCore.hpp:83
EigenMatrix::Vec
const FTensor::Tensor2< T, Dim, Dim > Vec
Definition: MatrixFunction.hpp:66
ShapeFaceBaseMBTRI
PetscErrorCode ShapeFaceBaseMBTRI(double *diffN, const double *coords, double *normal, double *s1, double *s2)
Definition: fem_tools.c:204
MoFEM::ForcesAndSourcesCore::gaussPts
MatrixDouble gaussPts
Matrix of integration points.
Definition: ForcesAndSourcesCore.hpp:109
MoFEM::MeshsetsManager
Interface for managing meshsets containing materials and boundary conditions.
Definition: MeshsetsManager.hpp:104
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::kExtEdgeEdge
ublas::matrix< MatrixDouble > kExtEdgeEdge
Definition: SurfacePressureComplexForLazy.hpp:117
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::order_face_material
int order_face_material
Definition: SurfacePressureComplexForLazy.hpp:79
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Kext_edge_face
double * Kext_edge_face[3]
Definition: SurfacePressureComplexForLazy.hpp:114
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::addPressure
MoFEMErrorCode addPressure(int ms_id)
Definition: SurfacePressureComplexForLazy.cpp:531
MoFEM::Types::VectorDouble
UBlasVector< double > VectorDouble
Definition: Types.hpp:68
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::dofs_x_edge_indices
int * dofs_x_edge_indices[3]
Definition: SurfacePressureComplexForLazy.hpp:76
MoFEM::EntitiesFieldData::dataOnEntities
std::array< boost::ptr_vector< EntData >, MBMAXTYPE > dataOnEntities
Definition: EntitiesFieldData.hpp:57
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Kext_face_edge
double * Kext_face_edge[3]
Definition: SurfacePressureComplexForLazy.hpp:119
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::reBaseToFaceLoocalCoordSystem
MoFEMErrorCode reBaseToFaceLoocalCoordSystem(MatrixDouble &t_glob_nodal)
Definition: SurfacePressureComplexForLazy.cpp:377
MoFEM::FEMethod::numeredEntFiniteElementPtr
boost::shared_ptr< const NumeredEntFiniteElement > numeredEntFiniteElementPtr
Definition: LoopMethods.hpp:383
MoFEMFunctionBeginHot
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:453
__CLPK_integer
long int __CLPK_integer
Definition: lapack_wrap.h:23
MethodForForceScaling::applyScale
static MoFEMErrorCode applyScale(const FEMethod *fe, boost::ptr_vector< MethodForForceScaling > &methods_op, VectorDouble &nf)
Definition: MethodForForceScaling.hpp:21
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:578
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::mapPressure
map< int, bCPressure > mapPressure
Definition: SurfacePressureComplexForLazy.hpp:145
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::N
double * N
Definition: SurfacePressureComplexForLazy.hpp:58
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::fExtNode
VectorDouble fExtNode
Definition: SurfacePressureComplexForLazy.hpp:104
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:429
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::diffN
double * diffN
Definition: SurfacePressureComplexForLazy.hpp:63
CHKERRG
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
Definition: definitions.h:496
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:359
MoFEM::ForcesAndSourcesCore::mField
Interface & mField
Definition: ForcesAndSourcesCore.hpp:24
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::Kext_edge_edge
double * Kext_edge_edge[3][3]
Definition: SurfacePressureComplexForLazy.hpp:120
NeumannForcesSurfaceComplexForLazy::MyTriangleSpatialFE::order_edge
int order_edge[3]
Definition: SurfacePressureComplexForLazy.hpp:68