19 #include "libmesh/enum_norm_type.h" 60 const Real the_residual,
63 std::ostringstream & oss)
override;
80 const Real initial_residual_before_preset_bcs);
virtual void nonlinearConvergenceSetup() override
Performs setup necessary for each call to checkConvergence.
Interface class shared between ReferenceResidualProblem and ReferenceResidualConvergence.
bool checkConvergenceIndividVars(const Real fnorm, const Real abstol, const Real rtol, const Real initial_residual_before_preset_bcs)
Check the convergence by comparing the norm of each variable's residual separately against its refere...
std::vector< Real > _group_output_resid
std::vector< NonlinearVariableName > _soln_var_names
ReferenceVectorTagIDKey(const ReferenceVectorTagIDKey &)
ReferenceResidualConvergence(const InputParameters ¶meters)
std::vector< bool > _converge_on_var
Flag for each solution variable being in 'converge_on'.
virtual bool checkRelativeConvergence(const unsigned int it, const Real fnorm, const Real the_residual, const Real rtol, const Real abstol, std::ostringstream &oss) override
Check the relative convergence of the nonlinear solution.
std::vector< NonlinearVariableName > _group_soln_var_names
const NumericVector< Number > * _reference_vector
The vector storing the reference residual values.
std::vector< unsigned int > _variable_group_num_index
Group number index for each variable.
std::vector< Real > _group_resid
void updateReferenceResidual()
Computes the reference residuals for each group.
static InputParameters validParams()
std::vector< AuxVariableName > _ref_resid_var_names
std::vector< unsigned int > _soln_vars
TagID _reference_vector_tag_id
The reference vector tag id.
TagID referenceVectorTagID(ReferenceVectorTagIDKey) const
Returns the tag ID associated with the reference vector tag ID key.
ReferenceVectorTagIDKey()
bool _local_norm
Flag to optionally perform normalization of residual by reference residual before or after L2 norm is...
std::vector< AuxVariableName > _group_ref_resid_var_names
std::vector< Real > _group_ref_resid
unsigned int _accept_iters
std::vector< unsigned int > _ref_resid_vars
virtual void initialSetup() override
Gets called at the beginning of the simulation before this object is asked to do its job...
Uses a reference residual to define relative convergence criteria.
libMesh::FEMNormType _norm_type
Container for normalization type.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
enum ReferenceResidualConvergence::ZeroReferenceType _zero_ref_type
const InputParameters & parameters() const
Get the parameters of the object.
std::vector< Real > _scaling_factors
Local storage for the scaling factors applied to each of the variables to apply to _ref_resid_vars...
std::vector< NonlinearVariableName > _converge_on
Variables to use for individual variable convergence checks.
Default nonlinear convergence criteria for FEProblem.
ZeroReferenceType
Container for convergence treatment when the reference residual is zero.