diff --git a/Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp b/Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp index bfd4b40dbc5..f7858b66fb6 100644 --- a/Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp +++ b/Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp @@ -136,24 +136,13 @@ WarpX::AddMagnetostaticFieldLabFrame() else { required_precision = 1e-11; } - int max_iters = 200; int verbosity = 2; - // load user specified parameters - const ParmParse pp_warpx("warpx"); - utils::parser::queryWithParser( - pp_warpx, "self_fields_required_precision", required_precision); - utils::parser::queryWithParser( - pp_warpx, "self_fields_absolute_tolerance", absolute_tolerance); - utils::parser::queryWithParser( - pp_warpx, "self_fields_max_iters", max_iters); - utils::parser::queryWithParser( - pp_warpx, "self_fields_verbosity", verbosity); - computeVectorPotential( m_fields.get_mr_levels_alldirs(FieldType::current_fp, finest_level), m_fields.get_mr_levels_alldirs(FieldType::vector_potential_fp_nodal, finest_level), - required_precision, absolute_tolerance, max_iters, verbosity + required_precision, absolute_tolerance, magnetostatic_solver_max_iters, + verbosity ); } diff --git a/Source/WarpX.H b/Source/WarpX.H index 73998d6faf2..56d4f879de8 100644 --- a/Source/WarpX.H +++ b/Source/WarpX.H @@ -902,6 +902,7 @@ public: // Magnetostatic Solver Interface MagnetostaticSolver::VectorPoissonBoundaryHandler m_vector_poisson_boundary_handler; + int magnetostatic_solver_max_iters = 200; void ComputeMagnetostaticField (); void AddMagnetostaticFieldLabFrame (); void computeVectorPotential (ablastr::fields::MultiLevelVectorField const& curr, diff --git a/Source/WarpX.cpp b/Source/WarpX.cpp index 965235e1078..75aa964da3a 100644 --- a/Source/WarpX.cpp +++ b/Source/WarpX.cpp @@ -684,6 +684,7 @@ WarpX::ReadParameters () poisson_solver_id!=PoissonSolverAlgo::IntegratedGreenFunction, "To use the FFT Poisson solver, compile with WARPX_USE_FFT=ON."); #endif + utils::parser::queryWithParser(pp_warpx, "self_fields_max_iters", magnetostatic_solver_max_iters); WARPX_ALWAYS_ASSERT_WITH_MESSAGE( (