6#include <deal.II/base/exceptions.h>
7#include <deal.II/base/parameter_handler.h>
8#include <deal.II/lac/precondition.h>
9#include <deal.II/lac/solver_minres.h>
10#include <deal.II/lac/solver_selector.h>
18#include <prismspf/config.h>
34 declare(dealii::ParameterHandler ¶meter_handler,
41 assign(dealii::ParameterHandler ¶meter_handler,
48 validate(
const std::vector<FieldAttributes> &field_attributes,
49 const std::vector<SolveBlock> &solve_blocks)
const override;
100 assign_gmres(dealii::ParameterHandler ¶meter_handler);
120 declare(dealii::ParameterHandler ¶meter_handler,
127 assign(dealii::ParameterHandler ¶meter_handler,
134 validate(
const std::vector<FieldAttributes> &field_attributes,
135 const std::vector<SolveBlock> &solve_blocks)
const override;
150 declare(dealii::ParameterHandler ¶meter_handler,
157 assign(dealii::ParameterHandler ¶meter_handler,
164 validate(
const std::vector<FieldAttributes> &field_attributes,
165 const std::vector<SolveBlock> &solve_blocks)
const override;
186 declare(dealii::ParameterHandler ¶meter_handler,
193 assign(dealii::ParameterHandler ¶meter_handler,
200 validate(
const std::vector<FieldAttributes> &field_attributes,
201 const std::vector<SolveBlock> &solve_blocks)
const override;
207PRISMS_PF_END_NAMESPACE
static constexpr unsigned int default_subsections
Max number of subsections.
Definition types.h:33
Definition conditional_ostreams.cc:20
Struct that holds linear solver parameters.
Definition solve_parameters.h:115
void validate(const std::vector< FieldAttributes > &field_attributes, const std::vector< SolveBlock > &solve_blocks) const override
Validate.
Definition solve_parameters.cc:342
std::map< unsigned int, LinearSolverParameters > linear_solvers
Definition solve_parameters.h:138
void assign(dealii::ParameterHandler ¶meter_handler, unsigned int n_subsections=Numbers::default_subsections) override
Assign the parameters from file.
Definition solve_parameters.cc:316
static void declare(dealii::ParameterHandler ¶meter_handler, unsigned int n_subsections=Numbers::default_subsections)
Declare the parameters to be read from file.
Definition solve_parameters.cc:287
Struct that stores relevant linear solve information of a certain solve block.
Definition solve_parameters.h:29
unsigned int max_iterations
Definition solve_parameters.h:61
void assign_chebyshev(dealii::ParameterHandler ¶meter_handler)
Definition solve_parameters.cc:179
void assign_gmres(dealii::ParameterHandler ¶meter_handler)
Definition solve_parameters.cc:267
static void declare_chebyshev(dealii::ParameterHandler ¶meter_handler)
Definition solve_parameters.cc:160
double tolerance
Definition solve_parameters.h:55
static void declare_richardson(dealii::ParameterHandler ¶meter_handler)
Definition solve_parameters.cc:191
void validate(const std::vector< FieldAttributes > &field_attributes, const std::vector< SolveBlock > &solve_blocks) const override
Validate.
Definition solve_parameters.cc:153
dealii::SolverGMRES ::AdditionalData gmres_parameters
Definition solve_parameters.h:94
SolverToleranceType tolerance_type
Definition solve_parameters.h:58
void assign_richardson(dealii::ParameterHandler ¶meter_handler)
Definition solve_parameters.cc:205
dealii::PreconditionChebyshev ::AdditionalData chebyshev_parameters
Definition solve_parameters.h:70
PreconditionerType preconditioner
Definition solve_parameters.h:67
void assign_bicgstab(dealii::ParameterHandler ¶meter_handler)
Definition solve_parameters.cc:226
std::string solver_type
Definition solve_parameters.h:52
static void declare_bicgstab(dealii::ParameterHandler ¶meter_handler)
Definition solve_parameters.cc:213
dealii::SolverBicgstab ::AdditionalData bicgstab_parameters
Definition solve_parameters.h:86
dealii::SolverRichardson ::AdditionalData richardson_parameters
Definition solve_parameters.h:78
static void declare(dealii::ParameterHandler ¶meter_handler, unsigned int n_subsections=Numbers::default_subsections)
Declare the parameters to be read from file.
Definition solve_parameters.cc:11
static void declare_gmres(dealii::ParameterHandler ¶meter_handler)
Definition solve_parameters.cc:233
unsigned int mg_depth
Definition solve_parameters.h:64
void assign(dealii::ParameterHandler ¶meter_handler, unsigned int n_subsections=Numbers::default_subsections) override
Assign the parameters from file.
Definition solve_parameters.cc:87
Struct that holds nonlinear solver parameters.
Definition solve_parameters.h:181
void assign(dealii::ParameterHandler ¶meter_handler, unsigned int n_subsections=Numbers::default_subsections) override
Assign the parameters from file.
Definition solve_parameters.cc:448
void validate(const std::vector< FieldAttributes > &field_attributes, const std::vector< SolveBlock > &solve_blocks) const override
Validate.
Definition solve_parameters.cc:473
static void declare(dealii::ParameterHandler ¶meter_handler, unsigned int n_subsections=Numbers::default_subsections)
Declare the parameters to be read from file.
Definition solve_parameters.cc:420
std::map< Types::Index, NonlinearSolverParameters > nonlinear_solvers
Definition solve_parameters.h:204
Struct that stores relevant nonlinear solve information of a certain field.
Definition solve_parameters.h:145
static void declare(dealii::ParameterHandler ¶meter_handler, unsigned int n_subsections=Numbers::default_subsections)
Declare the parameters to be read from file.
Definition solve_parameters.cc:352
double step_length
Definition solve_parameters.h:168
double tolerance_value
Definition solve_parameters.h:174
void assign(dealii::ParameterHandler ¶meter_handler, unsigned int n_subsections=Numbers::default_subsections) override
Assign the parameters from file.
Definition solve_parameters.cc:402
void validate(const std::vector< FieldAttributes > &field_attributes, const std::vector< SolveBlock > &solve_blocks) const override
Validate.
Definition solve_parameters.cc:413
unsigned int max_iterations
Definition solve_parameters.h:171
PreconditionerType
Preconditioner type.
Definition type_enums.h:143
@ None
Definition type_enums.h:144
SolverToleranceType
Solver tolerance type.
Definition type_enums.h:112
@ RMSEPerField
The mean local error averaged over each field is lower than the tolerance.
Definition type_enums.h:124