diff --git a/problems/film-on-substrate.parset b/problems/film-on-substrate.parset index 55b999fca1bb4703c13bd3126015711877869661..8ccce0d1c12ba5b5145e813910dade3ba1281cea 100644 --- a/problems/film-on-substrate.parset +++ b/problems/film-on-substrate.parset @@ -59,7 +59,7 @@ initialDeformation = "x" ############################################# # Inner solver, cholmod or multigrid -solvertype = multigrid +solvertype = trustRegion # Number of homotopy steps for the Dirichlet boundary conditions numHomotopySteps = 1 diff --git a/src/film-on-substrate.cc b/src/film-on-substrate.cc index 5f5134fe7d641f802b120830cb58d9892fd5f731..e52201554d6630a4c50dde4f5283c60bd5d9d592 100644 --- a/src/film-on-substrate.cc +++ b/src/film-on-substrate.cc @@ -554,7 +554,7 @@ int main (int argc, char *argv[]) try // Create the chosen solver and solve! /////////////////////////////////////////////////// - if (parameterSet.get<std::string>("solvertype") == "multigrid") { + if (parameterSet.get<std::string>("solvertype", "trustRegion") == "trustRegion") { #if MIXED_SPACE MixedRiemannianTrustRegionSolver<GridType, CompositeBasis, DeformationFEBasis, RealTuple<double,dim>, OrientationFEBasis, Rotation<double,dim>> solver; solver.setup(*grid, @@ -603,7 +603,7 @@ int main (int argc, char *argv[]) try x[_1][i] = xRBM[i].q; } #endif - } else { //parameterSet.get<std::string>("solvertype") == "cholmod" + } else { //parameterSet.get<std::string>("solvertype") == "proximalNewton" #if MIXED_SPACE DUNE_THROW(Exception, "Error: There is no MixedRiemannianProximalNewtonSolver!");