- Mar 08, 2025
-
-
Sander, Oliver authored
-
Sander, Oliver authored
... instead of binding to LocalFiniteElement objects. This is how binding works everywhere else, too. In addition, in frees us from the difficult task to always get the appropriate LocalFiniteElement objects to bind to.
-
- Mar 07, 2025
-
-
Sander, Oliver authored
... instead of always constructing a local LocalGeodesicFEFunction object. This makes the class consistent with all similar assemblers. It also removes the hardwired 'geodesic' interpolation rule. Unfortunately, this commit contains a bit of whitespace change.
-
Sander, Oliver authored
-
Sander, Oliver authored
Because it was way more boilerplate code than actual code.
-
Sander, Oliver authored
This is what the other energies do.
-
Sander, Oliver authored
This is the basis used as interpolation weights (for geodesic FE functions) or for interpolating in the embedding space (for projection-based FE functions). The basis is not actually used yet, but it needs to be given to the class in the constructor.
-
Sander, Oliver authored
Rather than constructing objects locally.
-
Sander, Oliver authored
Rather, expect them as constructor arguments.
-
Sander, Oliver authored
Instead, expect to be given one from the outside. This is one more step towards making local interpolation rules more like local functions.
-
Sander, Oliver authored
-
Sander, Oliver authored
As one further step towards making LocalInterpolationRules more like (local) functions, introduce a new method 'bind' accepting a local finite element and a set of (local) coefficients. This method replaces the constructor taking the same arguments. Instead, the local function object now has to be default constructed. This is just an intermediate step, however.
-
Sander, Oliver authored
Instead of hard-coding LocalGeodesicFEFunction.
-
- Feb 27, 2025
-
-
Sander, Oliver authored
-
Sander, Oliver authored
-
Sander, Oliver authored
MixedGFEAssembler is not part of an inheritance hierarchy.
-
Sander, Oliver authored
It doesn't look like this code ever worked.
-
Sander, Oliver authored
There is a generic mechanism for surface loads in form of the NeumannEnergy class (to be replaced soon(TM) by something even more generic). This is what should be used, instead of ad hoc implementations such as the one in SimoFoxEnergy.
-
Sander, Oliver authored
Because it is an energy, not a local stiffness.
-
- Jan 22, 2025
-
-
Sander, Oliver authored
Rather than a LocalFiniteElement. This makes LocalGeodesicFEFunction more like a dune-functions-style local function, which I think it should be.
-
Sander, Oliver authored
Rather than a LocalFiniteElement. This makes LocalGeodesicFEFunction more like a dune-functions-style local function, which I think it should be.
-
- Jan 17, 2025
-
-
-
Sander, Oliver authored
This patch contains only whitespace changes.
-
Sander, Oliver authored
Previously, some code was in Dune::GFE, some was in Dune::, and a lot of it was in the global namespace.
-
- Jan 12, 2025
-
-
Sander, Oliver authored
I wrote them years ago mainly because I thought they should exist. But they were never actually used them for anything, and I don't really know were they could be used either. Supposedly they could be useful for implementing problems without a minimization formulation, but that's not currently planned, and I don't know what the precise requirements would be, either. Since the code is short and almost trivial, and easily resurrected, this commit removes the two files. For newcomers this will mean two less files to wonder about.
-
- Jan 07, 2025
-
-
Sander, Oliver authored
It is default-implemented in LocalDensity itself, and therefore density implementations don't have to implement it themselves unless they need to do something nonstandard.
-
- 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.
-
- Jan 04, 2025
-
-
Sander, Oliver authored
This allows to fix the incorrect coordinate type that was expected for evaluating the density.
-
Sander, Oliver authored
Currently, densities only get the type used for coordinates of the integration domain. However, this is not enough: The complete domain must be known, and this domain can be either a grid element or a grid intersection. As a first small step, this patch introduces ElementOrIntersection as a template parameter of the CosseratShellDensity class.
-
Sander, Oliver authored
This is one step towards turning SurfaceCosseratEnergy into a generic SurfaceIntegralEnergy class.
-
Sander, Oliver authored
-
- Nov 06, 2024
-
-
Sander, Oliver authored
The NonplanarCosseratShellEnergy class contains a reimplementation of the energy density of CosseratShellDensity. The code is much easier to understand and maintain if the density implementation of CosseratShellDensity is used instead.
-
Sander, Oliver authored
-
- Nov 05, 2024
-
-
Sander, Oliver authored
That is one step towards splitting off the energy density into a separate class. Also, it helps to unify the code paths for the different grid dimensions in cosserat-continuum.cc
-
- Sep 07, 2024
-
-
Sander, Oliver authored
Instead, use LocalIntegralEnergy and the newly introduced densities for bulk models or planar shell models. While doing so, give an error message when non-trivial volume loads are requested. I have no example file that actually uses them at the moment, and just by looking at the code I find it hard to believe that they actually worked. Getting them to work will mean having introduce a density for volume loads, which don't want to do until I need them. Since this is the last use of the CosseratEnergyLocalStiffness class, this patch remove the entire class as well.
-
- Sep 01, 2024
-
-
Sander, Oliver authored
It does not use the main class CosseratEnergyLocalStiffness, but only the small helper class to access local finite elements from different types of basis trees. I am not very happy about this helper class, but let's be pragmatic and simply copy it to nonplanarcosseratshellenergy.hh (with a new, unique name).
-
Sander, Oliver authored
This removes one use of the CosseratEnergyLocalStiffness class, which is scheduled for complete removal.
-
- Aug 30, 2024
-
-
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
Rather than keeping a duplicate implementation of the bulk Cosserat density.
-
- Aug 22, 2024
-
-
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.
-