v0.14.0
VertexElementForcesAndSourcesCore.cpp
Go to the documentation of this file.
1 /** \file VertexElementForcesAndSourcesCore.cpp
2 
3 \brief Implementation of vertex element
4 
5 */
6 
7 
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 #include <cblas.h>
13 #include <lapack_wrap.h>
14 #include <gm_rule.h>
15 #ifdef __cplusplus
16 }
17 #endif
18 
19 namespace MoFEM {
20 
22  Interface &m_field)
23  : ForcesAndSourcesCore(m_field) {
25  "Problem with creation data on element");
26 };
27 
30 
31  if (numeredEntFiniteElementPtr->getEntType() != MBVERTEX)
33 
34 
36  coords.resize(3, false);
37  CHKERR mField.get_moab().get_coords(&ent, 1, &*coords.data().begin());
38 
39  // Iterate over operators
41 
43 }
44 
46  ForcesAndSourcesCore *ptr) {
48  if (!(ptrFE = dynamic_cast<VertexElementForcesAndSourcesCore *>(ptr)))
49  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
50  "User operator and finite element do not work together");
52 }
53 
54 } // namespace MoFEM
MoFEMFunctionReturnHot
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:447
EntityHandle
MoFEM::VertexElementForcesAndSourcesCore::VertexElementForcesAndSourcesCore
VertexElementForcesAndSourcesCore(Interface &m_field)
Definition: VertexElementForcesAndSourcesCore.cpp:21
CHK_THROW_MESSAGE
#define CHK_THROW_MESSAGE(err, msg)
Check and throw MoFEM exception.
Definition: definitions.h:596
MoFEM::Exceptions::MoFEMErrorCode
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:56
MoFEM::DeprecatedCoreInterface
Deprecated interface functions.
Definition: DeprecatedCoreInterface.hpp:16
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:535
gm_rule.h
MoFEM::VertexElementForcesAndSourcesCore::UserDataOperator::setPtrFE
MoFEMErrorCode setPtrFE(ForcesAndSourcesCore *ptr)
Definition: VertexElementForcesAndSourcesCore.cpp:45
MoFEM::CoreInterface::get_moab
virtual moab::Interface & get_moab()=0
MoFEM::VertexElementForcesAndSourcesCore::coords
VectorDouble3 coords
Definition: VertexElementForcesAndSourcesCore.hpp:52
MoFEM
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:10
MoFEM::ForcesAndSourcesCore::createDataOnElement
MoFEMErrorCode createDataOnElement(EntityType type)
Create a entity data on element object.
Definition: ForcesAndSourcesCore.cpp:1305
lapack_wrap.h
MoFEM::VertexElementForcesAndSourcesCore::operator()
MoFEMErrorCode operator()()
function is run for every finite element
Definition: VertexElementForcesAndSourcesCore.cpp:28
MoFEM::ForcesAndSourcesCore
structure to get information form mofem into EntitiesFieldData
Definition: ForcesAndSourcesCore.hpp:22
MOFEM_DATA_INCONSISTENCY
@ MOFEM_DATA_INCONSISTENCY
Definition: definitions.h:31
MoFEM::ForcesAndSourcesCore::loopOverOperators
MoFEMErrorCode loopOverOperators()
Iterate user data operators.
Definition: ForcesAndSourcesCore.cpp:1347
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:440
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
MoFEM::VertexElementForcesAndSourcesCore
Vertex finite element.
Definition: VertexElementForcesAndSourcesCore.hpp:28
MoFEM::ForcesAndSourcesCore::UserDataOperator::ptrFE
ForcesAndSourcesCore * ptrFE
Definition: ForcesAndSourcesCore.hpp:984
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346
MoFEM::ForcesAndSourcesCore::mField
Interface & mField
Definition: ForcesAndSourcesCore.hpp:24