- Sep 01, 2024
-
-
Sander, Oliver authored
* I did not really test a lot of useful stuff. * The class CosseratLocalEnergyStiffness is deprecated anyway. * It stopped compiling and I don't know why.
-
Sander, Oliver authored
This removes one use of the CosseratEnergyLocalStiffness class, which is scheduled for complete removal.
-
- Aug 30, 2024
-
-
Sander, Oliver authored
-
Sander, Oliver authored
If the grid is 2d we know that determinant is equal to the determinant of the upper-left 2x2 block.
-
Sander, Oliver authored
This extracts the density of the Birsan/Neff Cosserat shell model with planar reference configuration from the CosseratEnergyStiffness class.
-
Sander, Oliver authored
Even though we know that it is always '3'. Still, using gridDim whenever that is meant is more expressive than '3'.
-
Sander, Oliver authored
That way, we can also set the initial microrotation -- previously it was hard-wired to the identity matrix. Being able to explicitly choose the initial microrotation allows to start, in particular, from a twisted strip.
-
Sander, Oliver authored
Rather than keeping a duplicate implementation of the bulk Cosserat density.
-
- Aug 28, 2024
-
-
Sander, Oliver authored
-
- Aug 22, 2024
-
-
Sander, Oliver authored
-
Sander, Oliver authored
Energies of particular models should not implement external loads themselves, because that would lead to a lot of code duplication (and possible inconsistencies). A one step towards that goal, allow to construct a CosseratEnergyLocalStiffness object without external loads.
-
Sander, Oliver authored
Previously, the NeumannEnergy class assumed that the grid dimension was equal to the world dimension. This is not the case for shells, where the grid is 2d but the world is 3d. The present patch generalizes to code to also allow for 2d grids.
-
Sander, Oliver authored
-
Sander, Oliver authored
Previously, the method basically hand-implemented a writer for VTK files. Using dune-vtk instead leads to much shorter and simpler code, and gives us access to all the dune-vtk niceties, like binary files and high-order grid cells.
-
- Aug 21, 2024
-
-
Sander, Oliver authored
Rather than the grid itself. Because the grid view is all that a writer needs to know about.
-
Sander, Oliver authored
-
Sander, Oliver authored
-
- Aug 12, 2024
-
-
Sander, Oliver authored
That way, a single Python file is enough to describe the entire boundary value problem.
-
Sander, Oliver authored
Rather than as our homegrown .parset. That way, after more changes this will allow to have the entire problem description in a single file, including the boundary data.
-
Sander, Oliver authored
-
Sander, Oliver authored
-
- Aug 08, 2024
-
-
Sander, Oliver authored
Fix derivatives of nonconforming interpolation See merge request osander/dune-gfe!158
-
Sander, Oliver authored
-
- Aug 07, 2024
-
-
Sander, Oliver authored
Fix memory access errors when density does not depend on function value See merge request osander/dune-gfe!157
-
Sander, Oliver authored
Instead of with LocalGeodesicFEADOLCStiffness. The latter should be faster.
-
Sander, Oliver authored
If InterpolationDerivatives is told not to compute the derivatives for the interpolation value, then it sometimes leaves the corresponding matrix entries uninitialized. That's okay: they shall not be used anyway. However, the code still did use them: It multiplied them by zero. This is okay if the matrix entries are actual values, but they may also be NaNs. In that case, the NaNs propagate, leading to wrong results. Fix this by modifying the matrix products to really omit the uninitialized values.
-
Sander, Oliver authored
-
- Jul 11, 2024
-
-
Sander, Oliver authored
Let ADOL-C differentiate the energy density and the GFE interpolation separately See merge request osander/dune-gfe!138
-
Sander, Oliver authored
-
Sander, Oliver authored
This is faster than using ADOL-C, and does not add much code.
-
Sander, Oliver authored
This will allow derived densities to implement the derivatives by hand. In some cases (e.g. the harmonic energy) these derivatives are so simple that there is no need to accept the AD overhead for this.
-
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.
-
Sander, Oliver authored
Really more of a set of notes, currently. In particular, it describes how the element assembler works, which seems to complicated to me for having only in-code documentation.
-
Sander, Oliver authored
That construction method is simply enough that the derivatives can be computed manually. This avoids the overhead of using an AD system.
-
Sander, Oliver authored
-
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.
-
- Jul 10, 2024
-
-
Sander, Oliver authored
-
- Jul 09, 2024
-
-
Sander, Oliver authored
Fix some typos in parameterTree strings for both Riemannian-TR and Riemannian-PN & print final energy @Riemannian-pn solver See merge request osander/dune-gfe!155
-
Klaus Böhnlein authored
-
- Jul 08, 2024
-
-
Klaus Böhnlein authored
-