www.mooseframework.org
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
PicardSolve Class Reference

#include <PicardSolve.h>

Inheritance diagram for PicardSolve:
[legend]

Public Types

enum  MoosePicardConvergenceReason {
  MoosePicardConvergenceReason::UNSOLVED = 0, MoosePicardConvergenceReason::CONVERGED_NONLINEAR = 1, MoosePicardConvergenceReason::CONVERGED_ABS = 2, MoosePicardConvergenceReason::CONVERGED_RELATIVE = 3,
  MoosePicardConvergenceReason::CONVERGED_CUSTOM = 4, MoosePicardConvergenceReason::DIVERGED_MAX_ITS = -1, MoosePicardConvergenceReason::DIVERGED_NONLINEAR = -2, MoosePicardConvergenceReason::DIVERGED_FAILED_MULTIAPP = -3
}
 Enumeration for Picard convergence reasons. More...
 

Public Member Functions

 PicardSolve (Executioner *ex)
 
bool solve ()
 Picard solve the FEProblem. More...
 
unsigned int numPicardIts () const
 Get the number of Picard iterations performed Because this returns the number of Picard iterations, rather than the current iteration count (which starts at 0), increment by 1. More...
 
MoosePicardConvergenceReason checkConvergence () const
 Check the solver status. More...
 
bool XFEMRepeatStep () const
 This function checks the _xfem_repeat_step flag set by solve. More...
 
void clearPicardStatus ()
 Clear Picard status. More...
 
bool hasPicardIteration ()
 Whether or not this has Picard iterations. More...
 
void setMultiAppRelaxationFactor (Real factor)
 Set relaxation factor for the current solve as a MultiApp. More...
 
void setMultiAppRelaxationVariables (const std::vector< std::string > &vars)
 Set relaxation variables for the current solve as a MultiApp. More...
 
const std::string & type () const
 Get the type of this object. More...
 
const std::string & name () const
 Get the name of the object. More...
 
const InputParametersparameters () const
 Get the parameters of the object. More...
 
template<typename T >
const T & getParam (const std::string &name) const
 Retrieve a parameter for the object. More...
 
template<typename T >
getCheckedPointerParam (const std::string &name, const std::string &error_string="") const
 Verifies that the requested parameter exists and is not NULL and returns it to the caller. More...
 
bool isParamValid (const std::string &name) const
 Test if the supplied parameter is valid. More...
 
MooseAppgetMooseApp () const
 Get the MooseApp this object is associated with. More...
 
virtual bool enabled () const
 Return the enabled status of the object. More...
 
template<typename... Args>
void paramError (const std::string &param, Args... args)
 Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramWarning (const std::string &param, Args... args)
 Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void paramInfo (const std::string &param, Args... args)
 Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message. More...
 
template<typename... Args>
void mooseError (Args &&... args) const
 
template<typename... Args>
void mooseWarning (Args &&... args) const
 
template<typename... Args>
void mooseDeprecated (Args &&... args) const
 
template<typename... Args>
void mooseInfo (Args &&... args) const
 

Public Attributes

const ConsoleStream _console
 An instance of helper class to write streams to the Console objects. More...
 

Protected Member Functions

bool solveStep (Real begin_norm_old, Real &begin_norm, Real end_norm_old, Real &end_norm, bool relax, const std::set< dof_id_type > &relaxed_dofs)
 Perform one Picard iteration or a full solve. More...
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level)
 Call to register a named section for timing. More...
 

Protected Attributes

Executioner_executioner
 Executioner used to construct this. More...
 
FEProblemBase_problem
 Reference to FEProblem. More...
 
NonlinearSystemBase_nl
 Reference to nonlinear system base for faster access. More...
 
unsigned int _picard_max_its
 Maximum Picard iterations. More...
 
bool _has_picard_its
 Whether or not we activate Picard iteration. More...
 
Real _picard_rel_tol
 Relative tolerance on residual norm. More...
 
Real _picard_abs_tol
 Absolute tolerance on residual norm. More...
 
bool _picard_force_norms
 Whether or not we force evaluation of residual norms even without multiapps. More...
 
Real _relax_factor
 Relaxation factor for Picard Iteration. More...
 
std::vector< std::string > _relaxed_vars
 The transferred variables that are going to be relaxed. More...
 
Real _picard_self_relaxation_factor
 Relaxation factor outside of Picard iteration (used as a subapp) More...
 
std::vector< std::string > _picard_self_relaxed_variables
 Variables to be relaxed outside of Picard iteration (used as a subapp) More...
 
unsigned int _max_xfem_update
 Maximum number of xfem updates per step. More...
 
bool _update_xfem_at_timestep_begin
 Controls whether xfem should update the mesh at the beginning of the time step. More...
 
const InputParameters_pars
 Parameters of this object, references the InputParameters stored in the InputParametersWarehouse. More...
 
MooseApp_app
 The MooseApp this object is associated with. More...
 
const std::string & _type
 The type of this object (the Class name) More...
 
const std::string & _name
 The name of this object, reference to value stored in InputParameters. More...
 
const bool & _enabled
 Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects. More...
 
const InputParameters_pg_params
 Params. More...
 
PerfGraph_perf_graph
 The performance graph to add to. More...
 
std::string _prefix
 A prefix to use for all sections. More...
 

Private Attributes

const PerfID _picard_timer
 Timer for Picard iteration. More...
 
unsigned int _xfem_update_count
 Counter for number of xfem updates that have been performed in the current step. More...
 
bool _xfem_repeat_step
 Whether step should be repeated due to xfem modifying the mesh. More...
 
Real _previous_entering_time
 Time of previous Picard solve as a subapp. More...
 
unsigned int _picard_it
 
Real _picard_initial_norm
 Initial residual norm. More...
 
std::vector< Real > _picard_timestep_begin_norm
 Full history of residual norm after evaluation of timestep_begin. More...
 
std::vector< Real > _picard_timestep_end_norm
 Full history of residual norm after evaluation of timestep_end. More...
 
MoosePicardConvergenceReason _picard_status
 Status of Picard solve. More...
 

Detailed Description

Definition at line 23 of file PicardSolve.h.

Member Enumeration Documentation

◆ MoosePicardConvergenceReason

Enumeration for Picard convergence reasons.

Enumerator
UNSOLVED 
CONVERGED_NONLINEAR 
CONVERGED_ABS 
CONVERGED_RELATIVE 
CONVERGED_CUSTOM 
DIVERGED_MAX_ITS 
DIVERGED_NONLINEAR 
DIVERGED_FAILED_MULTIAPP 

Definition at line 35 of file PicardSolve.h.

36  {
37  UNSOLVED = 0,
38  CONVERGED_NONLINEAR = 1,
39  CONVERGED_ABS = 2,
40  CONVERGED_RELATIVE = 3,
41  CONVERGED_CUSTOM = 4,
42  DIVERGED_MAX_ITS = -1,
43  DIVERGED_NONLINEAR = -2,
44  DIVERGED_FAILED_MULTIAPP = -3
45  };

Constructor & Destructor Documentation

◆ PicardSolve()

PicardSolve::PicardSolve ( Executioner ex)

Definition at line 19 of file PicardSolve.C.

20  : MooseObject(ex->parameters()),
21  PerfGraphInterface(this),
22  _executioner(*ex),
23  _problem(*getCheckedPointerParam<FEProblemBase *>(
24  "_fe_problem_base", "This might happen if you don't have a mesh")),
26  _picard_max_its(getParam<unsigned int>("picard_max_its")),
28  _picard_rel_tol(getParam<Real>("picard_rel_tol")),
29  _picard_abs_tol(getParam<Real>("picard_abs_tol")),
30  _picard_force_norms(getParam<bool>("picard_force_norms")),
31  _relax_factor(getParam<Real>("relaxation_factor")),
32  _relaxed_vars(getParam<std::vector<std::string>>("relaxed_variables")),
33  // this value will be set by MultiApp
35  _max_xfem_update(getParam<unsigned int>("max_xfem_update")),
36  _update_xfem_at_timestep_begin(getParam<bool>("update_xfem_at_timestep_begin")),
37  _picard_timer(registerTimedSection("PicardSolve", 1)),
38  _picard_it(0),
41  _xfem_repeat_step(false),
43 {
44 }
PerfID registerTimedSection(const std::string &section_name, const unsigned int level)
Call to register a named section for timing.
Real _picard_self_relaxation_factor
Relaxation factor outside of Picard iteration (used as a subapp)
Definition: PicardSolve.h:125
unsigned int _picard_max_its
Maximum Picard iterations.
Definition: PicardSolve.h:110
unsigned int _max_xfem_update
Maximum number of xfem updates per step.
Definition: PicardSolve.h:130
virtual Real & time() const
std::vector< std::string > _relaxed_vars
The transferred variables that are going to be relaxed.
Definition: PicardSolve.h:122
NonlinearSystemBase & getNonlinearSystemBase()
const PerfID _picard_timer
Timer for Picard iteration.
Definition: PicardSolve.h:136
unsigned int _picard_it
Definition: PicardSolve.h:140
MooseObject(const InputParameters &parameters)
Definition: MooseObject.C:48
bool _xfem_repeat_step
Whether step should be repeated due to xfem modifying the mesh.
Definition: PicardSolve.h:154
bool _update_xfem_at_timestep_begin
Controls whether xfem should update the mesh at the beginning of the time step.
Definition: PicardSolve.h:132
MoosePicardConvergenceReason _picard_status
Status of Picard solve.
Definition: PicardSolve.h:148
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
Definition: MooseObject.h:188
NonlinearSystemBase & _nl
Reference to nonlinear system base for faster access.
Definition: PicardSolve.h:107
bool _has_picard_its
Whether or not we activate Picard iteration.
Definition: PicardSolve.h:112
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:62
Real _relax_factor
Relaxation factor for Picard Iteration.
Definition: PicardSolve.h:120
Real _picard_abs_tol
Absolute tolerance on residual norm.
Definition: PicardSolve.h:116
Executioner & _executioner
Executioner used to construct this.
Definition: PicardSolve.h:103
unsigned int _xfem_update_count
Counter for number of xfem updates that have been performed in the current step.
Definition: PicardSolve.h:152
PerfGraphInterface(const MooseObject *moose_object)
For objects that are MooseObjects with a default prefix of type()
Real _picard_rel_tol
Relative tolerance on residual norm.
Definition: PicardSolve.h:114
bool _picard_force_norms
Whether or not we force evaluation of residual norms even without multiapps.
Definition: PicardSolve.h:118
Real _previous_entering_time
Time of previous Picard solve as a subapp.
Definition: PicardSolve.h:157
FEProblemBase & _problem
Reference to FEProblem.
Definition: PicardSolve.h:105

Member Function Documentation

◆ checkConvergence()

MoosePicardConvergenceReason PicardSolve::checkConvergence ( ) const
inline

Check the solver status.

Definition at line 57 of file PicardSolve.h.

57 { return _picard_status; }
MoosePicardConvergenceReason _picard_status
Status of Picard solve.
Definition: PicardSolve.h:148

◆ clearPicardStatus()

void PicardSolve::clearPicardStatus ( )
inline

Clear Picard status.

Definition at line 63 of file PicardSolve.h.

◆ enabled()

virtual bool MooseObject::enabled ( ) const
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 96 of file MooseObject.h.

Referenced by EigenKernel::enabled().

96 { return _enabled; }
const bool & _enabled
Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects.
Definition: MooseObject.h:183

◆ getCheckedPointerParam()

template<typename T >
T MooseObject::getCheckedPointerParam ( const std::string &  name,
const std::string &  error_string = "" 
) const
inlineinherited

Verifies that the requested parameter exists and is not NULL and returns it to the caller.

The template parameter must be a pointer or an error will be thrown.

Definition at line 77 of file MooseObject.h.

78  {
79  return parameters().getCheckedPointerParam<T>(name, error_string);
80  }
T getCheckedPointerParam(const std::string &name, const std::string &error_string="") const
Verifies that the requested parameter exists and is not NULL and returns it to the caller...
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:62
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ getMooseApp()

MooseApp& MooseObject::getMooseApp ( ) const
inlineinherited

Get the MooseApp this object is associated with.

Definition at line 91 of file MooseObject.h.

Referenced by RestartableDataIO::createBackup(), RestartableDataIO::deserializeRestartableData(), ConsoleUtils::outputMeshInformation(), Resurrector::restartRestartableData(), and RestartableDataIO::restoreBackup().

91 { return _app; }
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:174

◆ getParam()

template<typename T >
const T & MooseObject::getParam ( const std::string &  name) const
inherited

Retrieve a parameter for the object.

Parameters
nameThe name of the parameter
Returns
The value of the parameter

Definition at line 188 of file MooseObject.h.

Referenced by FEProblemBase::addMaterialHelper(), ConstraintWarehouse::addObject(), BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromXandY(), MultiApp::createApp(), DerivativeParsedMaterial::DerivativeParsedMaterial(), EigenKernel::EigenKernel(), FEProblemBase::FEProblemBase(), FieldSplitPreconditioner::FieldSplitPreconditioner(), FiniteDifferencePreconditioner::FiniteDifferencePreconditioner(), SideSetsBetweenSubdomainsGenerator::generate(), ExtraNodesetGenerator::generate(), MeshExtruderGenerator::generate(), SideSetsAroundSubdomainGenerator::generate(), GenericConstantRankTwoTensor::GenericConstantRankTwoTensor(), TimeSequenceStepper::init(), AttribThread::initFrom(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), Console::initialSetup(), AdvancedOutput::initialSetup(), SideSetsBetweenSubdomains::modify(), AddExtraNodeset::modify(), MeshExtruder::modify(), SideSetsAroundSubdomain::modify(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedMaterial::ParsedMaterial(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), SingleMatrixPreconditioner::SingleMatrixPreconditioner(), TimePeriod::TimePeriod(), and VectorOfPostprocessors::VectorOfPostprocessors().

189 {
190  return InputParameters::getParamHelper(name, _pars, static_cast<T *>(0));
191 }
static const T & getParamHelper(const std::string &name, const InputParameters &pars, const T *the_type)
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56

◆ hasPicardIteration()

bool PicardSolve::hasPicardIteration ( )
inline

Whether or not this has Picard iterations.

Definition at line 66 of file PicardSolve.h.

Referenced by Transient::execute(), and Transient::incrementStepOrReject().

66 { return _has_picard_its; }
bool _has_picard_its
Whether or not we activate Picard iteration.
Definition: PicardSolve.h:112

◆ isParamValid()

bool MooseObject::isParamValid ( const std::string &  name) const
inlineinherited

Test if the supplied parameter is valid.

Parameters
nameThe name of the parameter to test

Definition at line 86 of file MooseObject.h.

Referenced by AdvancedOutput::AdvancedOutput(), BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), DistributedGeneratedMesh::buildMesh(), GeneratedMesh::buildMesh(), CartesianMeshGenerator::CartesianMeshGenerator(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), CSVReader::CSVReader(), MultiAppNearestNodeTransfer::execute(), Exodus::Exodus(), FEProblemBase::FEProblemBase(), FileOutput::FileOutput(), MultiApp::fillPositions(), FunctionDT::FunctionDT(), RenameBoundaryGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), ElementSubdomainIDGenerator::generate(), ExtraNodesetGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), MeshSideSetGenerator::generate(), RenameBlockGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainMeshGenerator::generate(), MeshExtruderGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), MultiAppNearestNodeTransfer::getLocalEntities(), MeshGenerator::getMesh(), MultiAppNearestNodeTransfer::getNearestNode(), EigenExecutionerBase::init(), IterationAdaptiveDT::init(), MooseMesh::init(), AdvancedOutput::initExecutionTypes(), BlockRestrictable::initializeBlockRestrictable(), BoundaryRestrictable::initializeBoundaryRestrictable(), SolutionAux::initialSetup(), MooseParsedVectorFunction::initialSetup(), Console::initialSetup(), Receiver::initialSetup(), SolutionFunction::initialSetup(), MooseParsedGradFunction::initialSetup(), MooseParsedFunction::initialSetup(), AdvancedOutput::initialSetup(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), IterationAdaptiveDT::IterationAdaptiveDT(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), BreakBoundaryOnSubdomain::modify(), MeshExtruder::modify(), MeshSideSet::modify(), LowerDBlockFromSideset::modify(), AssignElementSubdomainID::modify(), ParsedSubdomainMeshModifier::modify(), RenameBlock::modify(), SubdomainBoundingBox::modify(), MooseMesh::MooseMesh(), EigenExecutionerBase::normalizeSolution(), Output::Output(), PetscOutput::PetscOutput(), Piecewise::Piecewise(), SolutionUserObject::readExodusII(), RenameBlock::RenameBlock(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), SolutionUserObject::SolutionUserObject(), and TimePeriod::TimePeriod().

86 { return _pars.isParamValid(name); }
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:56
bool isParamValid(const std::string &name) const
This method returns parameters that have been initialized in one fashion or another, i.e.

◆ mooseDeprecated()

template<typename... Args>
void MooseObject::mooseDeprecated ( Args &&...  args) const
inlineinherited

◆ mooseError()

template<typename... Args>
void MooseObject::mooseError ( Args &&...  args) const
inlineinherited

Definition at line 144 of file MooseObject.h.

Referenced by PetscExternalPartitioner::_do_partition(), GridPartitioner::_do_partition(), FEProblemBase::addConstraint(), FEProblemBase::addInitialCondition(), FEProblem::addLineSearch(), FEProblemBase::addLineSearch(), FEProblemBase::addOutput(), DiracKernel::addPointWithValidId(), FEProblemBase::addPostprocessor(), MooseMesh::addQuadratureNode(), FEProblemBase::addVectorPostprocessor(), Output::advancedExecuteOn(), AnnularMesh::AnnularMesh(), AnnularMeshGenerator::AnnularMeshGenerator(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), DerivativeParsedMaterialHelper::assembleDerivatives(), Function::average(), Axisymmetric2D3DSolutionFunction::Axisymmetric2D3DSolutionFunction(), BicubicSplineFunction::BicubicSplineFunction(), BoundingValueElementDamper::BoundingValueElementDamper(), BoundingValueNodalDamper::BoundingValueNodalDamper(), BoundsAux::BoundsAux(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), BreakMeshByBlockGeneratorBase::BreakMeshByBlockGeneratorBase(), MooseMesh::buildCoarseningMap(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), Piecewise::buildFromXY(), TiledMesh::buildMesh(), FileMesh::buildMesh(), SpiralAnnularMesh::buildMesh(), DistributedGeneratedMesh::buildMesh(), GeneratedMesh::buildMesh(), ImageMeshGenerator::buildMesh3D(), ImageMesh::buildMesh3D(), MooseMesh::buildMeshBaseObject(), MooseMesh::buildRefinementMap(), MooseMesh::buildSideList(), CartesianMeshGenerator::CartesianMeshGenerator(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), EigenExecutionerBase::chebyshev(), SubProblem::checkBlockMatProps(), SubProblem::checkBoundaryMatProps(), FEProblemBase::checkCoordinateSystems(), FEProblemBase::checkDependMaterialsHelper(), FEProblemBase::checkDisplacementOrders(), Material::checkExecutionStage(), BreakMeshByBlockBase::checkInputParameter(), Steady::checkIntegrity(), EigenExecutionerBase::checkIntegrity(), ActuallyExplicitEuler::checkLinearConvergence(), FEProblemBase::checkProblemIntegrity(), Material::checkStatefulSanity(), FEProblemBase::checkUserObjects(), LibmeshPartitioner::clone(), MooseMesh::clone(), ComparisonPostprocessor::comparisonIsTrue(), CompositeFunction::CompositeFunction(), ElementLpNormAux::compute(), ElementH1ErrorFunctionAux::compute(), NodalPatchRecovery::compute(), KernelBase::computeADOffDiagJacobian(), InterfaceKernel::computeElemNeighJacobian(), TimeSequenceStepperBase::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), TimeStepper::computeFailedDT(), HistogramVectorPostprocessor::computeHistogram(), EqualValueEmbeddedConstraint::computeQpJacobian(), EqualValueEmbeddedConstraint::computeQpOffDiagJacobian(), KernelValue::computeQpResidual(), FEProblemBase::computeResidualInternal(), FEProblemBase::computeResidualTag(), FEProblemBase::computeResidualType(), StatisticsVectorPostprocessor::computeStatValue(), Material::computeSubdomainProperties(), ExplicitEuler::computeTimeDerivatives(), ImplicitEuler::computeTimeDerivatives(), BDF2::computeTimeDerivatives(), NewmarkBeta::computeTimeDerivatives(), CrankNicolson::computeTimeDerivatives(), ActuallyExplicitEuler::computeTimeDerivatives(), LStableDirk2::computeTimeDerivatives(), LStableDirk3::computeTimeDerivatives(), ImplicitMidpoint::computeTimeDerivatives(), ExplicitTVDRK2::computeTimeDerivatives(), AStableDirk4::computeTimeDerivatives(), LStableDirk4::computeTimeDerivatives(), ExplicitRK2::computeTimeDerivatives(), PenetrationAux::computeValue(), ConcentricCircleMesh::ConcentricCircleMesh(), ConcentricCircleMeshGenerator::ConcentricCircleMeshGenerator(), TimeStepper::constrainStep(), AuxKernel::coupledDot(), AuxKernel::coupledDotDu(), CoupledForce::CoupledForce(), DebugResidualAux::DebugResidualAux(), BicubicSplineFunction::derivative(), DerivativeSumMaterial::DerivativeSumMaterial(), DGKernel::DGKernel(), FEProblemBase::duplicateVariableCheck(), EigenProblem::EigenProblem(), Eigenvalues::Eigenvalues(), ElementalVariableValue::ElementalVariableValue(), ElementQualityAux::ElementQualityAux(), MooseMesh::errorIfDistributedMesh(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppPostprocessorTransfer::execute(), DiscreteElementUserObject::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), ElementQualityChecker::execute(), NodalValueSampler::execute(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), FindValueOnLine::execute(), MultiAppNearestNodeTransfer::execute(), TimeExtremeValue::execute(), VectorPostprocessorComparison::execute(), LeastSquaresFit::execute(), LeastSquaresFitHistory::execute(), FEProblemBase::executeControls(), MultiAppVectorPostprocessorTransfer::executeFromMultiapp(), MultiAppVectorPostprocessorTransfer::executeToMultiapp(), Exodus::Exodus(), FileOutput::FileOutput(), CentroidMultiApp::fillPositions(), MultiApp::fillPositions(), VerifyNodalUniqueID::finalize(), VerifyElementUniqueID::finalize(), DiscreteElementUserObject::finalize(), ElementQualityChecker::finalize(), MemoryUsage::finalize(), PointSamplerBase::finalize(), Transfer::find_sys(), BreakMeshByBlockBase::findFreeBoundaryId(), BreakMeshByBlockGeneratorBase::findFreeBoundaryId(), FunctionDT::FunctionDT(), FunctionMaterialBase::FunctionMaterialBase(), ParsedMaterialHelper::functionParse(), FunctionScalarAux::FunctionScalarAux(), FunctionScalarIC::FunctionScalarIC(), GapValueAux::GapValueAux(), ElementSubdomainIDGenerator::generate(), ExtraNodesetGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), GeneratedMeshGenerator::generate(), MeshExtruderGenerator::generate(), SideSetsFromBoundingBoxGenerator::generate(), StackGenerator::generate(), SpiralAnnularMeshGenerator::generate(), PatternedMeshGenerator::generate(), BoundingBoxNodeSetGenerator::generate(), GeneratedMesh::GeneratedMesh(), GeneratedMeshGenerator::GeneratedMeshGenerator(), RandomICBase::generateRandom(), GenericConstantMaterial::GenericConstantMaterial(), GenericFunctionMaterial::GenericFunctionMaterial(), MooseMesh::getBoundaryID(), MultiApp::getBoundingBox(), MooseMesh::getCoarseningMap(), Control::getControllableParameterByName(), FEProblemBase::getCoordSystem(), PiecewiseConstant::getDirection(), FEProblemBase::getDistribution(), ElementGenerator::getElemType(), MultiApp::getExecutioner(), FEProblemBase::getFunction(), SolutionUserObject::getLocalVarIndex(), AuxKernel::getMaterialProperty(), AuxKernel::getMaterialPropertyOld(), AuxKernel::getMaterialPropertyOlder(), SubProblem::getMatrixTagID(), AnnularMesh::getMaxInDimension(), DistributedGeneratedMesh::getMaxInDimension(), GeneratedMesh::getMaxInDimension(), FEProblemBase::getMaxQps(), FEProblemBase::getMaxShapeFunctions(), AnnularMesh::getMinInDimension(), DistributedGeneratedMesh::getMinInDimension(), GeneratedMesh::getMinInDimension(), MooseMesh::getMortarInterface(), MooseMesh::getMortarInterfaceByName(), MooseMesh::getNodeBlockIds(), MooseMesh::getNodeList(), FEProblemBase::getNonlinearSystem(), MooseMesh::getPairedBoundaryMapping(), ImageMeshGenerator::GetPixelInfo(), ImageMesh::GetPixelInfo(), MaterialStdVectorAux::getRealValue(), MooseMesh::getRefinementMap(), FEProblemBase::getSampler(), DisplacedProblem::getScalarVariable(), FEProblemBase::getScalarVariable(), DisplacedProblem::getStandardVariable(), FEProblemBase::getStandardVariable(), MooseMesh::getSubdomainBoundaryIds(), MooseMesh::getSubdomainID(), DisplacedProblem::getSystem(), FEProblemBase::getSystem(), FEProblemBase::getUserObject(), FEProblemBase::getUserObjectBase(), PerformanceData::getValue(), Residual::getValue(), PerfGraphData::getValue(), LineValueSampler::getValue(), FindValueOnLine::getValueAtPoint(), SubProblem::getVariableHelper(), SubProblem::getVectorTagID(), DisplacedProblem::getVectorVariable(), FEProblemBase::getVectorVariable(), MultiApp::globalAppToLocal(), MooseParsedVectorFunction::gradient(), AdvancedOutput::hasOutputHelper(), CrankNicolson::init(), CSVTimeSequenceStepper::init(), IterationAdaptiveDT::init(), EigenExecutionerBase::init(), Transient::init(), MooseMesh::init(), FEProblemBase::init(), NumPicardIterations::initialize(), FullSolveMultiApp::initialSetup(), PiecewiseBase::initialSetup(), SolutionAux::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), SolutionFunction::initialSetup(), Exodus::initialSetup(), SolutionUserObject::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initShowHideLists(), Material::initStatefulProperties(), Function::integral(), InterfaceKernel::InterfaceKernel(), InterfaceTimeKernel::InterfaceTimeKernel(), EigenExecutionerBase::inversePowerIteration(), InversePowerMethod::InversePowerMethod(), IterationAdaptiveDT::IterationAdaptiveDT(), LayeredSideIntegral::LayeredSideIntegral(), LeastSquaresFit::LeastSquaresFit(), LibmeshPartitioner::LibmeshPartitioner(), LinearCombinationFunction::LinearCombinationFunction(), LinearCombinationPostprocessor::LinearCombinationPostprocessor(), LinearNodalConstraint::LinearNodalConstraint(), LineMaterialSamplerBase< Real >::LineMaterialSamplerBase(), LineSearch::lineSearch(), LineValueSampler::LineValueSampler(), MaterialRealTensorValueAux::MaterialRealTensorValueAux(), MaterialRealVectorValueAux::MaterialRealVectorValueAux(), MaterialStdVectorRealGradientAux::MaterialStdVectorRealGradientAux(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), Distribution::median(), SubProblem::meshChanged(), MeshExtruder::MeshExtruder(), MeshExtruderGenerator::MeshExtruderGenerator(), MeshSideSetGenerator::MeshSideSetGenerator(), SideSetsFromNormals::modify(), SideSetsFromPoints::modify(), MeshExtruder::modify(), BreakMeshByBlockBase::modify(), AddExtraNodeset::modify(), AssignElementSubdomainID::modify(), SmoothMesh::modify(), AddAllSideSetsByNormals::modify(), ElementDeleterBase::modify(), ParsedSubdomainMeshModifier::modify(), RenameBlock::modify(), ImageSubdomain::modify(), OrientedSubdomainBoundingBox::modify(), BoundingBoxNodeSet::modify(), AddSideSetsFromBoundingBox::modify(), SubdomainBoundingBox::modify(), MooseMesh::MooseMesh(), MultiAppMeshFunctionTransfer::MultiAppMeshFunctionTransfer(), MultiAppPostprocessorTransfer::MultiAppPostprocessorTransfer(), NearestNodeDistanceAux::NearestNodeDistanceAux(), NearestNodeValueAux::NearestNodeValueAux(), RenameBlockGenerator::newBlockID(), RenameBlock::newBlockID(), RenameBlockGenerator::newBlockName(), RenameBlock::newBlockName(), NewmarkBeta::NewmarkBeta(), NodalConstraint::NodalConstraint(), NodalScalarKernel::NodalScalarKernel(), NodalVariableValue::NodalVariableValue(), NumDOFs::NumDOFs(), NumNonlinearIterations::NumNonlinearIterations(), NumVars::NumVars(), ElementSideNeighborLayers::operator()(), ElementPointNeighbors::operator()(), RelationshipManager::operator==(), XDA::output(), SolutionHistory::output(), Exodus::output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), Console::outputVectorPostprocessors(), AdvancedOutput::outputVectorPostprocessors(), MooseObject::paramError(), PiecewiseBilinear::parse(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PetscExternalPartitioner::PetscExternalPartitioner(), PhysicsBasedPreconditioner::PhysicsBasedPreconditioner(), Piecewise::Piecewise(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), PiecewiseMulticonstant::PiecewiseMulticonstant(), PiecewiseMultiInterpolation::PiecewiseMultiInterpolation(), SolutionUserObject::pointValueGradientWrapper(), SolutionUserObject::pointValueWrapper(), LStableDirk2::postResidual(), LStableDirk3::postResidual(), ImplicitMidpoint::postResidual(), ExplicitTVDRK2::postResidual(), AStableDirk4::postResidual(), LStableDirk4::postResidual(), ExplicitRK2::postResidual(), Predictor::Predictor(), Transient::preExecute(), SolutionUserObject::readExodusII(), SolutionUserObject::readXda(), EqualValueEmbeddedConstraint::reinitConstraint(), RelativeSolutionDifferenceNorm::RelativeSolutionDifferenceNorm(), RenameBlock::RenameBlock(), RenameBlockGenerator::RenameBlockGenerator(), RenameBoundaryGenerator::RenameBoundaryGenerator(), RinglebMesh::RinglebMesh(), RinglebMeshGenerator::RinglebMeshGenerator(), ScalarComponentIC::ScalarComponentIC(), BicubicSplineFunction::secondDerivative(), FEProblemBase::setCoordSystem(), PiecewiseBase::setData(), EigenProblem::setEigenproblemType(), Sampler::setNumberOfRequiedRandomSeeds(), Exodus::setOutputDimensionInExodusWriter(), Split::setup(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SideSetsFromNormals::SideSetsFromNormals(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPoints::SideSetsFromPoints(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SolutionTimeAdaptiveDT::SolutionTimeAdaptiveDT(), SolutionUserObject::SolutionUserObject(), solve(), ActuallyExplicitEuler::solve(), FullSolveMultiApp::solveStep(), UserObject::spatialValue(), SphericalAverage::SphericalAverage(), SpiralAnnularMesh::SpiralAnnularMesh(), SpiralAnnularMeshGenerator::SpiralAnnularMeshGenerator(), StitchedMesh::StitchedMesh(), NodalUserObject::subdomainSetup(), GeneralUserObject::subdomainSetup(), Constraint::subdomainSetup(), Console::systemInfoFlags(), Terminator::Terminator(), TestSetupPostprocessorDataActionFunction::TestSetupPostprocessorDataActionFunction(), ThreadedGeneralUserObject::ThreadedGeneralUserObject(), ThreadedGeneralUserObject::threadJoin(), DiscreteElementUserObject::threadJoin(), GeneralUserObject::threadJoin(), TiledMeshGenerator::TiledMeshGenerator(), Function::timeDerivative(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), VectorPostprocessorVisualizationAux::timestepSetup(), MultiAppCopyTransfer::transfer(), MultiAppMeshFunctionTransfer::transferVariable(), FEProblemBase::uDotDotOldRequested(), FEProblemBase::uDotOldRequested(), EqualValueBoundaryConstraint::updateConstrainedNodes(), SolutionUserObject::updateExodusBracketingTimeIndices(), Axisymmetric2D3DSolutionFunction::value(), ValueRangeMarker::ValueRangeMarker(), ValueThresholdMarker::ValueThresholdMarker(), MultiAppTransfer::variableIntegrityCheck(), VariableTimeIntegrationAux::VariableTimeIntegrationAux(), VectorNodalBC::VectorNodalBC(), VectorOfPostprocessors::VectorOfPostprocessors(), VectorPostprocessorFunction::VectorPostprocessorFunction(), MooseParsedGradFunction::vectorValue(), MooseParsedFunction::vectorValue(), VolumeHistogram::VolumeHistogram(), VTKOutput::VTKOutput(), DOFMapOutput::writeStreamToFile(), and Console::writeStreamToFile().

144  {
145  std::ostringstream oss;
146  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
147  std::string msg = oss.str();
148  callMooseErrorRaw(msg, &_app);
149  }
void mooseStreamAll(std::ostringstream &ss)
All of the following are not meant to be called directly - they are called by the normal macros (moos...
Definition: MooseError.C:87
void callMooseErrorRaw(std::string &msg, MooseApp *app)
Definition: MooseObject.C:57
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:174

◆ mooseInfo()

template<typename... Args>
void MooseObject::mooseInfo ( Args &&...  args) const
inlineinherited

◆ mooseWarning()

template<typename... Args>
void MooseObject::mooseWarning ( Args &&...  args) const
inlineinherited

◆ name()

const std::string& MooseObject::name ( ) const
inlineinherited

Get the name of the object.

Returns
The name of the object

Definition at line 56 of file MooseObject.h.

Referenced by GridPartitioner::_do_partition(), FEProblemBase::addADJacobianMaterial(), FEProblemBase::addADResidualMaterial(), Executioner::addAttributeReporter(), DumpObjectsProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarKernel(), DumpObjectsProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), DumpObjectsProblem::addDGKernel(), FEProblemBase::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), FEProblemBase::addIndicator(), DumpObjectsProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), FEProblemBase::addInterfaceKernel(), DumpObjectsProblem::addKernel(), FEProblemBase::addKernel(), FEProblemBase::addMarker(), DumpObjectsProblem::addMaterial(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), MooseMesh::addMortarInterface(), FEProblemBase::addMultiApp(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addNodalKernel(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), FEProblemBase::addVectorPostprocessor(), Output::advancedExecuteOn(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), DerivativeParsedMaterialHelper::assembleDerivatives(), AStableDirk4::AStableDirk4(), Function::average(), MultiApp::backup(), BreakMeshByBlockGenerator::BreakMeshByBlockGenerator(), ChangeOverTimePostprocessor::ChangeOverTimePostprocessor(), FEProblemBase::checkDependMaterialsHelper(), Damper::checkMinDamping(), Material::checkStatefulSanity(), CompositeFunction::CompositeFunction(), Material::computeSubdomainProperties(), VectorPostprocessorVisualizationAux::computeValue(), AuxKernel::coupledCallback(), AuxKernel::coupledDot(), AuxKernel::coupledDotDu(), MultiApp::createApp(), FEProblemBase::declareVectorPostprocessorVector(), DOFMapOutput::demangle(), DerivativeSumMaterial::DerivativeSumMaterial(), DGKernel::DGKernel(), DumpObjectsProblem::dumpObjectHelper(), ElementValueSampler::ElementValueSampler(), MooseMesh::errorIfDistributedMesh(), AB2PredictorCorrector::estimateTimeError(), SolutionUserObject::evalMeshFunction(), SolutionUserObject::evalMeshFunctionGradient(), SolutionUserObject::evalMultiValuedMeshFunction(), SolutionUserObject::evalMultiValuedMeshFunctionGradient(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), StatisticsVectorPostprocessor::execute(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppVectorPostprocessorTransfer::execute(), HistogramVectorPostprocessor::execute(), MultiAppCopyTransfer::execute(), Exodus::Exodus(), FileOutput::FileOutput(), MultiApp::fillPositions(), PointSamplerBase::finalize(), DerivativeParsedMaterialHelper::findMatPropDerivative(), FunctionDT::FunctionDT(), GeneralUserObject::GeneralUserObject(), LowerDBlockFromSidesetGenerator::generate(), StitchedMeshGenerator::generate(), Material::getADMaterialProperty(), MultiApp::getBoundingBox(), MooseObject::getCheckedPointerParam(), Control::getControllableParameterByName(), Control::getControllableValue(), Control::getControllableValueByName(), DistributionInterface::getDistribution(), FEProblemBase::getDistribution(), DistributionInterface::getDistributionByName(), MultiApp::getExecutioner(), OutputWarehouse::getFileNumbers(), FEProblemBase::getFunction(), SolutionUserObject::getLocalVarIndex(), Marker::getMarkerValue(), FEProblemBase::getMaterial(), NodalPatchRecovery::getMaterialProperty(), AuxKernel::getMaterialProperty(), Material::getMaterialProperty(), SubProblem::getMaterialPropertyBlockNames(), SubProblem::getMaterialPropertyBoundaryNames(), NodalPatchRecovery::getMaterialPropertyOld(), AuxKernel::getMaterialPropertyOld(), Material::getMaterialPropertyOld(), NodalPatchRecovery::getMaterialPropertyOlder(), AuxKernel::getMaterialPropertyOlder(), Material::getMaterialPropertyOlder(), MeshGenerator::getMesh(), MooseMesh::getMortarInterfaceByName(), OutputWarehouse::getOutput(), MooseObject::getParam(), GeneralUserObject::getPostprocessorValue(), AuxKernel::getPostprocessorValue(), FEProblemBase::getPostprocessorValue(), GeneralUserObject::getPostprocessorValueByName(), AuxKernel::getPostprocessorValueByName(), FEProblemBase::getPostprocessorValueOld(), FEProblemBase::getPostprocessorValueOlder(), FEProblemBase::getSampler(), AuxKernel::getScatterVectorPostprocessorValue(), FEProblemBase::getScatterVectorPostprocessorValue(), AuxKernel::getScatterVectorPostprocessorValueByName(), FEProblemBase::getScatterVectorPostprocessorValueOld(), Transient::getTimeStepperName(), AuxKernel::getUserObject(), InitialConditionBase::getUserObject(), FEProblemBase::getUserObject(), InitialConditionBase::getUserObjectBase(), AuxKernel::getUserObjectBase(), FEProblemBase::getUserObjectBase(), AuxKernel::getUserObjectByName(), InitialConditionBase::getUserObjectByName(), GeneralUserObject::getVectorPostprocessorValue(), AuxKernel::getVectorPostprocessorValue(), FEProblemBase::getVectorPostprocessorValue(), GeneralUserObject::getVectorPostprocessorValueByName(), AuxKernel::getVectorPostprocessorValueByName(), FEProblemBase::getVectorPostprocessorValueOld(), FEProblemBase::hasFunction(), AdvancedOutput::hasOutputHelper(), FEProblemBase::hasPostprocessor(), FEProblemBase::hasUserObject(), FEProblemBase::hasVectorPostprocessor(), FEProblemBase::init(), AdvancedOutput::initExecutionTypes(), AttribName::initFrom(), CSVReader::initialize(), StatisticsVectorPostprocessor::initialize(), HistogramVectorPostprocessor::initialize(), MultiAppProjectionTransfer::initialSetup(), DerivativeFunctionMaterialBase::initialSetup(), SolutionUserObject::initialSetup(), AdvancedOutput::initOutputList(), FEProblemBase::initPostprocessorData(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), Material::initStatefulProperties(), FEProblemBase::initVectorPostprocessorData(), Function::integral(), InterfaceKernel::InterfaceKernel(), MooseObject::isParamValid(), LinearCombinationFunction::LinearCombinationFunction(), Marker::Marker(), MatDiffusionBase< Real >::MatDiffusionBase(), MaterialDerivativeTestKernelBase< Real >::MaterialDerivativeTestKernelBase(), MaterialVectorPostprocessor::MaterialVectorPostprocessor(), Distribution::median(), MemoryUsageReporter::MemoryUsageReporter(), MeshSideSetGenerator::MeshSideSetGenerator(), ElementDeleterBase::modify(), MooseVariableInterface< Real >::MooseVariableInterface(), NearestPointBase< LayeredAverage >::NearestPointBase(), NodalValueSampler::NodalValueSampler(), NodalVariableValue::NodalVariableValue(), DOFMapOutput::output(), Output::Output(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), ConsoleUtils::outputOutputInformation(), Nemesis::outputPostprocessors(), Exodus::outputPostprocessors(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), AdvancedOutput::outputSystemInformation(), AdvancedOutput::outputVectorPostprocessors(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PointSamplerBase::PointSamplerBase(), Registry::registerObjectsTo(), FEProblemBase::registerRandomInterface(), Material::resetQpProperties(), MultiApp::restore(), Sampler::Sampler(), ScalarComponentIC::ScalarComponentIC(), MooseMesh::setBoundaryName(), Control::setControllableValue(), Control::setControllableValueByName(), OutputWarehouse::setFileNumbers(), MooseMesh::setSubdomainName(), Split::setup(), TransientMultiApp::setupApp(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SideValueSampler::SideValueSampler(), TransientMultiApp::solveStep(), UserObject::spatialValue(), SphericalAverage::SphericalAverage(), StitchedMesh::StitchedMesh(), SubProblem::storeBoundaryDelayedCheckMatProp(), SubProblem::storeBoundaryMatPropName(), SubProblem::storeBoundaryZeroMatProp(), SubProblem::storeSubdomainDelayedCheckMatProp(), SubProblem::storeSubdomainMatPropName(), SubProblem::storeSubdomainZeroMatProp(), TaggingInterface::TaggingInterface(), ThreadedGeneralUserObject::ThreadedGeneralUserObject(), Function::timeDerivative(), VectorPostprocessorVisualizationAux::timestepSetup(), TransientMultiApp::TransientMultiApp(), MultiAppTransfer::variableIntegrityCheck(), and AdvancedOutput::wantOutput().

56 { return _name; }
const std::string & _name
The name of this object, reference to value stored in InputParameters.
Definition: MooseObject.h:180

◆ numPicardIts()

unsigned int PicardSolve::numPicardIts ( ) const
inline

Get the number of Picard iterations performed Because this returns the number of Picard iterations, rather than the current iteration count (which starts at 0), increment by 1.

Returns
Number of Picard iterations performed

Definition at line 54 of file PicardSolve.h.

Referenced by NumPicardIterations::getValue().

54 { return _picard_it + 1; }
unsigned int _picard_it
Definition: PicardSolve.h:140

◆ paramError()

template<typename... Args>
void MooseObject::paramError ( const std::string &  param,
Args...  args 
)
inlineinherited

Emits an error prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseError - only printing a message using the given args.

Definition at line 105 of file MooseObject.h.

Referenced by ADIntegratedBCTempl< T, compute_stage >::ADIntegratedBCTempl(), ADKernelTempl< T, compute_stage >::ADKernelTempl(), DGKernel::DGKernel(), ElementValueSampler::ElementValueSampler(), StackGenerator::generate(), StitchedMeshGenerator::generate(), MultiApp::init(), IntegratedBC::IntegratedBC(), Kernel::Kernel(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalValueSampler::NodalValueSampler(), RandomIC::RandomIC(), MultiAppCopyTransfer::transfer(), and TransientMultiApp::TransientMultiApp().

105  {
106  auto prefix = param + ": ";
107  if (!_pars.inputLocation(param).empty())
108  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
109  mooseError(prefix, args...);
110  }
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
const std::string & inputLocation(const std::string &param) const
Get/set a string representing the location in the input text the parameter originated from (i...
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
const std::string & paramFullpath(const std::string &param) const
Get/set a string representing the full HIT parameter path from the input file (e.g.

◆ parameters()

const InputParameters& MooseObject::parameters ( ) const
inlineinherited

Get the parameters of the object.

Returns
The parameters of the object

Definition at line 62 of file MooseObject.h.

Referenced by FEProblemBase::addADJacobianMaterial(), FEProblemBase::addADResidualMaterial(), DumpObjectsProblem::addAuxKernel(), FEProblemBase::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarKernel(), DumpObjectsProblem::addBoundaryCondition(), FEProblemBase::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), FEProblemBase::addConstraint(), FEProblemBase::addDamper(), DumpObjectsProblem::addDGKernel(), FEProblemBase::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), FEProblemBase::addIndicator(), DumpObjectsProblem::addInitialCondition(), FEProblemBase::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), FEProblemBase::addInterfaceKernel(), DumpObjectsProblem::addKernel(), FEProblemBase::addKernel(), FEProblem::addLineSearch(), FEProblemBase::addMarker(), DumpObjectsProblem::addMaterial(), FEProblemBase::addMaterial(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMultiApp(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addNodalKernel(), FEProblemBase::addOutput(), FEProblemBase::addPostprocessor(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarKernel(), FEProblemBase::addTimeIntegrator(), FEProblemBase::addTransfer(), FEProblemBase::addUserObject(), FEProblemBase::addVectorPostprocessor(), AdvancedOutput::AdvancedOutput(), assemble_l2(), Moose::assemble_matrix(), AuxKernel::AuxKernel(), AuxScalarKernel::AuxScalarKernel(), BoundsAux::BoundsAux(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), Moose::compute_bounds(), Moose::compute_jacobian(), Moose::compute_nearnullspace(), Moose::compute_nullspace(), Moose::compute_postcheck(), Moose::compute_transpose_nullspace(), Console::Console(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), EigenProblem::EigenProblem(), Eigenvalue::Eigenvalue(), Executioner::Executioner(), Exodus::Exodus(), FEProblem::FEProblem(), GapValueAux::GapValueAux(), MooseObject::getCheckedPointerParam(), MooseMesh::init(), BlockRestrictable::initializeBlockRestrictable(), FEProblemBase::initNullSpaceVectors(), InterfaceKernel::InterfaceKernel(), isValid(), LayeredSideIntegral::LayeredSideIntegral(), MooseVariableInterface< Real >::MooseVariableInterface(), NearestPointBase< LayeredAverage >::NearestPointBase(), NodeFaceConstraint::NodeFaceConstraint(), PenetrationAux::PenetrationAux(), PiecewiseBilinear::PiecewiseBilinear(), PiecewiseLinearInterpolationMaterial::PiecewiseLinearInterpolationMaterial(), MultiAppProjectionTransfer::projectSolution(), RandomIC::RandomIC(), InputParameterWarehouse::removeInputParameters(), FEProblem::setInputParametersFEProblem(), FEProblemBase::setInputParametersFEProblem(), DumpObjectsProblem::stringifyParameters(), and Transient::Transient().

62 { return _pars; }
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171

◆ paramInfo()

template<typename... Args>
void MooseObject::paramInfo ( const std::string &  param,
Args...  args 
)
inlineinherited

Emits an informational message prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseInfo - only printing a message using the given args.

Definition at line 135 of file MooseObject.h.

Referenced by TransientMultiApp::TransientMultiApp().

136  {
137  auto prefix = param + ": ";
138  if (!_pars.inputLocation(param).empty())
139  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
140  mooseInfo(prefix, args...);
141  }
const std::string & inputLocation(const std::string &param) const
Get/set a string representing the location in the input text the parameter originated from (i...
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
void mooseInfo(Args &&... args) const
Definition: MooseObject.h:164
const std::string & paramFullpath(const std::string &param) const
Get/set a string representing the full HIT parameter path from the input file (e.g.

◆ paramWarning()

template<typename... Args>
void MooseObject::paramWarning ( const std::string &  param,
Args...  args 
)
inlineinherited

Emits a warning prefixed with the file and line number of the given param (from the input file) along with the full parameter path+name followed by the given args as the message.

If this object's parameters were not created directly by the Parser, then this function falls back to the normal behavior of mooseWarning - only printing a message using the given args.

Definition at line 119 of file MooseObject.h.

120  {
121  auto prefix = param + ": ";
122  if (!_pars.inputLocation(param).empty())
123  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
124  mooseWarning(prefix, args...);
125  }
void mooseWarning(Args &&... args) const
Definition: MooseObject.h:152
const std::string & inputLocation(const std::string &param) const
Get/set a string representing the location in the input text the parameter originated from (i...
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:171
const std::string & paramFullpath(const std::string &param) const
Get/set a string representing the full HIT parameter path from the input file (e.g.

◆ registerTimedSection()

PerfID PerfGraphInterface::registerTimedSection ( const std::string &  section_name,
const unsigned int  level 
)
protectedinherited

Call to register a named section for timing.

Parameters
section_nameThe name of the code section to be timed
levelThe importance of the timer - lower is more important (0 will always come out)
Returns
The ID of the section - use when starting timing

Definition at line 50 of file PerfGraphInterface.C.

51 {
52  if (_prefix != "")
53  return _perf_graph.registerSection(_prefix + "::" + section_name, level);
54  else
55  return _perf_graph.registerSection(section_name, level);
56 }
PerfGraph & _perf_graph
The performance graph to add to.
std::string _prefix
A prefix to use for all sections.
PerfID registerSection(const std::string &section_name, unsigned int level)
Registers a named section of code.
Definition: PerfGraph.C:42

◆ setMultiAppRelaxationFactor()

void PicardSolve::setMultiAppRelaxationFactor ( Real  factor)
inline

Set relaxation factor for the current solve as a MultiApp.

Definition at line 69 of file PicardSolve.h.

Real _picard_self_relaxation_factor
Relaxation factor outside of Picard iteration (used as a subapp)
Definition: PicardSolve.h:125

◆ setMultiAppRelaxationVariables()

void PicardSolve::setMultiAppRelaxationVariables ( const std::vector< std::string > &  vars)
inline

Set relaxation variables for the current solve as a MultiApp.

Definition at line 72 of file PicardSolve.h.

73  {
75  }
std::vector< std::string > _picard_self_relaxed_variables
Variables to be relaxed outside of Picard iteration (used as a subapp)
Definition: PicardSolve.h:127

◆ solve()

bool PicardSolve::solve ( )

Picard solve the FEProblem.

Returns
True if solver is converged.

Definition at line 47 of file PicardSolve.C.

Referenced by Steady::execute(), and TimeStepper::step().

48 {
49  TIME_SECTION(_picard_timer);
50 
51  Real current_dt = _problem.dt();
52 
55 
56  bool converged = true;
57 
58  // need to back up multi-apps even when not doing Picard iteration for recovering from failed
59  // multiapp solve
62 
63  // Prepare to relax variables as a master
64  std::set<dof_id_type> relaxed_dofs;
65  if (_relax_factor != 1.0)
66  {
67  // Snag all of the local dof indices for all of these variables
68  System & libmesh_nl_system = _nl.system();
69  AllLocalDofIndicesThread aldit(libmesh_nl_system, _relaxed_vars);
70  ConstElemRange & elem_range = *_problem.mesh().getActiveLocalElementRange();
71  Threads::parallel_reduce(elem_range, aldit);
72 
73  relaxed_dofs = aldit._all_dof_indices;
74  }
75 
76  // Prepare to relax variables as a subapp
77  std::set<dof_id_type> self_relaxed_dofs;
79  {
80  // Snag all of the local dof indices for all of these variables
81  System & libmesh_nl_system = _nl.system();
83  ConstElemRange & elem_range = *_problem.mesh().getActiveLocalElementRange();
84  Threads::parallel_reduce(elem_range, aldit);
85 
86  self_relaxed_dofs = aldit._all_dof_indices;
87 
89  {
90  NumericVector<Number> & solution = _nl.solution();
91  NumericVector<Number> & relax_previous = _nl.getVector("self_relax_previous");
92  relax_previous = solution;
93  }
94  }
95 
96  _picard_it = 0;
98  {
99  if (_has_picard_its)
100  {
101  if (_picard_it == 0)
102  {
103  // First Picard iteration - need to save off the initial nonlinear residual
105  _console << COLOR_MAGENTA << "Initial Picard Norm: " << COLOR_DEFAULT;
106  if (_picard_initial_norm == std::numeric_limits<Real>::max())
107  _console << " MAX ";
108  else
109  _console << std::scientific << _picard_initial_norm;
110  _console << COLOR_DEFAULT << "\n\n";
111  }
112  else
113  {
114  // For every iteration other than the first, we need to restore the state of the MultiApps
117  }
118 
119  _console << COLOR_MAGENTA << "Beginning Picard Iteration " << _picard_it << COLOR_DEFAULT
120  << '\n';
121  }
122 
123  Real begin_norm_old = (_picard_it > 0 ? _picard_timestep_begin_norm[_picard_it - 1]
124  : std::numeric_limits<Real>::max());
125  Real end_norm_old = (_picard_it > 0 ? _picard_timestep_end_norm[_picard_it - 1]
126  : std::numeric_limits<Real>::max());
127  bool relax = (_relax_factor != 1) && (_picard_it > 0);
128  bool solve_converged = solveStep(begin_norm_old,
130  end_norm_old,
132  relax,
133  relaxed_dofs);
134 
135  if (solve_converged)
136  {
137  if (_has_picard_its)
138  {
139  _console << "\n 0 Picard |R| = "
140  << Console::outputNorm(std::numeric_limits<Real>::max(), _picard_initial_norm)
141  << '\n';
142 
143  for (unsigned int i = 0; i <= _picard_it; ++i)
144  {
145  Real max_norm = std::max(_picard_timestep_begin_norm[i], _picard_timestep_end_norm[i]);
146  _console << std::setw(2) << i + 1
147  << " Picard |R| = " << Console::outputNorm(_picard_initial_norm, max_norm)
148  << '\n';
149  }
150 
151  Real max_norm = std::max(_picard_timestep_begin_norm[_picard_it],
153 
154  Real max_relative_drop = max_norm / _picard_initial_norm;
155 
156  if (max_norm < _picard_abs_tol)
157  {
159  break;
160  }
161  if (max_relative_drop < _picard_rel_tol)
162  {
164  break;
165  }
167  {
169  break;
170  }
171  if (_picard_it + 1 == _picard_max_its)
172  {
174  converged = false;
175  break;
176  }
177  }
178  }
179  else
180  {
181  // If the last solve didn't converge then we need to exit this step completely (even in the
182  // case of Picard). So we can retry...
183  converged = false;
184  break;
185  }
186 
187  _problem.dt() =
188  current_dt; // _dt might be smaller than this at this point for multistep methods
189  }
190 
191  if (converged && _picard_self_relaxation_factor != 1.0)
192  {
194  {
195  NumericVector<Number> & solution = _nl.solution();
196  NumericVector<Number> & relax_previous = _nl.getVector("self_relax_previous");
197  Real factor = _picard_self_relaxation_factor;
198  for (const auto & dof : self_relaxed_dofs)
199  solution.set(dof, (relax_previous(dof) * (1.0 - factor)) + (solution(dof) * factor));
200  solution.close();
201  _nl.update();
202  }
204  }
205 
206  if (_has_picard_its)
207  {
208  _console << "Picard converged reason: ";
209  switch (_picard_status)
210  {
212  _console << "CONVERGED_ABS";
213  break;
215  _console << "CONVERGED_RELATIVE";
216  break;
218  _console << "CONVERGED_CUSTOM";
219  break;
221  _console << "DIVERGED_MAX_ITS";
222  break;
224  _console << "DIVERGED_NONLINEAR";
225  break;
227  _console << "DIVERGED_FAILED_MULTIAPP";
228  break;
229  default:
230  // UNSOLVED and CONVERGED_NONLINEAR should not be hit when Picard
231  // iteration is not on here
232  mooseError("Internal error: wrong Picard status!");
233  break;
234  }
235  _console << std::endl;
236  }
237  return converged;
238 }
Real _picard_self_relaxation_factor
Relaxation factor outside of Picard iteration (used as a subapp)
Definition: PicardSolve.h:125
ConstElemRange * getActiveLocalElementRange()
Return pointers to range objects for various types of ranges (local nodes, boundary elems...
Definition: MooseMesh.C:738
unsigned int _picard_max_its
Maximum Picard iterations.
Definition: PicardSolve.h:110
bool solveStep(Real begin_norm_old, Real &begin_norm, Real end_norm_old, Real &end_norm, bool relax, const std::set< dof_id_type > &relaxed_dofs)
Perform one Picard iteration or a full solve.
Definition: PicardSolve.C:241
virtual Real & time() const
std::vector< std::string > _relaxed_vars
The transferred variables that are going to be relaxed.
Definition: PicardSolve.h:122
const PerfID _picard_timer
Timer for Picard iteration.
Definition: PicardSolve.h:136
std::vector< Real > _picard_timestep_end_norm
Full history of residual norm after evaluation of timestep_end.
Definition: PicardSolve.h:146
unsigned int _picard_it
Definition: PicardSolve.h:140
virtual bool augmentedPicardConvergenceCheck() const
Augmented Picard convergence check that can be overridden by derived executioners.
Definition: Executioner.h:117
const ExecFlagType EXEC_TIMESTEP_END
void mooseError(Args &&... args) const
Definition: MooseObject.h:144
MoosePicardConvergenceReason _picard_status
Status of Picard solve.
Definition: PicardSolve.h:148
virtual void update()
Update the system (doing libMesh magic)
Definition: SystemBase.C:954
std::vector< std::string > _picard_self_relaxed_variables
Variables to be relaxed outside of Picard iteration (used as a subapp)
Definition: PicardSolve.h:127
virtual NumericVector< Number > & solution() override
Grab all the local dof indices for the variables passed in, in the system passed in.
NonlinearSystemBase & _nl
Reference to nonlinear system base for faster access.
Definition: PicardSolve.h:107
bool _has_picard_its
Whether or not we activate Picard iteration.
Definition: PicardSolve.h:112
const ExecFlagType EXEC_TIMESTEP_BEGIN
Real _picard_initial_norm
Initial residual norm.
Definition: PicardSolve.h:142
Real _relax_factor
Relaxation factor for Picard Iteration.
Definition: PicardSolve.h:120
Real _picard_abs_tol
Absolute tolerance on residual norm.
Definition: PicardSolve.h:116
void backupMultiApps(ExecFlagType type)
Backup the MultiApps associated with the ExecFlagType.
Executioner & _executioner
Executioner used to construct this.
Definition: PicardSolve.h:103
virtual System & system() override
Get the reference to the libMesh system.
std::vector< Real > _picard_timestep_begin_norm
Full history of residual norm after evaluation of timestep_begin.
Definition: PicardSolve.h:144
void restoreMultiApps(ExecFlagType type, bool force=false)
Restore the MultiApps associated with the ExecFlagType.
virtual Real computeResidualL2Norm()
Computes the residual using whatever is sitting in the current solution vector then returns the L2 no...
virtual MooseMesh & mesh() override
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
Real _picard_rel_tol
Relative tolerance on residual norm.
Definition: PicardSolve.h:114
virtual NumericVector< Number > & getVector(const std::string &name)
Get a raw NumericVector.
Definition: SystemBase.C:735
virtual Real & dt() const
Real _previous_entering_time
Time of previous Picard solve as a subapp.
Definition: PicardSolve.h:157
static std::string outputNorm(const Real &old_norm, const Real &norm)
A helper function for outputting norms in color.
Definition: Console.C:507
FEProblemBase & _problem
Reference to FEProblem.
Definition: PicardSolve.h:105

◆ solveStep()

bool PicardSolve::solveStep ( Real  begin_norm_old,
Real &  begin_norm,
Real  end_norm_old,
Real &  end_norm,
bool  relax,
const std::set< dof_id_type > &  relaxed_dofs 
)
protected

Perform one Picard iteration or a full solve.

Parameters
begin_norm_oldResidual norm after timestep_begin execution of previous Picard iteration
begin_normResidual norm after timestep_begin execution
end_norm_oldResidual norm after timestep_end execution of previous Picard iteration
end_normResidual norm after timestep_end execution
relaxWhether or not we do relaxation in this iteration
relaxed_dofsDoFs to be relaxed
Returns
True if both nonlinear solve and the execution of multiapps are successful.

Note: this function also set _xfem_repeat_step flag for XFEM. It tracks _xfem_update_count state. FIXME: The proper design will be to let XFEM use Picard iteration to control the execution.

Definition at line 241 of file PicardSolve.C.

Referenced by solve().

247 {
248  bool auto_advance = !(_has_picard_its && _problem.isTransient());
249 
251 
253  if (!_problem.execMultiApps(EXEC_TIMESTEP_BEGIN, auto_advance))
254  {
256  return false;
257  }
258 
261 
263 
264  if (_has_picard_its)
266  {
267  begin_norm = _problem.computeResidualL2Norm();
268 
269  _console << COLOR_MAGENTA << "Picard Norm after TIMESTEP_BEGIN MultiApps: "
270  << Console::outputNorm(begin_norm_old, begin_norm) << '\n';
271  }
272 
273  // Perform output for timestep begin
275 
276  // Update warehouse active objects
278 
279  if (relax)
280  {
281  NumericVector<Number> & solution = _nl.solution();
282  NumericVector<Number> & relax_previous = _nl.getVector("relax_previous");
283 
284  // Save off the current solution
285  relax_previous = solution;
286  }
287 
288  if (_has_picard_its)
289  _console << COLOR_MAGENTA << "\nMaster solve:\n" << COLOR_DEFAULT;
290  _problem.solve();
291  if (!_problem.converged())
292  {
294 
295  _console << COLOR_RED << " Solve Did NOT Converge!" << COLOR_DEFAULT << std::endl;
296  // Perform the output of the current, failed time step (this only occurs if desired)
298  return false;
299  }
300  else
302 
303  _console << COLOR_GREEN << " Solve Converged!" << COLOR_DEFAULT << std::endl;
304 
305  // Relax the "relaxed_variables"
306  if (relax)
307  {
308  NumericVector<Number> & solution = _nl.solution();
309  NumericVector<Number> & relax_previous = _nl.getVector("relax_previous");
310  Real factor = _relax_factor;
311  for (const auto & dof : relaxed_dofs)
312  solution.set(dof, (relax_previous(dof) * (1.0 - factor)) + (solution(dof) * factor));
313  solution.close();
314  _nl.update();
315  }
316 
318  {
319  _console << "XFEM modifying mesh, repeating step" << std::endl;
320  _xfem_repeat_step = true;
322  }
323  else
324  {
325  if (_problem.haveXFEM())
326  {
327  _xfem_repeat_step = false;
328  _xfem_update_count = 0;
329  _console << "XFEM not modifying mesh, continuing" << std::endl;
330  }
331 
334 
336  if (!_problem.execMultiApps(EXEC_TIMESTEP_END, auto_advance))
337  {
339  return false;
340  }
341  }
342 
344 
345  if (_has_picard_its)
347  {
348  end_norm = _problem.computeResidualL2Norm();
349 
350  _console << COLOR_MAGENTA << "Picard Norm after TIMESTEP_END MultiApps: "
351  << Console::outputNorm(end_norm_old, end_norm) << '\n';
352  }
353 
354  return true;
355 }
const ExecFlagType EXEC_FAILED
unsigned int _max_xfem_update
Maximum number of xfem updates per step.
Definition: PicardSolve.h:130
virtual void updateActiveObjects()
Update the active objects in the warehouses.
bool _xfem_repeat_step
Whether step should be repeated due to xfem modifying the mesh.
Definition: PicardSolve.h:154
bool _update_xfem_at_timestep_begin
Controls whether xfem should update the mesh at the beginning of the time step.
Definition: PicardSolve.h:132
virtual void onTimestepEnd() override
bool haveXFEM()
Find out whether the current analysis is using XFEM.
const ExecFlagType EXEC_TIMESTEP_END
MoosePicardConvergenceReason _picard_status
Status of Picard solve.
Definition: PicardSolve.h:148
virtual void update()
Update the system (doing libMesh magic)
Definition: SystemBase.C:954
virtual NumericVector< Number > & solution() override
NonlinearSystemBase & _nl
Reference to nonlinear system base for faster access.
Definition: PicardSolve.h:107
virtual bool converged() override
virtual void execute(const ExecFlagType &exec_type)
Convenience function for performing execution of MOOSE systems.
bool _has_picard_its
Whether or not we activate Picard iteration.
Definition: PicardSolve.h:112
const ExecFlagType EXEC_TIMESTEP_BEGIN
virtual bool updateMeshXFEM()
Update the mesh due to changing XFEM cuts.
Real _relax_factor
Relaxation factor for Picard Iteration.
Definition: PicardSolve.h:120
Executioner & _executioner
Executioner used to construct this.
Definition: PicardSolve.h:103
unsigned int _xfem_update_count
Counter for number of xfem updates that have been performed in the current step.
Definition: PicardSolve.h:152
virtual void preSolve()
Override this for actions that should take place before execution.
Definition: Executioner.C:226
virtual Real computeResidualL2Norm()
Computes the residual using whatever is sitting in the current solution vector then returns the L2 no...
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
bool execMultiApps(ExecFlagType type, bool auto_advance=true)
Execute the MultiApps associated with the ExecFlagType.
virtual bool isTransient() const override
bool hasMultiApps() const
Returns whether or not the current simulation has any multiapps.
virtual void solve() override
bool _picard_force_norms
Whether or not we force evaluation of residual norms even without multiapps.
Definition: PicardSolve.h:118
virtual void postSolve()
Override this for actions that should take place after execution.
Definition: Executioner.C:231
virtual NumericVector< Number > & getVector(const std::string &name)
Get a raw NumericVector.
Definition: SystemBase.C:735
virtual void outputStep(ExecFlagType type)
Output the current step.
void execTransfers(ExecFlagType type)
Execute the Transfers associated with the ExecFlagType.
static std::string outputNorm(const Real &old_norm, const Real &norm)
A helper function for outputting norms in color.
Definition: Console.C:507
FEProblemBase & _problem
Reference to FEProblem.
Definition: PicardSolve.h:105

◆ type()

const std::string& MooseObject::type ( ) const
inlineinherited

Get the type of this object.

Returns
the name of the type of this object

Definition at line 50 of file MooseObject.h.

Referenced by DumpObjectsProblem::addAuxKernel(), DumpObjectsProblem::addAuxScalarKernel(), FEProblemBase::addAuxScalarVariable(), DumpObjectsProblem::addAuxVariable(), DisplacedProblem::addAuxVariable(), FEProblemBase::addAuxVariable(), DumpObjectsProblem::addBoundaryCondition(), DumpObjectsProblem::addConstraint(), DumpObjectsProblem::addDGKernel(), DumpObjectsProblem::addDiracKernel(), FEProblemBase::addDistribution(), DumpObjectsProblem::addFunction(), FEProblemBase::addFunction(), DumpObjectsProblem::addInitialCondition(), DumpObjectsProblem::addInterfaceKernel(), DumpObjectsProblem::addKernel(), DumpObjectsProblem::addMaterial(), DumpObjectsProblem::addNodalKernel(), FEProblemBase::addPredictor(), FEProblemBase::addSampler(), DumpObjectsProblem::addScalarKernel(), FEProblemBase::addScalarVariable(), PhysicsBasedPreconditioner::addSystem(), FEProblemBase::addTimeIntegrator(), DumpObjectsProblem::addVariable(), DisplacedProblem::addVariable(), FEProblemBase::addVariable(), FEProblemBase::advanceMultiApps(), FEProblemBase::backupMultiApps(), MooseMesh::buildRefinementAndCoarseningMaps(), FEProblemBase::computeAuxiliaryKernels(), ElemElemConstraint::computeElemNeighJacobian(), InterfaceKernel::computeElemNeighJacobian(), DGKernel::computeElemNeighJacobian(), ElemElemConstraint::computeElemNeighResidual(), InterfaceKernel::computeElemNeighResidual(), DGKernel::computeElemNeighResidual(), FEProblemBase::computeMultiAppsDT(), InterfaceKernel::computeOffDiagElemNeighJacobian(), DGKernel::computeOffDiagElemNeighJacobian(), DGConvection::computeQpJacobian(), CoupledTiedValueConstraint::computeQpJacobian(), TiedValueConstraint::computeQpJacobian(), DGDiffusion::computeQpJacobian(), LinearNodalConstraint::computeQpJacobian(), EqualValueBoundaryConstraint::computeQpJacobian(), EqualValueEmbeddedConstraint::computeQpJacobian(), CoupledTiedValueConstraint::computeQpOffDiagJacobian(), EqualValueEmbeddedConstraint::computeQpOffDiagJacobian(), DGConvection::computeQpResidual(), CoupledTiedValueConstraint::computeQpResidual(), TiedValueConstraint::computeQpResidual(), LinearNodalConstraint::computeQpResidual(), DGDiffusion::computeQpResidual(), EqualValueBoundaryConstraint::computeQpResidual(), EqualValueEmbeddedConstraint::computeQpResidual(), FEProblemBase::computeUserObjects(), DisplacedProblem::createQRules(), FEProblemBase::createQRules(), DumpObjectsProblem::deduceNecessaryParameters(), DumpObjectsProblem::dumpObjectHelper(), FEProblemBase::duplicateVariableCheck(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), FEProblemBase::execTransfers(), FEProblemBase::finishMultiAppStep(), ElementSubdomainIDGenerator::generate(), ElementGenerator::getElemType(), FEProblemBase::getMaterial(), FEProblemBase::getMaterialData(), FEProblemBase::getTransfers(), FEProblemBase::hasMultiApps(), AdvancedOutput::hasOutput(), FEProblemBase::incrementMultiAppTStep(), AdvancedOutput::initAvailableLists(), SolutionUserObject::initialSetup(), AdvancedOutput::initShowHideLists(), AssignElementSubdomainID::modify(), ControlOutput::output(), Gnuplot::output(), CSV::output(), Exodus::output(), Console::output(), Nemesis::output(), AdvancedOutput::output(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), FEProblemBase::restoreMultiApps(), FEProblemBase::setCoupling(), PerfGraphOutput::shouldOutput(), FileOutput::shouldOutput(), Output::shouldOutput(), AdvancedOutput::shouldOutput(), DisplacedProblem::updateGeomSearch(), FEProblemBase::updateGeomSearch(), and AdvancedOutput::wantOutput().

50 { return _type; }
const std::string & _type
The type of this object (the Class name)
Definition: MooseObject.h:177

◆ XFEMRepeatStep()

bool PicardSolve::XFEMRepeatStep ( ) const
inline

This function checks the _xfem_repeat_step flag set by solve.

Definition at line 60 of file PicardSolve.h.

Referenced by Transient::takeStep().

60 { return _xfem_repeat_step; }
bool _xfem_repeat_step
Whether step should be repeated due to xfem modifying the mesh.
Definition: PicardSolve.h:154

Member Data Documentation

◆ _app

MooseApp& MooseObject::_app
protectedinherited

The MooseApp this object is associated with.

Definition at line 174 of file MooseObject.h.

Referenced by GridPartitioner::_do_partition(), AB2PredictorCorrector::AB2PredictorCorrector(), Executioner::addAttributeReporter(), FEProblemBase::addMaterialHelper(), FEProblemBase::addMultiApp(), FEProblemBase::addOutput(), FEProblemBase::allowOutput(), AStableDirk4::AStableDirk4(), AlgebraicRelationshipManager::attachAlgebraicFunctorHelper(), RelationshipManager::attachRelationshipManagers(), ElementSideNeighborLayers::attachRelationshipManagersInternal(), ElementPointNeighbors::attachRelationshipManagersInternal(), FileMesh::buildMesh(), MeshGeneratorMesh::buildMesh(), MooseMesh::buildMeshBaseObject(), FEProblemBase::checkNonlinearConvergence(), OversampleOutput::cloneMesh(), FEProblemBase::computeJacobianTags(), FEProblemBase::computeResidualTags(), Console::Console(), TimeStepper::constrainStep(), MultiApp::createApp(), DumpObjectsProblem::dumpObjectHelper(), DumpObjectsProblem::dumpVariableHelper(), EigenExecutionerBase::EigenExecutionerBase(), EigenKernel::EigenKernel(), NonlinearEigen::execute(), InversePowerMethod::execute(), Transient::execute(), Steady::execute(), FileOutput::FileOutput(), FEProblemBase::forceOutput(), MeshGenerator::getMesh(), MeshGenerator::getMeshByName(), MooseObject::getMooseApp(), InversePowerMethod::init(), NonlinearEigen::init(), Transient::init(), Steady::init(), MooseMesh::init(), NumPicardIterations::initialize(), TimePeriod::initialSetup(), Console::initialSetup(), MultiApp::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), FEProblemBase::initPetscOutput(), AdvancedOutput::initPostprocessorOrVectorPostprocessorLists(), InversePowerMethod::InversePowerMethod(), MooseObject::mooseError(), NonlinearEigen::NonlinearEigen(), EigenExecutionerBase::normalizeSolution(), PerfGraphOutput::output(), Tecplot::output(), Exodus::output(), Nemesis::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Exodus::outputEmptyTimestep(), Console::outputInput(), Exodus::outputInput(), Exodus::outputNodalVariables(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), Console::outputSystemInformation(), MultiApp::parentOutputPositionChanged(), PerformanceData::PerformanceData(), PetscOutput::petscLinearOutput(), PetscOutput::petscNonlinearOutput(), Transient::preExecute(), FEProblemBase::projectSolution(), FEProblemBase::setRestartFile(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), Transient::setupTimeIntegrator(), TransientMultiApp::solveStep(), FEProblemBase::subdomainSetup(), FEProblemBase::theWarehouse(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), FEProblemBase::timestepSetup(), Transient::Transient(), and Console::write().

◆ _console

const ConsoleStream ConsoleStreamInterface::_console
inherited

An instance of helper class to write streams to the Console objects.

Definition at line 32 of file ConsoleStreamInterface.h.

Referenced by IterationAdaptiveDT::acceptStep(), SetupRecoverFileBaseAction::act(), Adaptivity::adaptMesh(), FEProblemBase::adaptMesh(), SimplePredictor::apply(), MultiApp::backup(), FEProblemBase::backupMultiApps(), FEProblemBase::checkProblemIntegrity(), IterationAdaptiveDT::computeAdaptiveDT(), Transient::computeConstrainedDT(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeResidualTags(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), MultiApp::createApp(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppUserObjectTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppProjectionTransfer::execute(), MultiAppVectorPostprocessorTransfer::execute(), MultiAppCopyTransfer::execute(), Steady::execute(), MultiAppDTKUserObjectTransfer::execute(), ActionWarehouse::executeActionsWithAction(), ActionWarehouse::executeAllActions(), FEProblemBase::FEProblemBase(), ElementQualityChecker::finalize(), FEProblemBase::finishMultiAppStep(), MultiApp::globalAppToLocal(), InversePowerMethod::init(), NonlinearEigen::init(), Steady::init(), FEProblemBase::initialAdaptMesh(), FEProblemBase::initialSetup(), EigenExecutionerBase::inversePowerIteration(), Transient::keepGoing(), IterationAdaptiveDT::limitDTByFunction(), IterationAdaptiveDT::limitDTToPostprocessorValue(), EigenExecutionerBase::makeBXConsistent(), Console::meshChanged(), MooseObject::mooseDeprecated(), MooseObject::mooseInfo(), MooseObject::mooseWarning(), PerfGraphOutput::output(), DOFMapOutput::output(), VariableResidualNormsDebugOutput::output(), Console::output(), ControlOutput::outputActiveObjects(), ControlOutput::outputChangedControls(), ControlOutput::outputControls(), Console::outputInput(), Console::outputPostprocessors(), Console::outputScalarVariables(), Console::outputSystemInformation(), FEProblemBase::possiblyRebuildGeomSearchPatches(), EigenExecutionerBase::postExecute(), AB2PredictorCorrector::postSolve(), ActionWarehouse::printActionDependencySets(), EigenExecutionerBase::printEigenvalue(), MaterialPropertyDebugOutput::printMaterialMap(), SolutionTimeAdaptiveDT::rejectStep(), DT2::rejectStep(), MultiApp::restore(), FEProblemBase::restoreMultiApps(), SimplePredictor::shouldApply(), NonlinearSystem::solve(), solve(), LStableDirk2::solve(), LStableDirk3::solve(), ImplicitMidpoint::solve(), ExplicitTVDRK2::solve(), AStableDirk4::solve(), LStableDirk4::solve(), ExplicitRK2::solve(), TransientMultiApp::solveStep(), solveStep(), DT2::step(), AB2PredictorCorrector::step(), NonlinearEigen::takeStep(), Console::writeTimestepInformation(), Console::writeVariableNorms(), and FEProblemBase::~FEProblemBase().

◆ _enabled

const bool& MooseObject::_enabled
protectedinherited

Reference to the "enable" InputParaemters, used by Controls for toggling on/off MooseObjects.

Definition at line 183 of file MooseObject.h.

Referenced by MooseObject::enabled().

◆ _executioner

Executioner& PicardSolve::_executioner
protected

Executioner used to construct this.

Definition at line 103 of file PicardSolve.h.

Referenced by solve(), and solveStep().

◆ _has_picard_its

bool PicardSolve::_has_picard_its
protected

Whether or not we activate Picard iteration.

Definition at line 112 of file PicardSolve.h.

Referenced by hasPicardIteration(), solve(), and solveStep().

◆ _max_xfem_update

unsigned int PicardSolve::_max_xfem_update
protected

Maximum number of xfem updates per step.

Definition at line 130 of file PicardSolve.h.

Referenced by solveStep().

◆ _name

const std::string& MooseObject::_name
protectedinherited

◆ _nl

NonlinearSystemBase& PicardSolve::_nl
protected

Reference to nonlinear system base for faster access.

Definition at line 107 of file PicardSolve.h.

Referenced by solve(), and solveStep().

◆ _pars

const InputParameters& MooseObject::_pars
protectedinherited

◆ _perf_graph

PerfGraph& PerfGraphInterface::_perf_graph
protectedinherited

The performance graph to add to.

Definition at line 66 of file PerfGraphInterface.h.

Referenced by PerfGraphData::getValue(), and PerfGraphInterface::registerTimedSection().

◆ _pg_params

const InputParameters* PerfGraphInterface::_pg_params
protectedinherited

Params.

Definition at line 63 of file PerfGraphInterface.h.

◆ _picard_abs_tol

Real PicardSolve::_picard_abs_tol
protected

Absolute tolerance on residual norm.

Definition at line 116 of file PicardSolve.h.

Referenced by solve().

◆ _picard_force_norms

bool PicardSolve::_picard_force_norms
protected

Whether or not we force evaluation of residual norms even without multiapps.

Definition at line 118 of file PicardSolve.h.

Referenced by solveStep().

◆ _picard_initial_norm

Real PicardSolve::_picard_initial_norm
private

Initial residual norm.

Definition at line 142 of file PicardSolve.h.

Referenced by solve().

◆ _picard_it

unsigned int PicardSolve::_picard_it
private

Variables used by the Picard iteration Picard iteration counter

Definition at line 140 of file PicardSolve.h.

Referenced by numPicardIts(), and solve().

◆ _picard_max_its

unsigned int PicardSolve::_picard_max_its
protected

Maximum Picard iterations.

Definition at line 110 of file PicardSolve.h.

Referenced by solve().

◆ _picard_rel_tol

Real PicardSolve::_picard_rel_tol
protected

Relative tolerance on residual norm.

Definition at line 114 of file PicardSolve.h.

Referenced by solve().

◆ _picard_self_relaxation_factor

Real PicardSolve::_picard_self_relaxation_factor
protected

Relaxation factor outside of Picard iteration (used as a subapp)

Definition at line 125 of file PicardSolve.h.

Referenced by setMultiAppRelaxationFactor(), and solve().

◆ _picard_self_relaxed_variables

std::vector<std::string> PicardSolve::_picard_self_relaxed_variables
protected

Variables to be relaxed outside of Picard iteration (used as a subapp)

Definition at line 127 of file PicardSolve.h.

Referenced by setMultiAppRelaxationVariables(), and solve().

◆ _picard_status

MoosePicardConvergenceReason PicardSolve::_picard_status
private

Status of Picard solve.

Definition at line 148 of file PicardSolve.h.

Referenced by checkConvergence(), clearPicardStatus(), solve(), and solveStep().

◆ _picard_timer

const PerfID PicardSolve::_picard_timer
private

Timer for Picard iteration.

Definition at line 136 of file PicardSolve.h.

Referenced by solve().

◆ _picard_timestep_begin_norm

std::vector<Real> PicardSolve::_picard_timestep_begin_norm
private

Full history of residual norm after evaluation of timestep_begin.

Definition at line 144 of file PicardSolve.h.

Referenced by solve().

◆ _picard_timestep_end_norm

std::vector<Real> PicardSolve::_picard_timestep_end_norm
private

Full history of residual norm after evaluation of timestep_end.

Definition at line 146 of file PicardSolve.h.

Referenced by solve().

◆ _prefix

std::string PerfGraphInterface::_prefix
protectedinherited

A prefix to use for all sections.

Definition at line 69 of file PerfGraphInterface.h.

Referenced by PerfGraphInterface::registerTimedSection().

◆ _previous_entering_time

Real PicardSolve::_previous_entering_time
private

Time of previous Picard solve as a subapp.

Definition at line 157 of file PicardSolve.h.

Referenced by solve().

◆ _problem

FEProblemBase& PicardSolve::_problem
protected

Reference to FEProblem.

Definition at line 105 of file PicardSolve.h.

Referenced by solve(), and solveStep().

◆ _relax_factor

Real PicardSolve::_relax_factor
protected

Relaxation factor for Picard Iteration.

Definition at line 120 of file PicardSolve.h.

Referenced by solve(), and solveStep().

◆ _relaxed_vars

std::vector<std::string> PicardSolve::_relaxed_vars
protected

The transferred variables that are going to be relaxed.

Definition at line 122 of file PicardSolve.h.

Referenced by solve().

◆ _type

const std::string& MooseObject::_type
protectedinherited

The type of this object (the Class name)

Definition at line 177 of file MooseObject.h.

Referenced by FEProblemBase::init(), and MooseObject::type().

◆ _update_xfem_at_timestep_begin

bool PicardSolve::_update_xfem_at_timestep_begin
protected

Controls whether xfem should update the mesh at the beginning of the time step.

Definition at line 132 of file PicardSolve.h.

Referenced by solveStep().

◆ _xfem_repeat_step

bool PicardSolve::_xfem_repeat_step
private

Whether step should be repeated due to xfem modifying the mesh.

Definition at line 154 of file PicardSolve.h.

Referenced by solveStep(), and XFEMRepeatStep().

◆ _xfem_update_count

unsigned int PicardSolve::_xfem_update_count
private

Counter for number of xfem updates that have been performed in the current step.

Definition at line 152 of file PicardSolve.h.

Referenced by solveStep().


The documentation for this class was generated from the following files: