16 if (PetscUnlikely(!entity_ptr))
18 if (PetscUnlikely(!
sPtr))
25 "Inconsistent DOF order with order set before for entity " +
26 boost::lexical_cast<std::string>(*entity_ptr) +
"\n" +
"dof->" +
27 boost::lexical_cast<std::string>(
dof) +
" dof_order->" +
28 boost::lexical_cast<std::string>(dof_order) +
30 "<-getDofOrderMap()[dof]");
35 THROW_MESSAGE(
"Inconsistent DOFs rank with index of DOF on entity");
42 <<
" active " << (e.
dof < 0 ? false :
true) <<
" "
52 dof->dof = std::abs(dof->dof);
54 dof->dof = -std::abs(dof->dof);
56 if (PetscUnlikely(
aCtive && dof->getDofOrder() > dof->getMaxOrder())) {
60 THROW_MESSAGE(
"Set DoF active which has order larger than maximal order "
67 const boost::shared_ptr<DofEntity> &dof_entity_ptr,
const int dof_idx,
68 const int petsc_gloabl_dof_idx,
const int petsc_local_dof_idx,
73 petscGloablDofIdx(petsc_gloabl_dof_idx),
74 petscLocalDofIdx(petsc_local_dof_idx), pArt(part) {
78 os <<
"idx " << e.
dofIdx <<
" part " << e.
pArt <<
" petsc idx "
85 os <<
"local dof FiniteElement idx "
94 os <<
"local dof FiniteElement idx "
#define THROW_MESSAGE(msg)
Throw MoFEM exception.
#define MOFEM_LOG(channel, severity)
Log.
#define MOFEM_LOG_TAG(channel, tag)
Tag channel.
#define MOFEM_LOG_CHANNEL(channel)
Set and reset channel.
int ApproximationOrder
Approximation on the entity.
int FieldCoefficientsNumber
Number of field coefficients.
implementation of Data Operators for Forces and Sources
std::ostream & operator<<(std::ostream &os, const EntitiesFieldData::EntData &e)
void operator()(boost::shared_ptr< DofEntity > &dof)
DofEntity_active_change(bool active)
keeps information about DOF on the entity
UId getLocalUniqueId() const
DofIdx getEntDofIdx() const
ApproximationOrder getDofOrder() const
DofEntity(const boost::shared_ptr< FieldEntity > &entity_ptr, const ApproximationOrder dof_order, const FieldCoefficientsNumber dof_rank, const DofIdx dof)
FieldCoefficientsNumber getDofCoeffIdx() const
keeps information about indexed dofs for the finite element
keeps information about indexed dofs for the finite element
Struct keeps handle to entity in the field.
keeps information about indexed dofs for the problem
NumeredDofEntity(const boost::shared_ptr< DofEntity > &dof_entity_ptr, const int dof_idx=-1, const int petsc_gloabl_dof_idx=-1, const int petsc_local_dof_idx=-1, const int part=-1)
boost::shared_ptr< FieldEntity > & getFieldEntityPtr() const
Interface to FieldEntity.
const std::array< int, MAX_DOFS_ON_ENTITY > & getDofOrderMap() const
get hash-map relating dof index on entity with its order
boost::shared_ptr< FieldEntity > & getFieldEntityPtr() const
FieldCoefficientsNumber getNbOfCoeffs() const
boost::shared_ptr< REFENT > sPtr
boost::shared_ptr< SideNumber > getSideNumberPtr() const