- Mar 19, 2024
-
-
Sander, Oliver authored
... if dune-common is newer than 2.9 The current build system does not require this argument anymore.
-
Sander, Oliver authored
-
Sander, Oliver authored
Plus some minor cleanup
-
Sander, Oliver authored
This makes for a cleaner design. Also, the density is identical to the one in nonplanarcosseratenergy.hh. Eventually, we will replace the density code there with the new density class introduced here. The new density CosseratShellDensity does not implement a particular interface yet. It is not clear to me yet how such an interface would look like, exactly.
-
Sander, Oliver authored
-
Sander, Oliver authored
This replaces the dedicated implementation of the quadrature loop for harmonic energies -- that is not needed anymore. In particular this means that the test for it can be removed. In theory it should be replaced with a test for the harmonic energy *density*, but that density implementation is so short that it doesn't really require a separate test.
-
Sander, Oliver authored
-
Sander, Oliver authored
Rather than using preprocessor switches. That's too fragile and not extensible.
-
Sander, Oliver authored
-
Sander, Oliver authored
If the target manifold is a product space, then ProductManifold must be used, and not a variadic list of the factor space types.
-
Sander, Oliver authored
-
Sander, Oliver authored
Together with the new test, this commit also contains a number of fixes for the SurfaceCosseratEnergy class. This class was not unit-tested previously, and unintentionally I messed it up badly during my recent modernization work. Finally, SurfaceCosseratEnergy had apparently never been tested without dune-curvedgeometry, which is however only an optional dependency. The commit therefore also adds the necessary conditionals. Then problem then is that the derivative of the outer normal of an intersection is not available from the standard grid interface. If dune-curvedgeometry is not available, this derivative is simply set to a zero matrix. Depending on the grid manager this may not actually be correct, though.
-
- Feb 12, 2024
-
-
Sander, Oliver authored
Various cleanup patches See merge request osander/dune-gfe!143
-
Sander, Oliver authored
CollectiveCommunication has been deprecated for a while, and has recently been removed from dune-grid.
-
Sander, Oliver authored
'thickness' and 'kappa' are parameters in Cosserat shell models. They are not necessary for bulk models. Hence remove them.
-
Sander, Oliver authored
They do the same thing, essentially.
-
- Feb 07, 2024
-
-
Sander, Oliver authored
This is what the non-mixed ADOL-C assembler does, and I want to merge the two.
-
Sander, Oliver authored
Both classes are meant to do the same thing.
-
Sander, Oliver authored
This makes the interface more consistent.
-
Sander, Oliver authored
-
Sander, Oliver authored
-
Sander, Oliver authored
These two exist in base classes, and they are inherited anyway.
-
Sander, Oliver authored
ADOL-C can compute all derivatives with two different modes: scalar- and vector mode. In theory they should produce exactly the same results, but sometimes there are bugs (I have found a few of those myself). adolctest-scalar-and-vector-mode tested whether the two modes produced the same result for a particular Cosserat configuration. I do not think that dune-gfe is the right place for such a test. It tests for bugs in ADOL-C itself, and that is the job of ADOL-C's own test suite. Consequently, I am removing the test.
-
Sander, Oliver authored
This allows to get rid of a lot of (all) multiple inheritance.
-
Sander, Oliver authored
Previously, LocalEnergy would accept an arbitrary number of template arguments, and (with the exception of the first one) they would be interpreted as the factors of a product target space. This patch replaces this template list by a single template parameter, which has to be ProductManifold if a product space is desired. This has implications throughout the code. In particular, there are now two energy methods: One that still accepts coefficients sets in the form std::vector<TargetSpace> and a second one which accepts TupleVector<std::vector<Factors>...> The second one really only makes sense for product manifolds. However, as the 'energy' methods are pure virtual, they cannot be disabled by SFINAE or C++20 concepts. Therefore, the second 'energy' method exists always, accepting TupleVector<std::vector<TargetSpace> > if TargetSpace is not a product.
-
Sander, Oliver authored
-
Sander, Oliver authored
In the long run this is cleaner than setting up the type in the LocalStiffness class itself.
-
Sander, Oliver authored
This will later simplify merging the mixed and non-mixed versions of the assembler code.
-
Sander, Oliver authored
The rest of the HarmonicEnergy class is now independent of the density. It is functionally equivalent to the LocalIntegralEnergy class, and shall be replaced by that eventually. However, LocalIntegralEnergy still has the deformation/rotation-split hard-coded in a few places, and that needs more work.
-
Sander, Oliver authored
The new method is Fufem::markBoundaryPatchDofs, which apparently works in just the same way.
-
Sander, Oliver authored
Currently, Cosserat materials are hard-wired in the interface. This patch changes the interface a little bit towards being more general.
-
Sander, Oliver authored
That's another step closer towards merging the MixedLocalGeodesicFEStiffness and the LocalGeodesicFEStiffness. Also, it is necessary to be later able to generalize the code for product spaces with more than two factors.
-
Sander, Oliver authored
-
Sander, Oliver authored
It is deprecated, and not used anymore.
-
Sander, Oliver authored
... rather than two separate spaces. This is one step towards getting rid of it altogether.
-
Sander, Oliver authored
-
- Feb 05, 2024
-
-
Sander, Oliver authored
-
Sander, Oliver authored
... regarding ambiguous logical expressions.
-
- Jan 19, 2024
-
-
Sander, Oliver authored
Update instrumented path for Riemannian TR and PN solvers. See merge request osander/dune-gfe!142
-
Klaus Böhnlein authored
-