6#ifndef __COMPLEX_FOR_LAZY_NEUMANN_FORCES_HPP__
7#define __COMPLEX_FOR_LAZY_NEUMANN_FORCES_HPP__
25 MoFEMErrorCode
doWork(
int side, EntityType type,
26 EntitiesFieldData::EntData &data);
35 MoFEMErrorCode
doWork(
int side, EntityType type,
36 EntitiesFieldData::EntData &data);
54 double *scale_lhs,
double *scale_rhs,
55 std::string spatial_field_name =
"SPATIAL_POSITION",
56 std::string mat_field_name =
"MESH_NODE_POSITIONS");
123 virtual MoFEMErrorCode
rHs();
124 virtual MoFEMErrorCode
lHs();
167 double *scale_rhs, std::string spatial_field_name =
"SPATIAL_POSITION",
168 std::string material_field_name =
"MESH_NODE_POSITIONS");
171 std::string spatial_field_name =
"SPATIAL_POSITION",
172 std::string material_field_name =
"MESH_NODE_POSITIONS");
DEPRECATED typedef NeumannForcesSurfaceComplexForLazy NeummanForcesSurfaceComplexForLazy
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
constexpr auto field_name
Deprecated interface functions.
default operator for TRI element
MoFEMErrorCode doWork(int side, EntityType type, EntitiesFieldData::EntData &data)
AuxMethodMaterial(const string &field_name, MyTriangleSpatialFE *my_ptr, const char type)
MyTriangleSpatialFE * myPtr
MyTriangleSpatialFE * myPtr
AuxMethodSpatial(const string &field_name, MyTriangleSpatialFE *my_ptr, const char type)
MoFEMErrorCode doWork(int side, EntityType type, EntitiesFieldData::EntData &data)
MoFEMErrorCode reBaseToFaceLoocalCoordSystem(MatrixDouble &t_glob_nodal)
ublas::vector< VectorDouble > fExtEdge
ublas::vector< int > dOfs_x_indices
double * Kext_edge_face[3]
ublas::vector< int > dOfs_X_face_indices
ublas::vector< MatrixDouble > kExtEdgeFace
double * Kext_node_edge[3]
double * Kext_edge_edge[3][3]
ublas::vector< VectorDouble > dOfs_x_edge
ublas::vector< VectorDouble > dOfs_X_edge
MoFEMErrorCode operator()()
function is run for every finite element
virtual MoFEMErrorCode lHs()
MatrixDouble kExtNodeNode
MatrixDouble kExtFaceNode
ublas::vector< MatrixDouble > kExtFaceEdge
ublas::vector< ublas::vector< int > > dOfs_x_edge_indices
ublas::matrix< MatrixDouble > kExtEdgeEdge
MoFEMErrorCode addPressure(int ms_id)
virtual MoFEMErrorCode calcTraction()
ublas::vector< int > dOfs_x_face_indices
double * Kext_edge_node[3]
int order_edge_material[3]
ublas::vector< MatrixDouble > kExtEdgeNode
ublas::vector< ublas::vector< int > > dOfs_X_edge_indices
double * Kext_face_edge[3]
map< int, bCForce > mapForce
virtual MoFEMErrorCode rHs()
ublas::vector< MatrixDouble > kExtNodeEdge
int * dofs_x_face_indices
boost::ptr_vector< MethodForForceScaling > methodsOp
MoFEMErrorCode preProcess()
function is run at the beginning of loop
ublas::vector< int > dOfs_X_indices
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")
MatrixDouble kExtFaceFace
int * dofs_x_edge_indices[3]
map< int, bCPressure > mapPressure
MatrixDouble kExtNodeFace
MoFEMErrorCode addForce(int ms_id)
DEPRECATED MoFEMErrorCode addPreassure(int ms_id)
NonLinear surface pressure element (obsolete implementation)
MyTriangleSpatialFE feSpatial
const std::string spatialField
NeumannForcesSurfaceComplexForLazy(MoFEM::Interface &m_field, Mat _Aij, Vec _F, double *scale_lhs, double *scale_rhs, std::string spatial_field_name="SPATIAL_POSITION", std::string material_field_name="MESH_NODE_POSITIONS")
const std::string materialField
MyTriangleSpatialFE & getLoopSpatialFe()
MoFEMErrorCode setForceScale(double scale)
MoFEM::Interface & mField