-
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 authoredThis 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.
Master
-
The
SimoFoxEnergy
class (formerly known asSimoFoxEnergyLocalStiffness
) does not accept a surface load density anymore. Use theNeumannEnergy
class for assembling surface loads. -
The class
LocalIntegralEnergy
now does not construct the local interpolation rule itself anymore. Rather, it expects to be given one in its constructor. This will allow interpolation rules with state. -
The same holds for
CosseratRodEnergy
. Unfortunately, that move implies thatCosseratRodEnergy
gains an extra template argument which specifies the GFE function used to implement the reference configuration. -
The classes
LocalGeodesicFEFunction
andLocalProjectedFEFunction
now take adune-functions
basis as their first arguments, instead of aLocalFiniteElement
. In addition, they need to be given an object of this type in the constructor. This is the basis to be used for interpolation weights (forLocalGeodesicFEFunction
) and for interpolating in the embedding space (forLocalProjectedFEFunction
). -
The entire code is now in the
Dune::GFE
namespace. -
Remove the files
localgfetestfunctionbasis.hh
andlocaltangentfefunction.hh
. They were never used for anything at all, I and currently wouldn't know what to use them for, either. -
All implementations of functions have been move to a
functions
subdirectory. -
The
LocalDensity
class now has a template parameterElementOrIntersection
, which replaces the parameterPosition
. As the name says, this parameter has to be a grid element, or a grid intersection. As it turned out, just depending on the position type of the integration domain was not enough. -
The
LocalDensity
class now has abind
method, which binds the density to a given element or intersection. This is necessary, for example, to in turn bind coefficient functions that the density may own.
Release 2.10 (2024-12-29)
-
The module
dune-elasticity
has been downgraded from a required dependency to an optional dependency. It is currently only needed by thefilm-on-substrate.cc
program. -
cosserat-rod.cc
(formerlyrod3d.cc
) now reads the reference configuration and the initial iterate from the Python file. -
The file
rod3d.cc
has been renamed tocosserat-rod.cc
, to better reflect what it does. -
In the
BulkCosseratDensity
class: Make the type of curvature tensor controllable at run-time (previously, ugly preprocessor switches where used). Among its parametersBulkCosseratDensity
now expects a stringcurvatureType
, which has to take one of the valuesnorm
,curl
, orwryness
. -
Building
dune-gfe
now requires Dune 2.9 or newer. Older configurations have not gotten CI-tested for quite a while, anyway. -
The
RigidBodyMotion
class has been removed. Please useProductManifold<RealTuple,Rotation>
from now on. -
You can use
std::tuple_element
andstd::tuple_size
withProductManifold
s now. -
Building the module requires CMake version 3.16 now, to be in line with the current core modules.
-
All files that implement densities have been put into the
densities
subdirectory. -
All files that implement assemblers have been moved to the
assemblers
subdirectory. -
All files that implement target spaces have been moved to the
spaces
subdirectory. -
The file
periodic1dpq1nodalbasis.hh
has been removed. Useperiodicbasis.hh
from thedune-functions
module in the future. -
Replaced the class
GlobalGeodesicFEFunction
by a new one calledGlobalGFEFunction
. There are two important changes: First of all, the new class implements thedune-functions
interface rather than the deprecated one based on inheritance fromVirtualGridViewFunction
. Secondly, the new class does not hard-wire geodesic interpolation anymore. Rather, you can give it interpolation classes which then govern how interpolation is done. -
Added dune-gmsh4 as a dependency
-
Build cosserat-continuum for different combinations of LFE-orders and GFE-orders, the respective program is called cosserat-continuum-Xd-in-Xd-LFE_ORDER-GFE_ORDER TODO: This is now set during compile time, but shall be changed to be set during runtime.
-
Do not scale the density functions with the thickness to avoid confusion since some densities need to be scaled and some do not need to be scaled with the thickness depending on the dimension of the grid, their direction and their kind (Neumann or volume load).
-
Fix bug in the
RealTuple::log
method: Callinglog(a,b)
returneda-b
instead ofb-a
. -
Fix the return value of
ProductManifold::log
: It wasTangentVector
, but now it isEmbeddedTangentVector
. -
The
RigidBodyMotion
class has alog
method now. -
The method
Rotation<3>::log
now returns anEmbeddedTangentVector
instead of aSkewMatrix
. This is consistent with the other manifold implementations. -
Deprecate the method
RigidBodyMotion::difference
; the methodRigidBodyMotion::log
. Watch out: Thedifference
method was buggy! See !2 (closed) for details.