diff --git a/ProcessLib/RichardsMechanics/ComputeMicroPorosity.h b/ProcessLib/RichardsMechanics/ComputeMicroPorosity.h index bc6f3ac456ecfa1b36d1f00cd99a5fe6d88ef00c..c62d9f10dc7e4f896af0862d3f28a4892be1be28 100644 --- a/ProcessLib/RichardsMechanics/ComputeMicroPorosity.h +++ b/ProcessLib/RichardsMechanics/ComputeMicroPorosity.h @@ -60,7 +60,9 @@ MicroPorosityStateSpace<DisplacementDim> computeMicroPorosity( double const S_L_m_prev, double const phi_m_prev, ParameterLib::SpatialPosition const pos, double const t, double const dt, MaterialPropertyLib::Property const& saturation_micro, - MaterialPropertyLib::Property const& swelling_stress_rate) + MaterialPropertyLib::Property const& swelling_stress_rate, + NumLib::NewtonRaphsonSolverParameters const& nonlinear_solver_parameters) + { namespace MPL = MaterialPropertyLib; static constexpr int kelvin_vector_size = @@ -186,9 +188,6 @@ MicroPorosityStateSpace<DisplacementDim> computeMicroPorosity( solution += increment; }; - static const NumLib::NewtonRaphsonSolverParameters - nonlinear_solver_parameters{1000, 1e-8, 1e-15}; - auto newton_solver = NumLib::NewtonRaphson<decltype(linear_solver), JacobianMatrix, decltype(update_jacobian), ResidualVectorType, diff --git a/Tests/ProcessLib/RichardsMechanics/MicroporosityComputation.cpp b/Tests/ProcessLib/RichardsMechanics/MicroporosityComputation.cpp index 25d16f4cb11aa5e25253585ab05722bdf241dcf2..611e21b08c55e65878288bb27e19e66ba2e183d7 100644 --- a/Tests/ProcessLib/RichardsMechanics/MicroporosityComputation.cpp +++ b/Tests/ProcessLib/RichardsMechanics/MicroporosityComputation.cpp @@ -74,6 +74,10 @@ TEST(RichardsMechanics, computeMicroPorosity) { static constexpr auto eps = 2e-14; constexpr int DisplacementDim = 2; + + static const NumLib::NewtonRaphsonSolverParameters + nonlinear_solver_parameters{1000, 1e-8, 1e-15}; + // // Create properties. // @@ -173,7 +177,8 @@ TEST(RichardsMechanics, computeMicroPorosity) rho_LR_m, // for simplification equal to rho_LR_M mu_LR, alpha_bar, alpha_B, phi_M, p_L, state_prev.p_L_m, MaterialPropertyLib::VariableArray{}, S_L_m_prev, state_prev.phi_m, - pos, t, dt, saturation_micro, swelling_stress_rate); + pos, t, dt, saturation_micro, swelling_stress_rate, + nonlinear_solver_parameters); // push back state state_prev = state;