|
| v0.14.0
|
Go to the documentation of this file.
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 "
DofEntity(const boost::shared_ptr< FieldEntity > &entity_ptr, const ApproximationOrder dof_order, const FieldCoefficientsNumber dof_rank, const DofIdx dof)
std::ostream & operator<<(std::ostream &os, const EntitiesFieldData::EntData &e)
#define MOFEM_LOG_CHANNEL(channel)
Set and reset channel.
keeps information about DOF on the entity
keeps information about indexed dofs for the finite element
FieldCoefficientsNumber getDofCoeffIdx() const
boost::shared_ptr< FieldEntity > sPtr
DofIdx getEntDofIdx() const
Interface to FieldEntity.
DofEntity_active_change(bool active)
#define THROW_MESSAGE(msg)
Throw MoFEM exception.
boost::shared_ptr< FieldEntity > & getFieldEntityPtr() const
keeps information about indexed dofs for the problem
implementation of Data Operators for Forces and Sources
ApproximationOrder getDofOrder() const
UId getLocalUniqueId() const
int FieldCoefficientsNumber
Number of field coefficients.
Struct keeps handle to entity in the field.
void operator()(boost::shared_ptr< DofEntity > &dof)
#define MOFEM_LOG_TAG(channel, tag)
Tag channel.
FieldCoefficientsNumber getNbOfCoeffs() const
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
boost::shared_ptr< SideNumber > getSideNumberPtr() const
Get the Side number.
#define MOFEM_LOG(channel, severity)
Log.
int ApproximationOrder
Approximation on the entity.
keeps information about indexed dofs for the finite element
const std::array< int, MAX_DOFS_ON_ENTITY > & getDofOrderMap() const
get hash-map relating dof index on entity with its order