Add homogenization material model based on direct condensation
Abstract: To obtain the effective tangent matrix of some RVE, a classical method is to numerically differentiate (e.g. through FD) the macroscopic stress with respect to the macroscopic strain. This, however, comes at great cost for RVEs with a large number of dofs. An alternative (often more efficient) approach is to condense the microstructural stiffness to the local macroscopic stiffness as described in Miehe and Koch (2001) and extended by Kouznetsova et al. (2001).
More detailed
Goal: Implement reduced stiffness matrix as in (2.34) in (Kouznetsova 2002).
To this end, the full system of equations is reduce to a system of independent degrees of freedoms (dofs) "condensed" (2.30). In a second step it is reduced further to all "prescribed" dofs (2.34).
Current implementation:
Both reductions are implemented as CondensationTransform (analogous to AffineTransform).
Here, dependency_matrix consists of the transform (2.30) and prescribed_dofs knows the "presribed dofs" to compute the Schur complement in (2.34).
Maybe to complicated: Derivation of CondensationTransform from the "boundary condtions" / roundabout approach of the PBCFunctor.
Summary of open tasks (@telgenb, @webmanue):
-
numerical accuracy: #87 (closed) -
parallelization: #92 (closed) -
fix CI -
complex-valued build fails -
test for ae108-examples-Homogenizationfails
-
-
tests: Add unit and integration tests. -
documentation: Add Doxygen documentation. -
condition number: Can the condition number of the resulting linear system be improved? -
map_typetocondensation_transform: Can this transform be simplified?