template<class Scalar>
ConstraintMap class
Read-only expansion map for value and identification constraints.
Identification constraints are stored as rows of the expansion map . For unconstrained DOFs, expand returns the identity row { { i, 1 } }.
The map supports canonicalization of identification constraints:
- duplicate masters are merged;
- zero coefficients are pruned;
- self-references are removed algebraically;
- identity constraints are ignored;
- constraints such as , , are converted to fixed constraints;
- transitive identifications are flattened by finalize.
After calling finalize, this object can be shared by OpenMP assembly loops as a read-only expansion map.
Public functions
- void finalize()
- Flattens transitive identification constraints.
Function documentation
template<class Scalar>
void Rodin:: Assembly:: ConstraintMap<Scalar>:: finalize()
Flattens transitive identification constraints.
Example:
becomes:
Cycles such as , are rejected.