|
| v0.14.0
|
Class used to calculate base functions at integration points.
More...
|
| SomeUserPolynomialBase ()=default |
|
| ~SomeUserPolynomialBase ()=default |
|
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
| Return interface to this class when one ask for for tetrahedron, otherisw return interface class for generic class. More...
|
|
MoFEMErrorCode | getValue (MatrixDouble &pts, boost::shared_ptr< BaseFunctionCtx > ctx_ptr) |
| Calculate base functions at intergeneration points. More...
|
|
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, MoFEM::UnknownInterface **iface) const |
|
virtual MoFEMErrorCode | getValue (MatrixDouble &pts, boost::shared_ptr< BaseFunctionCtx > ctx_ptr) |
|
virtual MoFEMErrorCode | getValue (MatrixDouble &pts_x, MatrixDouble &pts_t, boost::shared_ptr< BaseFunctionCtx > ctx_ptr) |
|
virtual | ~BaseFunctionUnknownInterface ()=default |
|
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 |
|
|
using | DofsSideMap = multi_index_container< DofsSideMapData, indexed_by< ordered_non_unique< tag< TypeSide_mi_tag >, composite_key< DofsSideMapData, member< DofsSideMapData, EntityType, &DofsSideMapData::type >, member< DofsSideMapData, int, &DofsSideMapData::side > >>, ordered_unique< tag< EntDofIdx_mi_tag >, member< DofsSideMapData, int, &DofsSideMapData::dof > > > > |
| Map entity stype and side to element/entity dof index. More...
|
|
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...
|
|
Class used to calculate base functions at integration points.
- Examples
- forces_and_sources_testing_users_base.cpp.
Definition at line 37 of file forces_and_sources_testing_users_base.cpp.
◆ SomeUserPolynomialBase()
SomeUserPolynomialBase::SomeUserPolynomialBase |
( |
| ) |
|
|
default |
◆ ~SomeUserPolynomialBase()
SomeUserPolynomialBase::~SomeUserPolynomialBase |
( |
| ) |
|
|
default |
◆ getValue()
Calculate base functions at intergeneration points.
- Parameters
-
- Returns
- MoFEMErrorCode
Definition at line 63 of file forces_and_sources_testing_users_base.cpp.
69 int nb_gauss_pts = pts.size2();
74 if (pts.size1() < 3) {
76 "Wrong dimension of pts, should be at least 3 rows with "
◆ getValueHdivForCGGBubble()
MoFEMErrorCode SomeUserPolynomialBase::getValueHdivForCGGBubble |
( |
MatrixDouble & |
pts | ) |
|
|
inlineprivate |
Definition at line 96 of file forces_and_sources_testing_users_base.cpp.
103 "Wrong base, should be USER_BASE");
110 int nb_gauss_pts = pts.size2();
113 shapeFun.resize(nb_gauss_pts, 4,
false);
115 &pts(2, 0), nb_gauss_pts);
117 double diff_shape_fun[12];
124 double *diff_phi_f[4];
127 for (
int ff = 0; ff != 4; ff++) {
129 int order = volume_order > face_order ? volume_order : face_order;
135 phi_f[ff] = &*data.
dataOnEntities[MBTRI][ff].getN(base).data().begin();
142 diff_shape_fun, phi_f[ff], diff_phi_f[ff], nb_gauss_pts, 4);
151 double *phi_v = &*data.
dataOnEntities[MBTET][0].getN(base).data().begin();
155 volume_order, &*
shapeFun.data().begin(), diff_shape_fun, p_f, phi_f,
156 diff_phi_f, phi_v, diff_phi_v, nb_gauss_pts);
160 for (
int ff = 0; ff != 4; ff++) {
◆ query_interface()
◆ cTx
◆ shapeFun
MatrixDouble SomeUserPolynomialBase::shapeFun |
|
private |
The documentation for this struct was generated from the following file:
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface reference to pointer of interface.
MoFEMErrorCode Hdiv_Demkowicz_Face_MBTET_ON_FACE(int *faces_nodes, int p, double *N, double *diffN, double *phi_f, double *diff_phi_f, int gdim, int nb)
Class used to pass element data to calculate base functions on tet,triangle,edge.
MoFEMErrorCode Hdiv_Demkowicz_Interior_MBTET(int p, double *N, double *diffN, int p_face[], double *phi_f[4], double *diff_phi_f[4], double *phi_v, double *diff_phi_v, int gdim)
MatrixInt facesNodes
nodes on finite element faces
@ USER_BASE
user implemented approximation base
#define CHKERR
Inline error check.
#define NBFACETRI_DEMKOWICZ_HDIV(P)
#define NBVOLUMETET_DEMKOWICZ_HDIV(P)
const FieldApproximationBase bAse
@ MOFEM_DATA_INCONSISTENCY
FieldApproximationBase
approximation base
std::array< boost::ptr_vector< EntData >, MBMAXTYPE > dataOnEntities
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
MoFEMErrorCode getValueHdivForCGGBubble(MatrixDouble &pts)
data structure for finite element entity
Class used to calculate base functions at integration points.
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
@ HDIV
field with continuous normal traction
EntPolynomialBaseCtx * cTx
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...