dune-gfe merge requestshttps://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests2024-08-22T10:06:41Zhttps://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/161Start using dune-vtk for writing Cosserat models2024-08-22T10:06:41ZSander, OliverStart using dune-vtk for writing Cosserat modelshttps://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/160Replace obsolete namespace Dune::TypeTree::Indices by Dune::Indices2024-08-21T08:45:56ZSander, OliverReplace obsolete namespace Dune::TypeTree::Indices by Dune::Indiceshttps://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/159cosserat-continuum.cc: Read input parameters as Python file2024-08-12T12:14:40ZSander, Olivercosserat-continuum.cc: Read input parameters as Python fileRather than as our homegrown .parset. This allows to have the entire problem description in a single file, including the boundary data.Rather than as our homegrown .parset. This allows to have the entire problem description in a single file, including the boundary data.https://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/158Fix derivatives of nonconforming interpolation2024-08-08T09:39:17ZSander, OliverFix derivatives of nonconforming interpolationhttps://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/157Fix memory access errors when density does not depend on function value2024-08-07T08:26:09ZSander, OliverFix memory access errors when density does not depend on function valueIf 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 stil...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.https://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/156Draft: Modernize Cosserat models2024-09-07T10:57:45ZSander, OliverDraft: Modernize Cosserat modelshttps://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/155Fix some typos in parameterTree strings for both Riemannian-TR and Riemannian-PN & print final energy @Riemannian-pn solver2024-07-09T15:02:00ZKlaus BöhnleinFix some typos in parameterTree strings for both Riemannian-TR and Riemannian-PN & print final energy @Riemannian-pn solver- Remove whitespace in maxProximalNewtonSteps-string @Riemannianpnsolver (causes problem with get-method of parameterTree)
- Consistently use the string "H1semi" for both solvers
- Output the final energy in Riemannian-PN solver (analog ...- Remove whitespace in maxProximalNewtonSteps-string @Riemannianpnsolver (causes problem with get-method of parameterTree)
- Consistently use the string "H1semi" for both solvers
- Output the final energy in Riemannian-PN solver (analog to Riemannian-TR)Klaus BöhnleinKlaus Böhnleinhttps://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/154Various minor fixes and improvements2024-07-07T16:55:27ZSander, OliverVarious minor fixes and improvementshttps://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/153Fix nonconforming interpolation2024-06-23T19:09:31ZSander, OliverFix nonconforming interpolationRecent refactoring broke nonconforming interpolation. This MR fixes the problems.Recent refactoring broke nonconforming interpolation. This MR fixes the problems.https://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/152Fix: Consistent naming of parameter strings2024-05-29T08:08:29ZKlaus BöhnleinFix: Consistent naming of parameter stringsFix: Consistent naming of parameter strings
(Fix some parameter-strings used for norm-selection)Fix: Consistent naming of parameter strings
(Fix some parameter-strings used for norm-selection)Klaus BöhnleinKlaus Böhnleinhttps://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/151MixedGFEAssembler: Pass local stiffness by r-value, l-value, shared_ptr2024-05-01T07:21:58ZSander, OliverMixedGFEAssembler: Pass local stiffness by r-value, l-value, shared_ptr... but disallow a plain pointer. This increases consistency with the
GeodesicFEAssembler class.... but disallow a plain pointer. This increases consistency with the
GeodesicFEAssembler class.https://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/150Add option to choose a different Regularization-Norm for the Riemannian Newton with Hessian modification2024-05-08T10:56:11ZKlaus BöhnleinAdd option to choose a different Regularization-Norm for the Riemannian Newton with Hessian modificationSo far we only use the Euclidean-Norm for the added regularization term.
Another Norm such as the H1-Seminorm may be more suited (adapted to the problem).
This request adds the option to choose a different Norm for the regularization.So far we only use the Euclidean-Norm for the added regularization term.
Another Norm such as the H1-Seminorm may be more suited (adapted to the problem).
This request adds the option to choose a different Norm for the regularization.Klaus BöhnleinKlaus Böhnleinhttps://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/149Make BulkCosseratDensity interface more standard-like2024-04-23T06:34:21ZSander, OliverMake BulkCosseratDensity interface more standard-likeCurrently, the LocalDensity class has a special interface
only for Cosserat-Type materials with a RealTuple/Rotation
pair of spaces. This commit removes this and uses the
standard interface everywhere.Currently, the LocalDensity class has a special interface
only for Cosserat-Type materials with a RealTuple/Rotation
pair of spaces. This commit removes this and uses the
standard interface everywhere.https://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/148Use plain std::vector<double> for element energy gradients2024-04-06T04:20:40ZSander, OliverUse plain std::vector<double> for element energy gradientsThis is what dune-function mandates. We don't actually use
dune-functions here a lot, but it is still nice to stay in the spirit.
Also, I am thinking about using dune-functions bases for *some*
indexing work in the future.
Plus, I hope...This is what dune-function mandates. We don't actually use
dune-functions here a lot, but it is still nice to stay in the spirit.
Also, I am thinking about using dune-functions bases for *some*
indexing work in the future.
Plus, I hope that getting rid of the blocking will improve run-times
of debug builds a little bit, in particular in the
LocalIntegralStiffness class.https://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/147Add missing regularization term in the quality measurement for step acceptance2024-04-16T12:45:19ZKlaus BöhnleinAdd missing regularization term in the quality measurement for step acceptanceWhen checking for the acceptance of a new iterate in the Riemannian proximal Newton solver
the regularization-term which is part of the quadratic model is missing in the quality measurement of the step.
The model decrease should be: $ m...When checking for the acceptance of a new iterate in the Riemannian proximal Newton solver
the regularization-term which is part of the quadratic model is missing in the quality measurement of the step.
The model decrease should be: $ m(x) - m(x+s) = -<g,s> - 0.5 <s, (H + regularization * I) s> $ However
$ m(x) - m(x+s) = -<g,s> - 0.5 <s, H s> $ is currently used.Klaus BöhnleinKlaus Böhnleinhttps://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/146Implement GlobalP2Mapper for 3d grids even without dune-parmg2024-03-25T20:08:21ZSander, OliverImplement GlobalP2Mapper for 3d grids even without dune-parmgThis allows to enable `filmonsubstratetest.cc` unconditionally.This allows to enable `filmonsubstratetest.cc` unconditionally.https://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/145MixedRiemannianPNSolver2024-03-26T07:51:20ZSander, OliverMixedRiemannianPNSolverA rebased and updated version of !71 .
In particular, there is no need for flat-to-blocked conversion anymore. Nowadays `CholmodSolver` accepts `MultiType` objects directly.A rebased and updated version of !71 .
In particular, there is no need for flat-to-blocked conversion anymore. Nowadays `CholmodSolver` accepts `MultiType` objects directly.https://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/144Steps towards using LocalIntegralEnergy instead of problem-specific energy classes2024-03-19T06:17:26ZSander, OliverSteps towards using LocalIntegralEnergy instead of problem-specific energy classeshttps://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/143Various cleanup patches2024-02-12T20:12:51ZSander, OliverVarious cleanup patcheshttps://gitlab.math.tu-dresden.de/osander/dune-gfe/-/merge_requests/142Update instrumented path for Riemannian TR and PN solvers.2024-01-19T14:21:26ZKlaus BöhnleinUpdate instrumented path for Riemannian TR and PN solvers.Add option to set a file-path for the 'instrumented' option for both the 'Riemannian trust-region' and the 'Proximal-newton' solver via a parameterTree. The '/tmp' folder used so far becomes the default.Add option to set a file-path for the 'instrumented' option for both the 'Riemannian trust-region' and the 'Proximal-newton' solver via a parameterTree. The '/tmp' folder used so far becomes the default.Klaus BöhnleinKlaus Böhnlein