- Jan 06, 2025
-
-
Sander, Oliver authored
Rather than just on the type for points in the domain. The point type is not enough: For example, if the density involves a coefficient function given as a GridView function, then the density has to be able to bind the local coefficient function to the correct element, for which it has to know the element type. Integration domains can be elements (i.e., Codim<0>::Entity) or Intersections. The actual bind method will follow in a separate commit.
-
- Oct 07, 2024
-
-
Sander, Oliver authored
The BulkCosseratDensity class implements three types of curvature tensors. Previously, the preprocessor was used to select the one to be actually used. This patches removes the preprocessors checks and implements run-time switches instead.
-
- Jul 11, 2024
-
-
Sander, Oliver authored
-
Sander, Oliver authored
Currently the user code that plugs together the assembler for a particular problems has to know that ADOL-C is used internally to compute certain derivatives. In shows because certain objects need to be instantiated with adouble as the number type. One such example is all objects derived from LocalDensity. However, if this is to be avoided, then assemblers need to have a way to turn a (e.g.) 'double' version of a density into an 'adouble' one. This commit provides this way, by adding a 'makeActiveDensity' method.
-
The LocalIntegralStiffness assembles a tangent matrix by suitably combining derivatives of the energy density with derivatives of the geometric FE interpolation. See the detailed description in dune-gfe-manual.pdf. This patch also includes a new test in localintegralstiffnesstest.cc. It checks if the assembled matrix is the same as the one computed by LocalGeodesicFEADOLCStiffness. For a 3d Cosserat material I get a speedup of about 3x.
-