v0.8.23
Classes | Macros
Problems structures and multi-indices
Collaboration diagram for Problems structures and multi-indices:

Classes

struct  MoFEM::Problem::SubProblemData
 Subproblem problem data. More...
 
struct  MoFEM::Problem
 keeps basic data about problemThis is low level structure with information about problem, what elements compose problem and what DOFs are on rows and columns. More...
 
struct  MoFEM::ProblemChangeRefLevelBitAdd
 add ref level to problem More...
 
struct  MoFEM::ProblemChangeRefLevelBitSet
 set ref level to problem More...
 
struct  MoFEM::ProblemChangeRefLevelBitDofMaskSet
 set prof dof bit ref mask More...
 
struct  MoFEM::ProblemFiniteElementChangeBitAdd
 add finite element to problem More...
 
struct  MoFEM::ProblemChangeRefLevelBitDofMaskAdd
 set prof dof bit ref mask More...
 
struct  MoFEM::ProblemFiniteElementChangeBitUnSet
 remove finite element from problem More...
 
struct  MoFEM::ProblemZeroNbRowsChange
 zero nb. of DOFs in row More...
 
struct  MoFEM::ProblemZeroNbColsChange
 zero nb. of DOFs in col More...
 
struct  MoFEM::ProblemClearNumeredFiniteElementsChange
 clear problem finite elements More...
 

Macros

#define _IT_NUMEREDFE_BY_NAME_FOR_LOOP_(PROBLEMPTR, NAME, IT)
 
#define _IT_NUMEREDDOF_ROW_FOR_LOOP_(PROBLEMPTR, IT)
 use with loops to iterate row DOFs More...
 
#define _IT_NUMEREDDOF_COL_FOR_LOOP_(PROBLEMPTR, IT)
 
#define _IT_NUMEREDDOF_ROW_BY_LOCIDX_FOR_LOOP_(PROBLEMPTR, IT)
 use with loops to iterate row DOFs More...
 
#define _IT_NUMEREDDOF_ROW_BY_ENT_FOR_LOOP_(PROBLEMPTR, ENT, IT)
 use with loops to iterate row DOFs More...
 
#define _IT_NUMEREDDOF_COL_BY_ENT_FOR_LOOP_(PROBLEMPTR, ENT, IT)
 use with loops to iterate col DOFs More...
 
#define _IT_NUMEREDDOF_ROW_BY_NAME_FOR_LOOP_(PROBLEMPTR, NAME, IT)
 
#define _IT_NUMEREDDOF_COL_BY_NAME_FOR_LOOP_(PROBLEMPTR, NAME, IT)
 use with loops to iterate col DOFs More...
 
#define _IT_NUMEREDDOF_ROW_BY_NAME_ENT_PART_FOR_LOOP_(PROBLEMPTR, NAME, ENT, PART, IT)
 use with loops to iterate row DOFs More...
 
#define _IT_NUMEREDDOF_COL_BY_NAME_ENT_PART_FOR_LOOP_(PROBLEMPTR, NAME, ENT, PART, IT)
 
#define _IT_NUMEREDDOF_ROW_BY_OWNPROC_FOR_LOOP_(PROBLEMPTR, PART, IT)
 Loop over problem DOFs in row by part. More...
 
#define _IT_NUMEREDDOF_COL_BY_PART_FOR_LOOP_(PROBLEMPTR, PART, IT)
 Loop over problem DOFs in col by part. More...
 

Detailed Description

Macro Definition Documentation

◆ _IT_NUMEREDDOF_COL_BY_ENT_FOR_LOOP_

#define _IT_NUMEREDDOF_COL_BY_ENT_FOR_LOOP_ (   PROBLEMPTR,
  ENT,
  IT 
)
Value:
NumeredDofEntityByEnt::iterator IT = \
PROBLEMPTR->getNumeredDofsColsByEntBegin(ENT); \
IT != PROBLEMPTR->getNumeredDofsColsByEntEnd(ENT); \
IT++

use with loops to iterate col DOFs

for(_IT_NUMEREDDOF_COL_BY_ENT_FOR_LOOP_(PROBLEMPTR,ENT,IT)) {
...
}

Definition at line 423 of file ProblemsMultiIndices.hpp.

◆ _IT_NUMEREDDOF_COL_BY_NAME_ENT_PART_FOR_LOOP_

#define _IT_NUMEREDDOF_COL_BY_NAME_ENT_PART_FOR_LOOP_ (   PROBLEMPTR,
  NAME,
  ENT,
  PART,
  IT 
)
Value:
NumeredDofEntityByNameEntAndPart::iterator IT = \
PROBLEMPTR->getNumeredDofsColsBegin(NAME, ENT, PART); \
IT != PROBLEMPTR->getNumeredDofsColsEnd(NAME, ENT, PART); \
IT++

use with loops to iterate col DOFs

for(_IT_NUMEREDDOF_COL_BY_NAME_ENT_PART_FOR_LOOP_(PROBLEMPTR,NAME,ENT,PART,IT))
{
...
}

Definition at line 550 of file ProblemsMultiIndices.hpp.

◆ _IT_NUMEREDDOF_COL_BY_NAME_FOR_LOOP_

#define _IT_NUMEREDDOF_COL_BY_NAME_FOR_LOOP_ (   PROBLEMPTR,
  NAME,
  IT 
)
Value:
NumeredDofEntityByFieldName::iterator IT = \
PROBLEMPTR->getNumeredDofsColsBegin(NAME); \
IT != PROBLEMPTR->getNumeredDofsColsEnd(NAME); \
IT++

use with loops to iterate col DOFs

for(_IT_NUMEREDDOF_COL_BY_NAME_FOR_LOOP_(PROBLEMPTR,NAME,IT)) {
...
}

Definition at line 485 of file ProblemsMultiIndices.hpp.

◆ _IT_NUMEREDDOF_COL_BY_PART_FOR_LOOP_

#define _IT_NUMEREDDOF_COL_BY_PART_FOR_LOOP_ (   PROBLEMPTR,
  PART,
  IT 
)
Value:
NumeredDofEntity_multiIndex::iterator IT = \
PROBLEMPTR->getNumeredDofsColsBegin(PART); \
IT != PROBLEMPTR->getNumeredDofsColsEnd(PART); \
IT++

Loop over problem DOFs in col by part.

Parameters
PROBLEMPTRproblem pointer
PARTpartition number
ITiterator
Returns
error code

Definition at line 644 of file ProblemsMultiIndices.hpp.

◆ _IT_NUMEREDDOF_COL_FOR_LOOP_

#define _IT_NUMEREDDOF_COL_FOR_LOOP_ (   PROBLEMPTR,
  IT 
)
Value:
NumeredDofEntity_multiIndex::iterator IT = \
PROBLEMPTR->getNumeredDofsColsBegin(); \
IT != PROBLEMPTR->getNumeredDofsColsEnd(); \
IT++

use with loops to iterate col DOFs

for(_IT_NUMEREDDOF_COL_FOR_LOOP_(PROBLEMPTR,IT)) {
...
}

Definition at line 302 of file ProblemsMultiIndices.hpp.

◆ _IT_NUMEREDDOF_ROW_BY_ENT_FOR_LOOP_

#define _IT_NUMEREDDOF_ROW_BY_ENT_FOR_LOOP_ (   PROBLEMPTR,
  ENT,
  IT 
)
Value:
NumeredDofEntityByEnt::iterator IT = \
PROBLEMPTR->getNumeredDofsRowsByEntBegin(ENT); \
IT != PROBLEMPTR->getNumeredDofsRowsByEntEnd(ENT); \
IT++

use with loops to iterate row DOFs

for(_IT_NUMEREDDOF_BY_ENT_ROW_FOR_LOOP_(PROBLEMPTR,ENT,IT)) {
...
}

Definition at line 406 of file ProblemsMultiIndices.hpp.

◆ _IT_NUMEREDDOF_ROW_BY_LOCIDX_FOR_LOOP_

#define _IT_NUMEREDDOF_ROW_BY_LOCIDX_FOR_LOOP_ (   PROBLEMPTR,
  IT 
)
Value:
NumeredDofEntityByLocalIdx::iterator IT = \
PROBLEMPTR->getNumeredDofsRowsByLocIdxBegin(0); \
IT != PROBLEMPTR->getNumeredDofsRowsByLocIdxEnd( \
PROBLEMPTR->getNbLocalDofsRow() - 1); \
IT++

use with loops to iterate row DOFs

...
}

Definition at line 343 of file ProblemsMultiIndices.hpp.

◆ _IT_NUMEREDDOF_ROW_BY_NAME_ENT_PART_FOR_LOOP_

#define _IT_NUMEREDDOF_ROW_BY_NAME_ENT_PART_FOR_LOOP_ (   PROBLEMPTR,
  NAME,
  ENT,
  PART,
  IT 
)
Value:
NumeredDofEntityByNameEntAndPart::iterator IT = \
PROBLEMPTR->getNumeredDofsRowsBegin(NAME, ENT, PART); \
IT != PROBLEMPTR->getNumeredDofsRowsEnd(NAME, ENT, PART); \
IT++

use with loops to iterate row DOFs

for(_IT_NUMEREDDOF_ROW_BY_NAME_ENT_PART_FOR_LOOP_(PROBLEMPTR,NAME,ENT,PART,IT))
{
...
}
Examples
cell_forces.cpp, and MagneticElement.hpp.

Definition at line 531 of file ProblemsMultiIndices.hpp.

◆ _IT_NUMEREDDOF_ROW_BY_NAME_FOR_LOOP_

#define _IT_NUMEREDDOF_ROW_BY_NAME_FOR_LOOP_ (   PROBLEMPTR,
  NAME,
  IT 
)
Value:
NumeredDofEntityByFieldName::iterator IT = \
PROBLEMPTR->getNumeredDofsRowsBegin(NAME); \
IT != PROBLEMPTR->getNumeredDofsRowsEnd(NAME); \
IT++

use with loops to iterate row DOFs

for(_IT_NUMEREDDOF_BY_NAME_ROW_FOR_LOOP_(PROBLEMPTR,NAME,IT)) {
...
}

Definition at line 468 of file ProblemsMultiIndices.hpp.

◆ _IT_NUMEREDDOF_ROW_BY_OWNPROC_FOR_LOOP_

#define _IT_NUMEREDDOF_ROW_BY_OWNPROC_FOR_LOOP_ (   PROBLEMPTR,
  PART,
  IT 
)
Value:
NumeredDofEntity_multiIndex::iterator IT = \
PROBLEMPTR->getNumeredDofsRowsBegin(PART); \
IT != PROBLEMPTR->getNumeredDofsRowsEnd(PART); \
IT++

Loop over problem DOFs in row by part.

Parameters
PROBLEMPTRproblem pointer
PARTpartition number
ITiterator
Returns
error code

Definition at line 607 of file ProblemsMultiIndices.hpp.

◆ _IT_NUMEREDDOF_ROW_FOR_LOOP_

#define _IT_NUMEREDDOF_ROW_FOR_LOOP_ (   PROBLEMPTR,
  IT 
)
Value:
NumeredDofEntity_multiIndex::iterator IT = \
PROBLEMPTR->getNumeredDofsRowsBegin(); \
IT != PROBLEMPTR->getNumeredDofsRowsEnd(); \
IT++

use with loops to iterate row DOFs

for(_IT_NUMEREDDOF_ROW_FOR_LOOP_(PROBLEMPTR,IT)) {
...
}
Examples
simple_elasticity.cpp.

Definition at line 285 of file ProblemsMultiIndices.hpp.

◆ _IT_NUMEREDFE_BY_NAME_FOR_LOOP_

#define _IT_NUMEREDFE_BY_NAME_FOR_LOOP_ (   PROBLEMPTR,
  NAME,
  IT 
)
Value:
NumeredEntFiniteElementbyName::iterator IT = \
PROBLEMPTR->getNumeredFEsBegin(NAME); \
IT != PROBLEMPTR->getNumeredFEsEnd(NAME); \
IT++

use with loops to iterate problem fes

for(IT_NUMEREDFE_BY_NAME_FOR_LOOP(PROBLEMPTR,NAME,IT)) { ... }

Definition at line 256 of file ProblemsMultiIndices.hpp.