Interface class shared between ReferenceResidualProblem and ReferenceResidualConvergence.
More...
#include <ReferenceResidualInterface.h>
◆ ReferenceResidualInterface()
| ReferenceResidualInterface::ReferenceResidualInterface |
( |
const MooseObject * |
moose_object | ) |
|
Definition at line 90 of file ReferenceResidualInterface.C.
96 moose_object->
getParam<std::vector<std::vector<NonlinearVariableName>>>(
"group_variables");
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
std::vector< std::vector< NonlinearVariableName > > _group_variables
Name of variables that are grouped together to check convergence.
bool _use_group_variables
True if any variables are grouped.
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
◆ addGroupVariables()
template<typename T >
| void ReferenceResidualInterface::addGroupVariables |
( |
const std::set< T > & |
group_vars | ) |
|
Add a set of variables that need to be grouped together.
For use in actions that create variables. This is templated for backwards compatibility to allow passing in std::string or NonlinearVariableName.
- Template Parameters
-
| T | string type used for variable names |
- Parameters
-
| group_vars | A set of solution variables that need to be grouped. |
Definition at line 48 of file ReferenceResidualInterface.h.
51 std::vector<NonlinearVariableName>(group_vars.begin(), group_vars.end()));
std::vector< std::vector< NonlinearVariableName > > _group_variables
Name of variables that are grouped together to check convergence.
bool _use_group_variables
True if any variables are grouped.
◆ validParams()
Definition at line 15 of file ReferenceResidualInterface.C.
Referenced by ReferenceResidualProblem::validParams(), and ReferenceResidualConvergence::validParams().
20 "solver_sys",
"nl0",
"Solver system for which this object applies.");
23 "The tag name of the custom vector tag to use in place of the residual vector. This can be " 24 "used to provide greater control over which variable is used in absolute and relative " 25 "tolerancing. If not provided, the full residual vector will be used.");
26 params.
addParam<TagName>(
"reference_vector",
"The tag name of the reference residual vector.");
29 "Multiplier applied to relative tolerance for acceptable limit");
31 "acceptable_iterations",
33 "Iterations after which convergence to acceptable limits is accepted");
34 params.
addParam<std::vector<std::vector<NonlinearVariableName>>>(
36 "Name of variables that are grouped together to check convergence. (Multiple groups can be " 37 "provided, separated by semicolon)");
38 params.
addParam<std::vector<NonlinearVariableName>>(
41 "If supplied, use only these variables in the individual variable convergence check");
42 params.
addParam<
bool>(
"unscale_the_residual",
44 "If set to true, utilize the variable specific residual scalar to unscale " 45 "the residual before comparing against the absolute tolerance. This will " 46 "also print the un-scaled residual to console. This will not change the " 47 "relative tolerance check except for console output");
48 MooseEnum Lnorm(
"global_L2 local_L2 global_Linf local_Linf",
"global_L2");
52 "The normalization type used to compare the reference and actual residuals.");
54 "Compare the L2 norm of the residual vector to the L2 norm of the " 55 "absolute reference vector to determine relative convergence");
58 "Compute the L2 norm of the residual vector divided component-wise by the absolute reference " 59 "vector to the L2 norm of the absolute reference vector to determine relative convergence");
62 "Compare the L-infinity norm of the residual vector to the L-infinity norm of the " 63 "absolute reference vector to determine relative convergence");
66 "Compute the L-infinity norm of the residual vector divided component-wise " 67 "by the absolute reference " 68 "vector to the L-infinity norm of the absolute reference vector to " 69 "determine relative convergence");
71 MooseEnum zero_ref_res(
"zero_tolerance relative_tolerance",
"relative_tolerance");
74 "Determine behavior if a reference residual value of zero is present " 75 "for a particular variable.");
77 "Solve is treated as converged if the residual is zero");
80 "Solve is treated as converged if the residual is below the relative tolerance");
83 "Acceptable convergence");
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void addDocumentation(const std::string &name, const std::string &doc)
Add an item documentation string.
◆ _group_variables
| std::vector<std::vector<NonlinearVariableName> > ReferenceResidualInterface::_group_variables |
|
protected |
◆ _use_group_variables
| bool ReferenceResidualInterface::_use_group_variables |
|
protected |
The documentation for this class was generated from the following files: