v0.6.10
Functions
Field Basic Algebra

Basic algebraic operation on fields. More...

Collaboration diagram for Field Basic Algebra:

Functions

MoFEMErrorCode MoFEM::FieldBlas::fieldAxpy (const double alpha, const std::string &field_name_x, const std::string &field_name_y, bool error_if_missing=false, bool creat_if_missing=false)
 axpy fields More...
 
MoFEMErrorCode MoFEM::FieldBlas::setField (const double val, const EntityType type, const std::string &field_name)
 scale field More...
 
MoFEMErrorCode MoFEM::FieldBlas::setField (const double val, const EntityType type, const Range &ents, const std::string &field_name)
 set field More...
 
MoFEMErrorCode MoFEM::FieldBlas::fieldScale (const double alpha, const std::string &field_name)
 set field More...
 

Field algebra

DEPRECATED MoFEMErrorCode MoFEM::DeprecatedCoreInterface::field_axpy (const double alpha, const std::string &fiel_name_x, const std::string &field_name_y, bool error_if_missing=false, bool creat_if_missing=false)
 axpy fields More...
 
DEPRECATED MoFEMErrorCode MoFEM::DeprecatedCoreInterface::field_scale (const double alpha, const std::string &field_name)
 scale field More...
 
DEPRECATED MoFEMErrorCode MoFEM::DeprecatedCoreInterface::set_field (const double val, const EntityType type, const std::string &field_name)
 use FieldBlas More...
 
DEPRECATED MoFEMErrorCode MoFEM::DeprecatedCoreInterface::set_field (const double val, const EntityType type, const Range &ents, const std::string &field_name)
 set field More...
 

Detailed Description

Basic algebraic operation on fields.

Function Documentation

◆ field_axpy()

MoFEMErrorCode MoFEM::DeprecatedCoreInterface::field_axpy ( const double  alpha,
const std::string &  fiel_name_x,
const std::string &  field_name_y,
bool  error_if_missing = false,
bool  creat_if_missing = false 
)

axpy fields

Deprecated:
use FieldBlas
Todo:
should be moved to independent interface, i.e. FieldAlgebra

field_y = field_y + alpha*field_x

Parameters
alpha
field_name_xname of field_x
field_name_yname of field_y
error_if_missingthrow error if entity/dof exist in field_x but not on field_y
create_if_missingcreat dof in field_y from fiedl_x if it is not database

Definition at line 39 of file DeprecatedCoreInterface.cpp.

41  {
42  return getInterface<FieldBlas>()->fieldAxpy(alpha,field_name_x,field_name_y,error_if_missing,creat_if_missing);
43  }

◆ field_scale()

MoFEMErrorCode MoFEM::DeprecatedCoreInterface::field_scale ( const double  alpha,
const std::string &  field_name 
)

scale field

Deprecated:
use FieldBlas
Todo:
should be moved to independent interface, i.e. FieldAlgebra
Parameters
alphais a scaling factor is a field name

Definition at line 50 of file DeprecatedCoreInterface.cpp.

50  {
51  return getInterface<FieldBlas>()->fieldScale(alpha,field_name);
52  }

◆ fieldAxpy()

MoFEMErrorCode MoFEM::FieldBlas::fieldAxpy ( const double  alpha,
const std::string &  field_name_x,
const std::string &  field_name_y,
bool  error_if_missing = false,
bool  creat_if_missing = false 
)

axpy fields

Todo:
should be moved to independent interface, i.e. FieldAlgebra

field_y = field_y + alpha*field_x

Parameters
alpha
field_name_xname of field_x
field_name_yname of field_y
error_if_missingthrow error if entity/dof exist in field_x but not on field_y
create_if_missingcreat dof in field_y from fiedl_x if it is not database

Definition at line 40 of file FieldBlas.cpp.

43  {
44  const MoFEM::Interface &m_field = cOre;
45  const Field_multiIndex *fields_ptr;
46  const FieldEntity_multiIndex *field_ents;
47  const DofEntity_multiIndex *dofs_ptr;
49  ierr = m_field.get_fields(&fields_ptr); CHKERRG(ierr);
50  ierr = m_field.get_field_ents(&field_ents); CHKERRG(ierr);
51  ierr = m_field.get_dofs(&dofs_ptr); CHKERRG(ierr);
52  Field_multiIndex::index<FieldName_mi_tag>::type::iterator x_fit = fields_ptr->get<FieldName_mi_tag>().find(field_name_x);
53  if(x_fit==fields_ptr->get<FieldName_mi_tag>().end()) {
54  SETERRQ1(PETSC_COMM_SELF,1,"x field < %s > not found, (top tip: check spelling)",field_name_x.c_str());
55  }
56  Field_multiIndex::index<FieldName_mi_tag>::type::iterator y_fit = fields_ptr->get<FieldName_mi_tag>().find(field_name_y);
57  if(y_fit==fields_ptr->get<FieldName_mi_tag>().end()) {
58  SETERRQ1(PETSC_COMM_SELF,1,"y field < %s > not found, (top tip: check spelling)",field_name_y.c_str());
59  }
60  if((*x_fit)->getSpace() != (*y_fit)->getSpace()) {
61  SETERRQ2(PETSC_COMM_SELF,1,"space for field < %s > and field <%s> are not compatible",field_name_x.c_str(),field_name_y.c_str());
62  }
63  if((*x_fit)->getNbOfCoeffs() != (*y_fit)->getNbOfCoeffs()) {
64  SETERRQ2(PETSC_COMM_SELF,1,"rank for field < %s > and field <%s> are not compatible",field_name_x.c_str(),field_name_y.c_str());
65  }
66  FieldEntityByFieldName::iterator x_eit;
67  x_eit = field_ents->get<FieldName_mi_tag>().lower_bound(field_name_x.c_str());
68  for(;x_eit!=field_ents->get<FieldName_mi_tag>().upper_bound(field_name_x.c_str());x_eit++) {
69  int nb_dofs_on_x_entity = (*x_eit)->tag_FieldData_size/sizeof(FieldData);
70  for(int dd = 0;dd<nb_dofs_on_x_entity;dd++) {
71  ApproximationOrder dof_order = (*x_eit)->getDofOrderMap()[dd];
72  FieldCoefficientsNumber dof_rank = dd%(*x_eit)->getNbOfCoeffs();
73  FieldData data = (*x_eit)->tag_FieldData[dd];
74  DofEntity_multiIndex::index<Composite_Name_Ent_Order_And_CoeffIdx_mi_tag>::type::iterator dit;
75  dit = dofs_ptr->get<Composite_Name_Ent_Order_And_CoeffIdx_mi_tag>().find(
76  boost::make_tuple(field_name_y.c_str(),(*x_eit)->getEnt(),dof_order,dof_rank)
77  );
78  if(dit == dofs_ptr->get<Composite_Name_Ent_Order_And_CoeffIdx_mi_tag>().end()) {
79  if(creat_if_missing) {
80  SETERRQ(PETSC_COMM_SELF,MOFEM_DATA_INCONSISTENCY,"not yet implemented");
81  } else {
82  if(error_if_missing) {
83  std::ostringstream ss;
84  ss << "dof on ent " << (*x_eit)->getEnt() << " order " << dof_order << " rank " << dof_rank << " does not exist";
85  SETERRQ(PETSC_COMM_SELF,MOFEM_DATA_INCONSISTENCY,ss.str().c_str());
86  } else {
87  continue;
88  }
89  }
90  }
91  (*dit)->getFieldData() += alpha*data;
92  }
93  }
95  }
int FieldCoefficientsNumber
Number of field coefficients.
Definition: Common.hpp:132
double FieldData
Field data type.
Definition: Common.hpp:130
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:468
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
Definition: definitions.h:511
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:474
virtual MoFEMErrorCode get_dofs(const DofEntity_multiIndex **dofs_ptr) const =0
Get dofs multi index.
const MoFEM::Interface & cOre
Definition: FieldBlas.hpp:37
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Common.hpp:80
multi_index_container< boost::shared_ptr< Field >, indexed_by< hashed_unique< tag< BitFieldId_mi_tag >, const_mem_fun< Field, const BitFieldId &,&Field::getId >, HashBit< BitFieldId >, EqBit< BitFieldId > >, ordered_unique< tag< Meshset_mi_tag >, member< Field, EntityHandle,&Field::meshSet > >, ordered_unique< tag< FieldName_mi_tag >, const_mem_fun< Field, boost::string_ref,&Field::getNameRef > >, ordered_non_unique< tag< BitFieldId_space_mi_tag >, const_mem_fun< Field, FieldSpace,&Field::getSpace > > > > Field_multiIndex
Field_multiIndex for Field.
const Tensor2_symmetric_Expr< const ddTensor0< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > dd(const Tensor0< T *> &a, const Index< i, Dim > index1, const Index< j, Dim > index2, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
Definition: ddTensor0.hpp:28
virtual MoFEMErrorCode get_field_ents(const FieldEntity_multiIndex **field_ents) const =0
Get field multi index.
multi_index_container< boost::shared_ptr< FieldEntity >, indexed_by< ordered_unique< tag< Unique_mi_tag >, member< FieldEntity, UId,&FieldEntity::globalUid > >, ordered_non_unique< tag< FieldName_mi_tag >, const_mem_fun< FieldEntity::interface_type_Field, boost::string_ref,&FieldEntity::getNameRef > >, ordered_non_unique< tag< Ent_mi_tag >, const_mem_fun< FieldEntity, EntityHandle,&FieldEntity::getEnt > >, ordered_non_unique< tag< Composite_Name_And_Ent_mi_tag >, composite_key< FieldEntity, const_mem_fun< FieldEntity::interface_type_Field, boost::string_ref,&FieldEntity::getNameRef >, const_mem_fun< FieldEntity, EntityHandle,&FieldEntity::getEnt > > > >> FieldEntity_multiIndex
MultiIndex container keeps FieldEntity.
int ApproximationOrder
Approximation on the entity.
Definition: Common.hpp:131
virtual MoFEMErrorCode get_fields(const Field_multiIndex **fields_ptr) const =0
Get fields multi-index from database.
multi_index_container< boost::shared_ptr< DofEntity >, indexed_by< ordered_unique< tag< Unique_mi_tag >, const_mem_fun< DofEntity, UId,&DofEntity::getGlobalUniqueId > >, ordered_unique< tag< Composite_Ent_and_ShortId_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt >, const_mem_fun< DofEntity, ShortId,&DofEntity::getNonNonuniqueShortId > > >, ordered_unique< tag< Composite_Name_And_Ent_And_EntDofIdx_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt >, const_mem_fun< DofEntity, DofIdx,&DofEntity::getEntDofIdx > > >, ordered_non_unique< tag< Unique_Ent_mi_tag >, const_mem_fun< DofEntity, UId,&DofEntity::getEntGlobalUniqueId > >, ordered_non_unique< tag< FieldName_mi_tag >, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef > >, ordered_non_unique< tag< Ent_mi_tag >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt > >, ordered_non_unique< tag< Composite_Name_And_Ent_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt > > >, ordered_non_unique< tag< Composite_Name_And_Type_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity::interface_type_RefEntity, EntityType,&DofEntity::getEntType > > >, ordered_non_unique< tag< Composite_Name_Ent_Order_And_CoeffIdx_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt >, const_mem_fun< DofEntity, ApproximationOrder,&DofEntity::getDofOrder >, const_mem_fun< DofEntity, FieldCoefficientsNumber,&DofEntity::getDofCoeffIdx > > > >> DofEntity_multiIndex
MultiIndex container keeps DofEntity.

◆ fieldScale()

MoFEMErrorCode MoFEM::FieldBlas::fieldScale ( const double  alpha,
const std::string &  field_name 
)

set field

Todo:
should be moved to independent interface, i.e. FieldAlgebra

field_y = val

Parameters
val
entitytype
onenties
field_name

Definition at line 137 of file FieldBlas.cpp.

137  {
138  const MoFEM::Interface &m_field = cOre;
139  const DofEntity_multiIndex *dofs_ptr;
141  ierr = m_field.get_dofs(&dofs_ptr); CHKERRG(ierr);
142  DofEntityByFieldName::iterator dit,hi_dit;
143  dit = dofs_ptr->get<FieldName_mi_tag>().lower_bound(field_name);
144  hi_dit = dofs_ptr->get<FieldName_mi_tag>().upper_bound(field_name);
145  for(;dit!=hi_dit;dit++) {
146  (*dit)->getFieldData() *= alpha;
147  }
149  }
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:468
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
Definition: definitions.h:511
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:474
virtual MoFEMErrorCode get_dofs(const DofEntity_multiIndex **dofs_ptr) const =0
Get dofs multi index.
const MoFEM::Interface & cOre
Definition: FieldBlas.hpp:37
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Common.hpp:80
multi_index_container< boost::shared_ptr< DofEntity >, indexed_by< ordered_unique< tag< Unique_mi_tag >, const_mem_fun< DofEntity, UId,&DofEntity::getGlobalUniqueId > >, ordered_unique< tag< Composite_Ent_and_ShortId_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt >, const_mem_fun< DofEntity, ShortId,&DofEntity::getNonNonuniqueShortId > > >, ordered_unique< tag< Composite_Name_And_Ent_And_EntDofIdx_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt >, const_mem_fun< DofEntity, DofIdx,&DofEntity::getEntDofIdx > > >, ordered_non_unique< tag< Unique_Ent_mi_tag >, const_mem_fun< DofEntity, UId,&DofEntity::getEntGlobalUniqueId > >, ordered_non_unique< tag< FieldName_mi_tag >, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef > >, ordered_non_unique< tag< Ent_mi_tag >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt > >, ordered_non_unique< tag< Composite_Name_And_Ent_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt > > >, ordered_non_unique< tag< Composite_Name_And_Type_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity::interface_type_RefEntity, EntityType,&DofEntity::getEntType > > >, ordered_non_unique< tag< Composite_Name_Ent_Order_And_CoeffIdx_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt >, const_mem_fun< DofEntity, ApproximationOrder,&DofEntity::getDofOrder >, const_mem_fun< DofEntity, FieldCoefficientsNumber,&DofEntity::getDofCoeffIdx > > > >> DofEntity_multiIndex
MultiIndex container keeps DofEntity.

◆ set_field() [1/2]

MoFEMErrorCode MoFEM::DeprecatedCoreInterface::set_field ( const double  val,
const EntityType  type,
const std::string &  field_name 
)

use FieldBlas

set field

Todo:
should be moved to independent interface, i.e. FieldAlgebra

field_y = val

Parameters
val
entitytype
field_name
Examples:
elasticity.cpp.

Definition at line 44 of file DeprecatedCoreInterface.cpp.

44  {
45  return getInterface<FieldBlas>()->setField(val,type,field_name);
46  }

◆ set_field() [2/2]

MoFEMErrorCode MoFEM::DeprecatedCoreInterface::set_field ( const double  val,
const EntityType  type,
const Range &  ents,
const std::string &  field_name 
)

set field

Deprecated:
use FieldBlas
Todo:
should be moved to independent interface, i.e. FieldAlgebra

field_y = val

Parameters
val
entitytype
onenties
field_name

Definition at line 47 of file DeprecatedCoreInterface.cpp.

47  {
48  return getInterface<FieldBlas>()->setField(val,type,ents,field_name);
49  }

◆ setField() [1/2]

MoFEMErrorCode MoFEM::FieldBlas::setField ( const double  val,
const EntityType  type,
const std::string &  field_name 
)

scale field

Todo:
should be moved to independent interface, i.e. FieldAlgebra
Parameters
alphais a scaling factor is a field name

Definition at line 97 of file FieldBlas.cpp.

97  {
98  const MoFEM::Interface &m_field = cOre;
99  const DofEntity_multiIndex *dofs_ptr;
101  ierr = m_field.get_dofs(&dofs_ptr); CHKERRG(ierr);
102  DofEntity_multiIndex::index<Composite_Name_And_Type_mi_tag >::type::iterator dit,hi_dit;
103  dit = dofs_ptr->get<Composite_Name_And_Type_mi_tag >().lower_bound(boost::make_tuple(field_name,type));
104  hi_dit = dofs_ptr->get<Composite_Name_And_Type_mi_tag >().upper_bound(boost::make_tuple(field_name,type));
105  for(;dit!=hi_dit;dit++) {
106  (*dit)->getFieldData() = val;
107  }
109  }
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:468
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
Definition: definitions.h:511
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:474
virtual MoFEMErrorCode get_dofs(const DofEntity_multiIndex **dofs_ptr) const =0
Get dofs multi index.
const MoFEM::Interface & cOre
Definition: FieldBlas.hpp:37
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Common.hpp:80
multi_index_container< boost::shared_ptr< DofEntity >, indexed_by< ordered_unique< tag< Unique_mi_tag >, const_mem_fun< DofEntity, UId,&DofEntity::getGlobalUniqueId > >, ordered_unique< tag< Composite_Ent_and_ShortId_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt >, const_mem_fun< DofEntity, ShortId,&DofEntity::getNonNonuniqueShortId > > >, ordered_unique< tag< Composite_Name_And_Ent_And_EntDofIdx_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt >, const_mem_fun< DofEntity, DofIdx,&DofEntity::getEntDofIdx > > >, ordered_non_unique< tag< Unique_Ent_mi_tag >, const_mem_fun< DofEntity, UId,&DofEntity::getEntGlobalUniqueId > >, ordered_non_unique< tag< FieldName_mi_tag >, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef > >, ordered_non_unique< tag< Ent_mi_tag >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt > >, ordered_non_unique< tag< Composite_Name_And_Ent_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt > > >, ordered_non_unique< tag< Composite_Name_And_Type_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity::interface_type_RefEntity, EntityType,&DofEntity::getEntType > > >, ordered_non_unique< tag< Composite_Name_Ent_Order_And_CoeffIdx_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt >, const_mem_fun< DofEntity, ApproximationOrder,&DofEntity::getDofOrder >, const_mem_fun< DofEntity, FieldCoefficientsNumber,&DofEntity::getDofCoeffIdx > > > >> DofEntity_multiIndex
MultiIndex container keeps DofEntity.

◆ setField() [2/2]

MoFEMErrorCode MoFEM::FieldBlas::setField ( const double  val,
const EntityType  type,
const Range &  ents,
const std::string &  field_name 
)

set field

Todo:
should be moved to independent interface, i.e. FieldAlgebra

field_y = val

Parameters
val
entitytype
field_name

Definition at line 111 of file FieldBlas.cpp.

111  {
112  const MoFEM::Interface &m_field = cOre;
113  const DofEntity_multiIndex *dofs_ptr;
115  ierr = m_field.get_dofs(&dofs_ptr); CHKERRG(ierr);
116  DofEntity_multiIndex::index<Composite_Name_And_Type_mi_tag >::type::iterator dit,hi_dit;
117  dit = dofs_ptr->get<Composite_Name_And_Type_mi_tag >().lower_bound(boost::make_tuple(field_name,type));
118  hi_dit = dofs_ptr->get<Composite_Name_And_Type_mi_tag >().upper_bound(boost::make_tuple(field_name,type));
119  EntityHandle ent,last = 0;
120  bool cont = true;
121  for(;dit!=hi_dit;dit++) {
122  ent = (*dit)->getEnt();
123  if(ent != last) {
124  if(ents.find(ent)==ents.end()) {
125  cont = true;
126  } else {
127  cont = false;
128  }
129  last = ent;
130  }
131  if(cont) continue;
132  (*dit)->getFieldData() = val;
133  }
135  }
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:468
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
Definition: definitions.h:511
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:474
virtual MoFEMErrorCode get_dofs(const DofEntity_multiIndex **dofs_ptr) const =0
Get dofs multi index.
const MoFEM::Interface & cOre
Definition: FieldBlas.hpp:37
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Common.hpp:80
multi_index_container< boost::shared_ptr< DofEntity >, indexed_by< ordered_unique< tag< Unique_mi_tag >, const_mem_fun< DofEntity, UId,&DofEntity::getGlobalUniqueId > >, ordered_unique< tag< Composite_Ent_and_ShortId_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt >, const_mem_fun< DofEntity, ShortId,&DofEntity::getNonNonuniqueShortId > > >, ordered_unique< tag< Composite_Name_And_Ent_And_EntDofIdx_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt >, const_mem_fun< DofEntity, DofIdx,&DofEntity::getEntDofIdx > > >, ordered_non_unique< tag< Unique_Ent_mi_tag >, const_mem_fun< DofEntity, UId,&DofEntity::getEntGlobalUniqueId > >, ordered_non_unique< tag< FieldName_mi_tag >, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef > >, ordered_non_unique< tag< Ent_mi_tag >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt > >, ordered_non_unique< tag< Composite_Name_And_Ent_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt > > >, ordered_non_unique< tag< Composite_Name_And_Type_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity::interface_type_RefEntity, EntityType,&DofEntity::getEntType > > >, ordered_non_unique< tag< Composite_Name_Ent_Order_And_CoeffIdx_mi_tag >, composite_key< DofEntity, const_mem_fun< DofEntity::interface_type_Field, boost::string_ref,&DofEntity::getNameRef >, const_mem_fun< DofEntity, EntityHandle,&DofEntity::getEnt >, const_mem_fun< DofEntity, ApproximationOrder,&DofEntity::getDofOrder >, const_mem_fun< DofEntity, FieldCoefficientsNumber,&DofEntity::getDofCoeffIdx > > > >> DofEntity_multiIndex
MultiIndex container keeps DofEntity.