Interface class shared between ReferenceResidualProblem and ReferenceResidualConvergence.
More...
#include <ReferenceResidualInterface.h>
◆ ReferenceResidualInterface()
ReferenceResidualInterface::ReferenceResidualInterface |
( |
const MooseObject * |
moose_object | ) |
|
Definition at line 84 of file ReferenceResidualInterface.C.
90 moose_object->
getParam<std::vector<std::vector<NonlinearVariableName>>>(
"group_variables");
std::vector< std::vector< NonlinearVariableName > > _group_variables
Name of variables that are grouped together to check convergence.
bool isParamValid(const std::string &name) const
Test if the supplied parameter is valid.
bool _use_group_variables
True if any variables are grouped.
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
◆ 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().
19 params.
addParam<std::vector<NonlinearVariableName>>(
20 "solution_variables",
"Set of solution variables to be checked for relative convergence");
21 params.
addParam<std::vector<AuxVariableName>>(
22 "reference_residual_variables",
23 "Set of variables that provide reference residuals for relative convergence check");
24 params.
addParam<TagName>(
"reference_vector",
"The tag name of the reference residual vector.");
27 "Multiplier applied to relative tolerance for acceptable limit");
29 "acceptable_iterations",
31 "Iterations after which convergence to acceptable limits is accepted");
32 params.
addParam<std::vector<std::vector<NonlinearVariableName>>>(
34 "Name of variables that are grouped together to check convergence. (Multiple groups can be " 35 "provided, separated by semicolon)");
36 params.
addParam<std::vector<NonlinearVariableName>>(
39 "If supplied, use only these variables in the individual variable convergence check");
40 MooseEnum Lnorm(
"global_L2 local_L2 global_Linf local_Linf",
"global_L2");
44 "The normalization type used to compare the reference and actual residuals.");
46 "Compare the L2 norm of the residual vector to the L2 norm of the " 47 "absolute reference vector to determine relative convergence");
50 "Compute the L2 norm of the residual vector divided component-wise by the absolute reference " 51 "vector to the L2 norm of the absolute reference vector to determine relative convergence");
54 "Compare the L-infinity norm of the residual vector to the L-infinity norm of the " 55 "absolute reference vector to determine relative convergence");
58 "Compute the L-infinity norm of the residual vector divided component-wise " 59 "by the absolute reference " 60 "vector to the L-infinity norm of the absolute reference vector to " 61 "determine relative convergence");
63 MooseEnum zero_ref_res(
"zero_tolerance relative_tolerance",
"relative_tolerance");
66 "Determine behavior if a reference residual value of zero is present " 67 "for a particular variable.");
69 "Solve is treated as converged if the residual is zero");
72 "Solve is treated as converged if the residual is below the relative tolerance");
75 "Acceptable convergence");
77 "Reference residual");
79 "Variables to check for 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: