Skip to content
Snippets Groups Projects
Commit 80523cd2 authored by Lisa Julia Nebel's avatar Lisa Julia Nebel
Browse files

WHITESAPCES for previous commit: Add the option to use the Riemannian Proximal...

WHITESAPCES for previous commit: Add the option to use the Riemannian Proximal Newton solver also for problems with dim = dimwold
parent d8845fd8
No related branches found
No related tags found
1 merge request!81Fix error in surfacecosseratenergy
...@@ -502,25 +502,25 @@ int main (int argc, char *argv[]) try ...@@ -502,25 +502,25 @@ int main (int argc, char *argv[]) try
using GFEAssemblerWrapper = Dune::GFE::GeodesicFEAssemblerWrapper<CompositeBasis, DeformationFEBasis, TargetSpace, RealTuple<double, 3>, Rotation<double,3>>; using GFEAssemblerWrapper = Dune::GFE::GeodesicFEAssemblerWrapper<CompositeBasis, DeformationFEBasis, TargetSpace, RealTuple<double, 3>, Rotation<double,3>>;
GFEAssemblerWrapper assembler(&mixedAssembler, deformationFEBasis); GFEAssemblerWrapper assembler(&mixedAssembler, deformationFEBasis);
if (parameterSet.get<std::string>("solvertype", "trustRegion") == "trustRegion") { if (parameterSet.get<std::string>("solvertype", "trustRegion") == "trustRegion") {
RiemannianTrustRegionSolver<DeformationFEBasis, TargetSpace, GFEAssemblerWrapper> solver; RiemannianTrustRegionSolver<DeformationFEBasis, TargetSpace, GFEAssemblerWrapper> solver;
solver.setup(*grid, solver.setup(*grid,
&assembler, &assembler,
xTargetSpace, xTargetSpace,
dirichletDofsTargetSpace, dirichletDofsTargetSpace,
tolerance, tolerance,
maxSolverSteps, maxSolverSteps,
initialTrustRegionRadius, initialTrustRegionRadius,
multigridIterations, multigridIterations,
mgTolerance, mgTolerance,
mu, nu1, nu2, mu, nu1, nu2,
baseIterations, baseIterations,
baseTolerance, baseTolerance,
instrumented); instrumented);
solver.setScaling(parameterSet.get<FieldVector<double,6> >("trustRegionScaling")); solver.setScaling(parameterSet.get<FieldVector<double,6> >("trustRegionScaling"));
solver.setInitialIterate(xTargetSpace); solver.setInitialIterate(xTargetSpace);
solver.solve(); solver.solve();
xTargetSpace = solver.getSol(); xTargetSpace = solver.getSol();
} else { } else {
RiemannianProximalNewtonSolver<DeformationFEBasis, TargetSpace, GFEAssemblerWrapper> solver; RiemannianProximalNewtonSolver<DeformationFEBasis, TargetSpace, GFEAssemblerWrapper> solver;
solver.setup(*grid, solver.setup(*grid,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment