v0.10.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 /* This file is part of MoFEM.
8  * MoFEM is free software: you can redistribute it and/or modify it under
9  * the terms of the GNU Lesser General Public License as published by the
10  * Free Software Foundation, either version 3 of the License, or (at your
11  * option) any later version.
12  *
13  * MoFEM is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
16  * License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with MoFEM. If not, see <http://www.gnu.org/licenses/>. */
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 #include <cblas.h>
25 #include <lapack_wrap.h>
26 #include <gm_rule.h>
27 #ifdef __cplusplus
28 }
29 #endif
30 
31 namespace MoFEM {
32 
34  Interface &m_field)
35  : ForcesAndSourcesCore(m_field){};
36 
39 
40  if (numeredEntFiniteElementPtr->getEntType() != MBVERTEX)
43 
45  coords.resize(3, false);
46  CHKERR mField.get_moab().get_coords(&ent, 1, &*coords.data().begin());
47 
48  // Iterate over operators
50 
52 }
53 
55  ForcesAndSourcesCore *ptr) {
57  if (!(ptrFE = dynamic_cast<VertexElementForcesAndSourcesCore *>(ptr)))
58  SETERRQ(PETSC_COMM_SELF, MOFEM_DATA_INCONSISTENCY,
59  "User operator and finite element do not work together");
61 }
62 
63 } // namespace MoFEM
MoFEMErrorCode operator()()
function is run for every finite element
Deprecated interface functions.
virtual moab::Interface & get_moab()=0
MoFEMErrorCode createDataOnElement()
Create a entity data on element object.
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:509
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:485
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:516
implementation of Data Operators for Forces and Sources
Definition: Common.hpp:21
MoFEMErrorCode loopOverOperators()
Iterate user data operators.
boost::shared_ptr< const NumeredEntFiniteElement > numeredEntFiniteElementPtr
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:67
#define CHKERR
Inline error check.
Definition: definitions.h:604
structure to get information form mofem into DataForcesAndSourcesCore
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:415