Commits on Source (90)
-
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.
-
Sander, Oliver authored
-
Sander, Oliver authored
Because the part that computes the curvature energy from the wryness tensor is identical for all curvature tensors that appear in this implementation.
-
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.
-
Sander, Oliver authored
The ugly preprocessor switch is still there, but I think the method is more readable now.
-
Sander, Oliver authored
In particular, there is a directory dune/elasticy/densities now.
-
Sander, Oliver authored
It is required by dune-fufem anyway.
-
Sander, Oliver authored
-
Sander, Oliver authored
That is simply more flexible than the old parametertree format.
-
Sander, Oliver authored
This is more flexible, and more consistent with what cosserat-continuum.cc does.
-
Sander, Oliver authored
Rather than hardcoding a straight reference configuration
-
Sander, Oliver authored
This reflects better what the file does.
-
Sander, Oliver authored
Just like in cosserat-continuum.cc, there is now a Python class that implements the initial iterate and the Dirichlet boundary values at the same time.
-
Sander, Oliver authored
-
Sander, Oliver authored
This should simplify the code, but it doesn't: Computing the displacement still needs a lot of code lines.
-
Sander, Oliver authored
In the code that takes the initial iterate from a while, a call to 'interpolate' was out-commented, because interpolating an 'EmbeddedGlobalGFEFunction' was not possible back in the days. That has changed so, and 'interpolate' can now be called. I still doubt that the code ever worked or works now. How could it ever be tested? '# geändert: src/cosserat-continuum.cc
-
Sander, Oliver authored
For this test to be really helpful it has to use curved grids.
-
Sander, Oliver authored
And use it in the dim==dimworld part of cosserat-continuum.cc.
-
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
-
Sander, Oliver authored
For some reason there were two code paths for the creation of the solver object: One for dim==dimworld, and one for dim!=dimworld. These shouldn't really differ, though, and indeed they didn't as far as I can tell. Theremore, merge the two code paths.
-
Sander, Oliver authored
-
Sander, Oliver authored
... and with constant Lamé parameters. In many applications there are constant, and it is convenient to be able to exploit that.
-
Sander, Oliver authored
-
Sander, Oliver authored
-
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
-
Sander, Oliver authored
It is only used by `film-on-substrate.cc` which many people do no use.
-
Sander, Oliver authored
-
Sander, Oliver authored
-
Sander, Oliver authored
-
Sander, Oliver authored
Previously, the writer requested an FE basis to represent the director vectors. With the help of ComposedGridViewFunction this patch allows to avoid this extra basis, which makes for a much nicer interface for CosseratVTKWriter.
-
Sander, Oliver authored
-
Sander, Oliver authored
The compute-disc-error program reads this to compute discretization errors. Doing the data transfer via VTK files would be more convenient, but that involves a resampling which I'd rather like to avoid.
-
Sander, Oliver authored
-
Sander, Oliver authored
It computes buckling under a axial compressive displacement load.
-
Praetorius, Simon authored
-
-
Sander, Oliver authored
-
Sander, Oliver authored
-
Sander, Oliver authored
-
Sander, Oliver authored
This can be used in makeComposedGridFunction to turn quaternion-valued functions to matrix-type ones, and vice versa.
-
Sander, Oliver authored
-
Sander, Oliver authored
Previously, the code would write the reference deformation and the final orientation. This patch replaces the reference deformation by the final deformation. This is still wrong, because the CosseratVTKWriter expect the displacement, not the deformation. That problem is left for later.
-
Sander, Oliver authored
For my current clang 19.1.5 they are an error.
-
Sander, Oliver authored
They are unused -- all code uses the space-dependent parameters.
-
Sander, Oliver authored
This is one step towards turning SurfaceCosseratEnergy into a generic SurfaceIntegralEnergy class.
-
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 allows to fix the incorrect coordinate type that was expected for evaluating the density.
-
Sander, Oliver authored
-
Sander, Oliver authored
I suspect that calling the density through LocalDensity::operator() doesn't work yet, because the GFE function derivatives are not transformed correctly from the reference to the grid element. Therefore that new method still aborts with a deliberate error message, until I have the time to check.
-
Sander, Oliver authored
-
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.
-
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.
-
Sander, Oliver authored
-
Sander, Oliver authored
-
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.
-
Sander, Oliver authored
Previously, some code was in Dune::GFE, some was in Dune::, and a lot of it was in the global namespace.
-
Sander, Oliver authored
This patch contains only whitespace changes.
-
Sander, Oliver authored
-
-
Sander, Oliver authored
The class LocalGfeTestFunctionBasis was removed in a recent commit, and I forgot to remove a friend declaration for it.
-
Sander, Oliver authored
I don't think it is worth keeping it, even if it may be a bit faster than the general code.
-
Sander, Oliver authored
-
Sander, Oliver authored
-
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.
-
Sander, Oliver authored
-
Sander, Oliver authored
-
Sander, Oliver authored
It was non-virtual by oversight.
-
Sander, Oliver authored
Because it is an energy, not a local stiffness.
-
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
It doesn't look like this code ever worked.
-
Sander, Oliver authored
MixedGFEAssembler is not part of an inheritance hierarchy.
-
Sander, Oliver authored
-
Sander, Oliver authored
-
Sander, Oliver authored
Instead of hard-coding LocalGeodesicFEFunction.
-
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
-
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
Rather, expect them as constructor arguments.
-
Sander, Oliver authored
Rather than as a std::unique_ptr. The unique_ptr was introduced because originally it was not possible to construct a LocalGeodesicFEFunction without also binding it. As this has now changed we can get rid of the extra allocation required by std::unique_ptr.
-
Sander, Oliver authored
Rather than constructing objects locally.
-
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
This is what the other energies do.
-
Sander, Oliver authored
Because it was way more boilerplate code than actual code.
-
Sander, Oliver authored
-
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
... 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.
-
Sander, Oliver authored
-
Sander, Oliver authored
Showing
- .git-blame-ignore-revs 3 additions, 0 deletions.git-blame-ignore-revs
- .gitlab-ci.yml 99 additions, 8 deletions.gitlab-ci.yml
- CHANGELOG.md 55 additions, 0 deletionsCHANGELOG.md
- CMakeLists.txt 7 additions, 0 deletionsCMakeLists.txt
- dune.module 3 additions, 3 deletionsdune.module
- dune/gfe/CMakeLists.txt 1 addition, 8 deletionsdune/gfe/CMakeLists.txt
- dune/gfe/assemblers/CMakeLists.txt 0 additions, 1 deletiondune/gfe/assemblers/CMakeLists.txt
- dune/gfe/assemblers/cosseratenergystiffness.hh 0 additions, 435 deletionsdune/gfe/assemblers/cosseratenergystiffness.hh
- dune/gfe/assemblers/cosseratrodenergy.hh 80 additions, 27 deletionsdune/gfe/assemblers/cosseratrodenergy.hh
- dune/gfe/assemblers/discretekirchhoffbendingenergy.hh 94 additions, 0 deletionsdune/gfe/assemblers/discretekirchhoffbendingenergy.hh
- dune/gfe/assemblers/forceenergy.hh 97 additions, 0 deletionsdune/gfe/assemblers/forceenergy.hh
- dune/gfe/assemblers/geodesicfeassembler.hh 184 additions, 180 deletionsdune/gfe/assemblers/geodesicfeassembler.hh
- dune/gfe/assemblers/geodesicfeassemblerwrapper.hh 6 additions, 5 deletionsdune/gfe/assemblers/geodesicfeassemblerwrapper.hh
- dune/gfe/assemblers/l2distancesquaredenergy.hh 64 additions, 56 deletionsdune/gfe/assemblers/l2distancesquaredenergy.hh
- dune/gfe/assemblers/localenergy.hh 31 additions, 34 deletionsdune/gfe/assemblers/localenergy.hh
- dune/gfe/assemblers/localfirstordermodel.hh 1 addition, 1 deletiondune/gfe/assemblers/localfirstordermodel.hh
- dune/gfe/assemblers/localgeodesicfeadolcstiffness.hh 626 additions, 620 deletionsdune/gfe/assemblers/localgeodesicfeadolcstiffness.hh
- dune/gfe/assemblers/localgeodesicfefdstiffness.hh 204 additions, 198 deletionsdune/gfe/assemblers/localgeodesicfefdstiffness.hh
- dune/gfe/assemblers/localgeodesicfestiffness.hh 24 additions, 23 deletionsdune/gfe/assemblers/localgeodesicfestiffness.hh
- dune/gfe/assemblers/localintegralenergy.hh 66 additions, 85 deletionsdune/gfe/assemblers/localintegralenergy.hh
dune/gfe/assemblers/forceenergy.hh
0 → 100644
This diff is collapsed.
This diff is collapsed.