11#ifndef __CONTACTPRISMELEMENTFORCESANDSURCESCORE_HPP__
12#define __CONTACTPRISMELEMENTFORCESANDSURCESCORE_HPP__
16struct VolumeElementForcesAndSourcesCoreOnContactPrismSide;
38 inline const std::array<boost::shared_ptr<EntitiesFieldData>,
LASTSPACE>
43 inline const std::array<boost::shared_ptr<EntitiesFieldData>,
LASTSPACE>
53 std::array<double, 2>
aRea;
79 const std::array<boost::shared_ptr<EntitiesFieldData>,
LASTSPACE>
89 const std::array<boost::shared_ptr<EntitiesFieldData>,
LASTSPACE>
91 const std::array<boost::shared_ptr<EntitiesFieldData>,
LASTSPACE>
135 const EntityType type_hi = MBPOLYHEDRON)
const;
146 template <
typename EXTRACTOR>
152 EXTRACTOR &&extractor)
const;
165 template <
typename EXTRACTOR>
172 EXTRACTOR &&extractor)
const;
218 const std::string &col_field_name,
const char type)
223 const std::string &col_field_name,
const char type,
224 const char face_type)
230 const char face_type)
269 inline boost::shared_ptr<const NumeredEntFiniteElement>
390 const string fe_name,
398boost::shared_ptr<const NumeredEntFiniteElement>
399ContactPrismElementForcesAndSourcesCore::UserDataOperator::
400 getNumeredEntFiniteElementPtr()
const {
406ContactPrismElementForcesAndSourcesCore::UserDataOperator::getFaceType()
const {
411ContactPrismElementForcesAndSourcesCore::UserDataOperator::getAreaMaster() {
416ContactPrismElementForcesAndSourcesCore::UserDataOperator::getAreaSlave() {
421ContactPrismElementForcesAndSourcesCore::UserDataOperator::getNormalMaster() {
424 return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
427inline VectorAdaptor ContactPrismElementForcesAndSourcesCore::UserDataOperator::
428 getTangentMasterOne() {
431 return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
434inline VectorAdaptor ContactPrismElementForcesAndSourcesCore::UserDataOperator::
435 getTangentMasterTwo() {
438 return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
442ContactPrismElementForcesAndSourcesCore::UserDataOperator::getNormalSlave() {
445 return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
448inline VectorAdaptor ContactPrismElementForcesAndSourcesCore::UserDataOperator::
449 getTangentSlaveOne() {
452 return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
455inline VectorAdaptor ContactPrismElementForcesAndSourcesCore::UserDataOperator::
456 getTangentSlaveTwo() {
459 return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
463ContactPrismElementForcesAndSourcesCore::UserDataOperator::getGaussPtsMaster() {
469ContactPrismElementForcesAndSourcesCore::UserDataOperator::getGaussPtsSlave() {
474auto ContactPrismElementForcesAndSourcesCore::UserDataOperator::
475 getFTensor0IntegrationWeightSlave() {
477 &(getGaussPtsSlave()(getGaussPtsSlave().size1() - 1, 0)));
480auto ContactPrismElementForcesAndSourcesCore::UserDataOperator::
481 getFTensor0IntegrationWeightMaster() {
483 &(getGaussPtsMaster()(getGaussPtsMaster().size1() - 1, 0)));
487ContactPrismElementForcesAndSourcesCore::UserDataOperator::getCoordsMaster() {
490 return VectorAdaptor(9, ublas::shallow_array_adaptor<double>(9, data));
494ContactPrismElementForcesAndSourcesCore::UserDataOperator::getCoordsSlave() {
497 return VectorAdaptor(9, ublas::shallow_array_adaptor<double>(9, data));
500inline MatrixDouble &ContactPrismElementForcesAndSourcesCore::UserDataOperator::
501 getCoordsAtGaussPtsMaster() {
506inline MatrixDouble &ContactPrismElementForcesAndSourcesCore::UserDataOperator::
507 getCoordsAtGaussPtsSlave() {
513ContactPrismElementForcesAndSourcesCore::UserDataOperator::
514 getContactPrismElementForcesAndSourcesCore() {
FieldApproximationBase
approximation base
FieldSpace
approximation spaces
@ LASTSPACE
FieldSpace in [ 0, LASTSPACE )
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
VectorShallowArrayAdaptor< double > VectorAdaptor
UBlasVector< int > VectorInt
implementation of Data Operators for Forces and Sources
ublas::vector< FieldEntity *, FieldEntAllocator > VectorFieldEntities
std::vector< boost::weak_ptr< FieldEntity > > FieldEntity_vector_view
ublas::vector< FEDofEntity *, DofsAllocator > VectorDofs
constexpr auto field_name
Deprecated interface functions.
data structure for finite element entity
boost::shared_ptr< const NumeredEntFiniteElement > numeredEntFiniteElementPtr
ForcesAndSourcesCore * ptrFE
structure to get information form mofem into EntitiesFieldData