Commits on Source (47)
-
Sander, Oliver authored
Several energy density implementations contained code for matrix methods like sym, skew, transpose etc. This patch moves them all to the file linearalgebra.hh, to get rid of the redundancy.
-
Sander, Oliver authored
Move all generic low-level matrix methods to a central place See merge request !50
-
Lisa Julia Nebel authored
This actually enforced writing of three tape files of ADOL-C (see taping.h)!
-
Lisa Julia Nebel authored
This array contains the global numbering for the degrees of freedom on the whole grid hierarchy, not only on the coarsest level.
-
Lisa Julia Nebel authored
Print out assembly time for each process on each process and print out the gradient norms only on one process.
-
Lisa Julia Nebel authored
In case the solve step (which is only done on process 0) goes wrong communicate it to all processes.
-
Lisa Julia Nebel authored
Do not call loadBalance() after each refinement.
-
Lisa Julia Nebel authored
Then each process knows the initial stress free configuration and can assemble its own part of the grid.
-
Lisa Julia Nebel authored
Add first version of the Riemannian Proximal Newton solver, as an alternative to the Trust-Region Solver. In each step of these two iterative solvers, we try to find a correction that decreases the energy of the nonlinear functional of the current iterate x. The correction is calculated using the Taylor expansion around x, resulting in the problem: Hessian(x) * correction = -gradient(x). Within a certain radius around x, the functional can be approximated correctly and then the corrections causes an energy decrease. 1) The trust-region algorithm ensures this using a trust-region. 2) The proximal newton method ensures this by punishing large corrections using a regularization factor.
-
Lisa Julia Nebel authored
-
Lisa Julia Nebel authored
-
Lisa Julia Nebel authored
This is where they actually belong, create an own file for identity-dirichlet-values; before we 'abused' a copy of the file cantilever-dirichlet-values.py
-
Lisa Julia Nebel authored
-
Sander, Oliver authored
Read in deformation function on each process and adapt riemannian trustregion solver - parallel assembly works again! See merge request !44
-
Sander, Oliver authored
Feature/proximal newton solver See merge request !45
-
Sander, Oliver authored
* Do not test with libc++. As ADOL-C is built using libstd++ we get strange linker and run-time errors. * Mention that the problem with return value of the ADOL-C adouble comparison operators has been fixed in version 2.7.2. This will allow to eventually remove the code that patches dune-common for the CI system. * Add gcc test with Dune 2.7. * Remove the clang test with Dune 2.6. It makes clang crash, but this case is not important enough to make me debug it. foo
-
Sander, Oliver authored
Apparently it is not used.
-
Sander, Oliver authored
Do not test with libc++ See merge request !51
-
Lisa Julia Nebel authored
-
Lisa Julia Nebel authored
In case an error occurs while solving or calculating the energy, the program does not stop but the error is handled in the Mixed-Riemannian-Trust-Region solver and the program continues with a smaller trustregion-radius.
-
Lisa Julia Nebel authored
WHITESPACES: Wrap energy calculation and solve-call in the Mixed-Riemannian-TR solver in a try-catch statement
-
Lisa Julia Nebel authored
This makes it possible to do parallel assembly
-
Lisa Julia Nebel authored
This makes it possible to use other Assemblers
-
Lisa Julia Nebel authored
-
Sander, Oliver authored
Enhancements See merge request !52
-
Lisa Julia Nebel authored
-
Lisa Julia Nebel authored
Also adjust CosseratEnergyStiffness and MixedGFEAssembler for the use with a CompositeBasis instead of a PowerBasis
-
Lisa Julia Nebel authored
The GeodesicFEAssemblerWrapper needs to access the MatrixType.
-
Sander, Oliver authored
Enhancements See merge request !53
-
Lisa Julia Nebel authored
Add a GeodesicFEAssemblerWrapper - it wraps a MixedGFEAssembler so it can be used like a GeodesicFEAssembler The GeodesicFEAssemblerWrapper assembles the Gradient and the Hessian using the MixedGFEAssembler and then resturctures them so they can be used with the normal RiemannianTRSolver. This only works, if the FE spaces have the same order.
-
Sander, Oliver authored
Add a GeodesicFEAssemblerWrapper - it wraps a MixedGFEAssembler so it can be... See merge request !55
-
Sander, Oliver authored
Simon Praetorius' dune-vtk module has much better support for reading and writing than my old hacks in dune-gfe. Let's start adopting dune-vtk for VTK I/O. In this initial step, dune-vtk becomes a dependency of dune-gfe, but only an optional one. This may change.
-
Sander, Oliver authored
Remove homegrown VTKReader, use dune-vtk instead See merge request !58
-
Lisa Julia Nebel authored
Virtual Function is deprecated after dune 2.7.
-
Lisa Julia Nebel authored
With this it will be possible to for the SumCosseratEnergy and the SurfaceCosseratEnergy to extend GFE::LocalEnergy, as they need multiple types of TargetSpaces.
-
Sander, Oliver authored
Change TargetSpace of GFE::LocalEnergy to be a variadic template and Change from Virtual Function to lambda function in cosserat-continuum See merge request !57
-
Lisa Julia Nebel authored
-
Sander, Oliver authored
Correct typo in the calculation of the alternator tensor See merge request !60
-
Lisa Julia Nebel authored
Add sumenergy.hh, this class assembles the a sum of energies for a single element by summing up the energies of each GFE::LocalEnergy. This class works similarly to the class Dune::Elasticity::SumEnergy, where Dune::Elasticity::SumEnergy extends Dune::Elasticity::LocalEnergy and Dune::GFE::SumEnergy extends Dune::GFE::LocalEnergy.
-
Lisa Julia Nebel authored
film-on-substrate uses a class of dune-elasticity that is not available in earlier versions
-
Lisa Julia Nebel authored
Only compile geodesicfeassemblerwrappertest if the version of dune-elasticity is greater or equal 2.7
-
Sander, Oliver authored
Enhancements See merge request !61
-
Lisa Julia Nebel authored
Add localintegralenergy.hh and neumannenergy.hh, they assemble the energy for a single element and work with a CompositeBasis These classes work similarly to Dune::Elasticity::LocalIntegralEnergy and Dune::Elasticity::NeumannEnergy, where the ones in Dune::Elasticity with a power basis (for the displacement function) and Dune::GFE::LocalIntegralEnergy / Dune::GFE::NeumannEnergy work with a CompositeBasis (for the displacement AND the rotation), so the indices to access the different parts of the basis are different.
-
Lisa Julia Nebel authored
-
Lisa Julia Nebel authored
Use GFE::LocalEnergy, GFE::LocalIntegralEnergy, GFE::SumEnergy (and delete GFE::SumCosseratEnergy).
-
Lisa Julia Nebel authored
This is currently the faster solver
-
Sander, Oliver authored
Migrate from dune-fufem to dune-functions bases See merge request !48
Showing
- .gitlab-ci.yml 13 additions, 10 deletions.gitlab-ci.yml
- dune.module 1 addition, 1 deletiondune.module
- dune/gfe/cosseratenergystiffness.hh 16 additions, 62 deletionsdune/gfe/cosseratenergystiffness.hh
- dune/gfe/geodesicfeassemblerwrapper.hh 189 additions, 0 deletionsdune/gfe/geodesicfeassemblerwrapper.hh
- dune/gfe/linearalgebra.hh 125 additions, 2 deletionsdune/gfe/linearalgebra.hh
- dune/gfe/localenergy.hh 4 additions, 3 deletionsdune/gfe/localenergy.hh
- dune/gfe/localgeodesicfeadolcstiffness.hh 2 additions, 2 deletionsdune/gfe/localgeodesicfeadolcstiffness.hh
- dune/gfe/localintegralenergy.hh 105 additions, 0 deletionsdune/gfe/localintegralenergy.hh
- dune/gfe/mixedgfeassembler.hh 66 additions, 39 deletionsdune/gfe/mixedgfeassembler.hh
- dune/gfe/mixedlocalgfeadolcstiffness.hh 11 additions, 5 deletionsdune/gfe/mixedlocalgfeadolcstiffness.hh
- dune/gfe/mixedriemanniantrsolver.cc 108 additions, 83 deletionsdune/gfe/mixedriemanniantrsolver.cc
- dune/gfe/neumannenergy.hh 103 additions, 0 deletionsdune/gfe/neumannenergy.hh
- dune/gfe/nonplanarcosseratshellenergy.hh 19 additions, 141 deletionsdune/gfe/nonplanarcosseratshellenergy.hh
- dune/gfe/parallel/globalmapper.hh 4 additions, 5 deletionsdune/gfe/parallel/globalmapper.hh
- dune/gfe/realtuple.hh 16 additions, 0 deletionsdune/gfe/realtuple.hh
- dune/gfe/riemannianpnsolver.cc 525 additions, 0 deletionsdune/gfe/riemannianpnsolver.cc
- dune/gfe/riemannianpnsolver.hh 152 additions, 0 deletionsdune/gfe/riemannianpnsolver.hh
- dune/gfe/riemanniantrsolver.cc 27 additions, 17 deletionsdune/gfe/riemanniantrsolver.cc
- dune/gfe/riemanniantrsolver.hh 3 additions, 3 deletionsdune/gfe/riemanniantrsolver.hh
- dune/gfe/sumcosseratenergy.hh 0 additions, 73 deletionsdune/gfe/sumcosseratenergy.hh
dune/gfe/geodesicfeassemblerwrapper.hh
0 → 100644
dune/gfe/localintegralenergy.hh
0 → 100644
dune/gfe/neumannenergy.hh
0 → 100644
dune/gfe/riemannianpnsolver.cc
0 → 100644
This diff is collapsed.
dune/gfe/riemannianpnsolver.hh
0 → 100644
dune/gfe/sumcosseratenergy.hh
deleted
100644 → 0