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

Transient executioners usually loop through a number of timesteps... More...

#include <Transient.h>

Inheritance diagram for Transient:
[legend]

Public Member Functions

 Transient (const InputParameters &parameters)
 Constructor. More...
 
virtual void init () override
 Initialize the executioner. More...
 
virtual void execute () override
 Pure virtual execute function MUST be overridden by children classes. More...
 
virtual void takeStep (Real input_dt=-1.0)
 Do whatever is necessary to advance one step. More...
 
virtual Real computeConstrainedDT ()
 
virtual void estimateTimeError ()
 
virtual Real getDT ()
 
virtual bool keepGoing ()
 Transient loop will continue as long as this keeps returning true. More...
 
virtual bool lastSolveConverged () override
 Whether or not the last solve converged. More...
 
virtual void preExecute () override
 Override this for actions that should take place before execution. More...
 
virtual void postExecute () override
 Override this for actions that should take place after execution. More...
 
virtual void computeDT ()
 
virtual void preStep ()
 
virtual void postStep ()
 
virtual void incrementStepOrReject ()
 This is where the solve step is actually incremented. More...
 
virtual void endStep (Real input_time=-1.0)
 
virtual void setTargetTime (Real target_time)
 Can be used to set the next "target time" which is a time to nail perfectly. More...
 
virtual Real getTime ()
 Get the current time. More...
 
virtual void setTime (Real t)
 Set the current time. More...
 
virtual void setTimeOld (Real t)
 Set the old time. More...
 
Real getSolutionChangeNorm ()
 Get the Relative L2 norm of the change in the solution. More...
 
TimeSteppergetTimeStepper ()
 Pointer to the TimeStepper. More...
 
void setTimeStepper (std::shared_ptr< TimeStepper > ts)
 Set the timestepper to use. More...
 
virtual std::string getTimeStepperName () override
 Get the timestepper. More...
 
Moose::TimeIntegratorType getTimeScheme ()
 Get the time scheme used. More...
 
std::set< Real > & syncTimes ()
 Get the set of sync times. More...
 
Real & dtMax ()
 Get the maximum dt. More...
 
Real & dtMin ()
 Get the minimal dt. More...
 
Real getStartTime ()
 Return the start time. More...
 
Real & endTime ()
 Get the end time. More...
 
Real & timestepTol ()
 Get the timestep tolerance. More...
 
bool & verbose ()
 Get the verbose output flag. More...
 
bool atSyncPoint ()
 Is the current step at a sync point (sync times, time interval, target time, etc)? More...
 
Real unconstrainedDT ()
 Get the unconstrained dt. More...
 
void parentOutputPositionChanged () override
 Can be used by subsclasses to call parentOutputPositionChanged() on the underlying FEProblemBase. More...
 
Real numPicardIts ()
 Get the number of Picard iterations performed. More...
 
virtual bool picardConverged () const
 Check if Picard iteration converged when maximum number of Picard iterations is greater than one. More...
 
virtual Real relativeSolutionDifferenceNorm ()
 The relative L2 norm of the difference between solution and old solution vector. More...
 
virtual void preSolve ()
 Override this for actions that should take place before execution. More...
 
virtual void postSolve ()
 Override this for actions that should take place after execution. More...
 
virtual Problemproblem ()
 Deprecated: Return a reference to this Executioner's Problem instance. More...
 
FEProblemBasefeProblem ()
 Return a reference to this Executioner's FEProblemBase instance. 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
 
template<class T >
const T & getUserObject (const std::string &name)
 Get an user object with a given parameter name. More...
 
template<class T >
const T & getUserObjectByName (const std::string &name)
 Get an user object with a given name. More...
 
const UserObjectgetUserObjectBase (const std::string &name)
 Get an user object with a given parameter name. More...
 
const UserObjectgetUserObjectBaseByName (const std::string &name)
 Get an user object with a given name. More...
 
bool hasPostprocessor (const std::string &name) const
 Determine if the Postprocessor exists. More...
 
bool hasPostprocessorByName (const PostprocessorName &name)
 Determine if the Postprocessor exists. More...
 
const PostprocessorValuegetPostprocessorValue (const std::string &name)
 Retrieve the value of a Postprocessor or one of it's old or older values. More...
 
const PostprocessorValuegetPostprocessorValueOld (const std::string &name)
 
const PostprocessorValuegetPostprocessorValueOlder (const std::string &name)
 
const PostprocessorValuegetPostprocessorValueByName (const PostprocessorName &name)
 Retrieve the value of the Postprocessor. More...
 
const PostprocessorValuegetPostprocessorValueOldByName (const PostprocessorName &name)
 
const PostprocessorValuegetPostprocessorValueOlderByName (const PostprocessorName &name)
 
const PostprocessorValuegetDefaultPostprocessorValue (const std::string &name)
 Return the default postprocessor value. More...
 

Public Attributes

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

Protected Member Functions

virtual void solveStep (Real input_dt=-1.0)
 This should execute the solve for one timestep. More...
 
void setupTimeIntegrator ()
 
virtual void addAttributeReporter (const std::string &name, Real &attribute, const std::string execute_on="")
 Adds a postprocessor to report a Real class attribute. More...
 
template<typename T >
T & declareRestartableData (std::string data_name)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableData (std::string data_name, const T &init_value)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T >
T & declareRestartableDataWithContext (std::string data_name, void *context)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableDataWithContext (std::string data_name, const T &init_value, void *context)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T >
T & declareRecoverableData (std::string data_name)
 Declare a piece of data as "recoverable". More...
 
template<typename T >
T & declareRecoverableData (std::string data_name, const T &init_value)
 Declare a piece of data as "restartable" and initialize it. More...
 
template<typename T >
T & declareRestartableDataWithObjectName (std::string data_name, std::string object_name)
 Declare a piece of data as "restartable". More...
 
template<typename T >
T & declareRestartableDataWithObjectNameWithContext (std::string data_name, std::string object_name, void *context)
 Declare a piece of data as "restartable". More...
 
PerfID registerTimedSection (const std::string &section_name, const unsigned int level)
 Call to register a named section for timing. More...
 

Protected Attributes

FEProblemBase_problem
 Here for backward compatibility. More...
 
NonlinearSystemBase_nl
 Reference to nonlinear system base for faster access. More...
 
Moose::TimeIntegratorType _time_scheme
 
std::shared_ptr< TimeStepper_time_stepper
 
int & _t_step
 Current timestep. More...
 
Real & _time
 Current time. More...
 
Real & _time_old
 Previous time. More...
 
Real & _dt
 Current delta t... or timestep size. More...
 
Real & _dt_old
 
Real & _unconstrained_dt
 
bool & _at_sync_point
 
bool & _first
 Is it our first time through the execution loop? More...
 
bool & _multiapps_converged
 Whether or not the multiapps failed during the last timestem. More...
 
bool & _last_solve_converged
 Whether or not the last solve converged. More...
 
bool _xfem_repeat_step
 Whether step should be repeated due to xfem modifying the mesh. More...
 
unsigned int _xfem_update_count
 Counter for number of xfem updates that have been performed in the current step. 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...
 
Real _end_time
 
Real _dtmin
 
Real _dtmax
 
unsigned int _num_steps
 
int _n_startup_steps
 
unsigned int _steps_taken
 
bool _steady_state_detection
 Steady state detection variables: More...
 
Real _steady_state_tolerance
 
Real _steady_state_start_time
 
Real & _sln_diff_norm
 
Real & _old_time_solution_norm
 
std::set< Real > & _sync_times
 
bool _abort
 
bool & _time_interval
 if to use time interval output More...
 
Real _next_interval_output_time
 
Real _time_interval_output_interval
 
Real _start_time
 
Real _timestep_tolerance
 
Real & _target_time
 
bool _use_multiapp_dt
 
int & _picard_it
 Picard Related. More...
 
Real _picard_max_its
 
bool & _picard_converged
 
Real & _picard_initial_norm
 
Real & _picard_timestep_begin_norm
 
Real & _picard_timestep_end_norm
 
Real _picard_rel_tol
 
Real _picard_abs_tol
 
bool _verbose
 should detailed diagnostic output be printed More...
 
Real _solution_change_norm
 
NumericVector< Number > & _sln_diff
 The difference of current and old solutions. More...
 
Real _relax_factor
 Relaxation factor for Picard Iteration. More...
 
Real _prev_time
 The _time when this app solved last. More...
 
std::vector< std::string > _relaxed_vars
 The transferred variables that are going to be relaxed. More...
 
std::set< dof_id_type > _relaxed_dofs
 The DoFs associates with all of the relaxed variables. More...
 
PerfID _final_timer
 
FEProblemBase_fe_problem
 
Real _initial_residual_norm
 Initial Residual Variables. More...
 
Real _old_initial_residual_norm
 
std::string _restart_file_base
 
std::vector< std::string > _splitting
 
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...
 

Detailed Description

Transient executioners usually loop through a number of timesteps...

calling solve() for each timestep.

Definition at line 31 of file Transient.h.

Constructor & Destructor Documentation

◆ Transient()

Transient::Transient ( const InputParameters parameters)

Constructor.

Parameters
parametersThe parameters object holding data for the class to use.
Returns
Whether or not the solve was successful.

Definition at line 165 of file Transient.C.

169  _time_scheme(getParam<MooseEnum>("scheme").getEnum<Moose::TimeIntegratorType>()),
171  _time(_problem.time()),
173  _dt(_problem.dt()),
175  _unconstrained_dt(declareRecoverableData<Real>("unconstrained_dt", -1)),
176  _at_sync_point(declareRecoverableData<bool>("at_sync_point", false)),
177  _first(declareRecoverableData<bool>("first", true)),
178  _multiapps_converged(declareRecoverableData<bool>("multiapps_converged", true)),
179  _last_solve_converged(declareRecoverableData<bool>("last_solve_converged", true)),
180  _xfem_repeat_step(false),
182  _max_xfem_update(getParam<unsigned int>("max_xfem_update")),
183  _update_xfem_at_timestep_begin(getParam<bool>("update_xfem_at_timestep_begin")),
184  _end_time(getParam<Real>("end_time")),
185  _dtmin(getParam<Real>("dtmin")),
186  _dtmax(getParam<Real>("dtmax")),
187  _num_steps(getParam<unsigned int>("num_steps")),
188  _n_startup_steps(getParam<int>("n_startup_steps")),
189  _steps_taken(0),
190  _steady_state_detection(getParam<bool>("steady_state_detection")),
191  _steady_state_tolerance(getParam<Real>("steady_state_tolerance")),
192  _steady_state_start_time(getParam<Real>("steady_state_start_time")),
193  _sln_diff_norm(declareRecoverableData<Real>("sln_diff_norm", 0.0)),
194  _old_time_solution_norm(declareRecoverableData<Real>("old_time_solution_norm", 0.0)),
196  _abort(getParam<bool>("abort_on_solve_fail")),
197  _time_interval(declareRecoverableData<bool>("time_interval", false)),
198  _start_time(getParam<Real>("start_time")),
199  _timestep_tolerance(getParam<Real>("timestep_tolerance")),
200  _target_time(declareRecoverableData<Real>("target_time", -1)),
201  _use_multiapp_dt(getParam<bool>("use_multiapp_dt")),
202  _picard_it(declareRecoverableData<int>("picard_it", 0)),
203  _picard_max_its(getParam<unsigned int>("picard_max_its")),
204  _picard_converged(declareRecoverableData<bool>("picard_converged", false)),
205  _picard_initial_norm(declareRecoverableData<Real>("picard_initial_norm", 0.0)),
206  _picard_timestep_begin_norm(declareRecoverableData<Real>("picard_timestep_begin_norm", 0.0)),
207  _picard_timestep_end_norm(declareRecoverableData<Real>("picard_timestep_end_norm", 0.0)),
208  _picard_rel_tol(getParam<Real>("picard_rel_tol")),
209  _picard_abs_tol(getParam<Real>("picard_abs_tol")),
210  _verbose(getParam<bool>("verbose")),
211  _sln_diff(_nl.addVector("sln_diff", false, PARALLEL)),
212  _relax_factor(getParam<Real>("relaxation_factor")),
213  _relaxed_vars(getParam<std::vector<std::string>>("relaxed_variables")),
215 {
216  // Handl deprecated parameters
217  if (!parameters.isParamSetByAddParam("trans_ss_check"))
218  _steady_state_detection = getParam<bool>("trans_ss_check");
219 
220  if (!parameters.isParamSetByAddParam("ss_check_tol"))
221  _steady_state_tolerance = getParam<Real>("ss_check_tol");
222 
223  if (!parameters.isParamSetByAddParam("ss_tmin"))
224  _steady_state_start_time = getParam<Real>("ss_tmin");
225 
227  _t_step = 0;
228  _dt = 0;
230 
231  // Either a start_time has been forced on us, or we want to tell the App about what our start time
232  // is (in case anyone else is interested.
233  if (_app.hasStartTime())
235  else if (parameters.isParamSetByUser("start_time"))
237 
239  _problem.transient(true);
240 
241  if (!_restart_file_base.empty())
243 
245 
246  if (_app.halfTransient()) // Cut timesteps and end_time in half...
247  {
248  _end_time /= 2.0;
249  _num_steps /= 2.0;
250 
251  if (_num_steps == 0) // Always do one step in the first half
252  _num_steps = 1;
253  }
254 
255  // Set up relaxation
256  if (_relax_factor != 1.0)
257  {
258  if (_relax_factor >= 2.0 || _relax_factor <= 0.0)
259  mooseError("The Picard iteration relaxation factor should be between 0.0 and 2.0");
260 
261  // Store a copy of the previous solution here
262  _nl.addVector("relax_previous", false, PARALLEL);
263  }
264  // This lets us know if we are at Picard iteration > 0, works for both master- AND sub-app.
265  // Initialize such that _prev_time != _time for the first Picard iteration
266  _prev_time = _time - 1.0;
267 }
PerfID registerTimedSection(const std::string &section_name, const unsigned int level)
Call to register a named section for timing.
Moose::TimeIntegratorType _time_scheme
Definition: Transient.h:226
Real _dtmax
Definition: Transient.h:262
virtual Real & dtOld() const
Real & _unconstrained_dt
Definition: Transient.h:239
virtual Real & time() const
Executioner(const InputParameters &parameters)
Constructor.
Definition: Executioner.C:99
PerfID _final_timer
Definition: Transient.h:327
Real _picard_abs_tol
Definition: Transient.h:301
bool & _picard_converged
Definition: Transient.h:296
NonlinearSystemBase & getNonlinearSystemBase()
Real _prev_time
The _time when this app solved last.
Definition: Transient.h:319
virtual NumericVector< Number > & addVector(const std::string &vector_name, const bool project, const ParallelType type)
Adds a solution length vector to the system.
Definition: SystemBase.C:511
Real _picard_max_its
Definition: Transient.h:295
Real & _picard_initial_norm
Definition: Transient.h:297
FEProblemBase & _problem
Here for backward compatibility.
Definition: Transient.h:221
int _n_startup_steps
Definition: Transient.h:264
void setDecomposition(const std::vector< std::string > &decomposition)
If called with a single string, it is used as the name of a the top-level decomposition split...
bool halfTransient()
Whether or not this simulation should only run half its transient (useful for testing recovery) ...
Definition: MooseApp.h:383
bool & _multiapps_converged
Whether or not the multiapps failed during the last timestem.
Definition: Transient.h:246
unsigned int _steps_taken
Definition: Transient.h:265
void mooseError(Args &&... args) const
Definition: MooseObject.h:140
Real & _picard_timestep_end_norm
Definition: Transient.h:299
Real getStartTime() const
Definition: MooseApp.h:210
Real _relax_factor
Relaxation factor for Picard Iteration.
Definition: Transient.h:314
bool _xfem_repeat_step
Whether step should be repeated due to xfem modifying the mesh.
Definition: Transient.h:252
bool _steady_state_detection
Steady state detection variables:
Definition: Transient.h:270
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
Definition: MooseObject.h:185
unsigned int _xfem_update_count
Counter for number of xfem updates that have been performed in the current step.
Definition: Transient.h:254
std::string _restart_file_base
Definition: Executioner.h:130
Real _dtmin
Definition: Transient.h:261
Real & _time_old
Previous time.
Definition: Transient.h:234
bool & _time_interval
if to use time interval output
Definition: Transient.h:281
bool isParamSetByAddParam(const std::string &name) const
Returns whether or not the parameter was set due to addParam.
std::set< Real > & _sync_times
Definition: Transient.h:276
unsigned int _num_steps
Definition: Transient.h:263
NonlinearSystemBase & _nl
Reference to nonlinear system base for faster access.
Definition: Transient.h:224
void setStartTime(const Real time)
Set the starting time for the simulation.
Definition: MooseApp.C:1043
const InputParameters & parameters() const
Get the parameters of the object.
Definition: MooseObject.h:57
std::vector< std::string > _relaxed_vars
The transferred variables that are going to be relaxed.
Definition: Transient.h:322
int & _picard_it
Picard Related.
Definition: Transient.h:294
bool _use_multiapp_dt
Definition: Transient.h:288
bool _verbose
should detailed diagnostic output be printed
Definition: Transient.h:304
Real & _target_time
Definition: Transient.h:287
bool & _first
Is it our first time through the execution loop?
Definition: Transient.h:243
Real _steady_state_tolerance
Definition: Transient.h:271
void setupTimeIntegrator()
Definition: Transient.C:850
Real _start_time
Definition: Transient.h:285
Real & _sln_diff_norm
Definition: Transient.h:273
Real _timestep_tolerance
Definition: Transient.h:286
virtual int & timeStep() const
std::vector< std::string > _splitting
Definition: Executioner.h:133
bool _abort
Definition: Transient.h:278
Real & _dt
Current delta t... or timestep size.
Definition: Transient.h:236
unsigned int _max_xfem_update
Maximum number of xfem updates per step.
Definition: Transient.h:256
Real & _dt_old
Definition: Transient.h:237
bool isParamSetByUser(const std::string &name) const
Method returns true if the parameter was by the user.
NumericVector< Number > & _sln_diff
The difference of current and old solutions.
Definition: Transient.h:309
Real & _picard_timestep_begin_norm
Definition: Transient.h:298
bool & _at_sync_point
Definition: Transient.h:240
Real & _time
Current time.
Definition: Transient.h:232
Real _steady_state_start_time
Definition: Transient.h:272
Real _picard_rel_tol
Definition: Transient.h:300
void setRestartFile(const std::string &file_name)
Communicate to the Resurector the name of the restart filer.
bool hasStartTime() const
Definition: MooseApp.h:205
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:171
Real & _old_time_solution_norm
Definition: Transient.h:274
virtual void transient(bool trans)
TimeIntegratorType
Time integrators.
Definition: MooseTypes.h:501
virtual Real & timeOld() const
Real _end_time
Definition: Transient.h:260
bool _update_xfem_at_timestep_begin
Controls whether xfem should update the mesh at the beginning of the time step.
Definition: Transient.h:258
virtual Real & dt() const
Real _next_interval_output_time
Definition: Transient.h:282
int & _t_step
Current timestep.
Definition: Transient.h:230
std::set< Real > & getSyncTimes()
Return the sync times for all objects.
OutputWarehouse & getOutputWarehouse()
Get the OutputWarehouse objects.
Definition: MooseApp.C:1056
bool & _last_solve_converged
Whether or not the last solve converged.
Definition: Transient.h:249
FEProblemBase & _fe_problem
Definition: Executioner.h:123

Member Function Documentation

◆ addAttributeReporter()

void Executioner::addAttributeReporter ( const std::string &  name,
Real &  attribute,
const std::string  execute_on = "" 
)
protectedvirtualinherited

Adds a postprocessor to report a Real class attribute.

Parameters
nameThe name of the postprocessor to create
attributeThe Real class attribute to report
execute_onWhen to execute the postprocessor that is created

Definition at line 210 of file Executioner.C.

Referenced by InversePowerMethod::InversePowerMethod(), and NonlinearEigen::NonlinearEigen().

213 {
214  FEProblemBase * problem = getCheckedPointerParam<FEProblemBase *>(
215  "_fe_problem_base",
216  "Failed to retrieve FEProblemBase when adding a attribute reporter in Executioner");
217  InputParameters params = _app.getFactory().getValidParams("ExecutionerAttributeReporter");
218  params.set<Real *>("value") = &attribute;
219  if (!execute_on.empty())
220  params.set<ExecFlagEnum>("execute_on") = execute_on;
221  problem->addPostprocessor("ExecutionerAttributeReporter", name, params);
222 }
A MultiMooseEnum object to hold "execute_on" flags.
Definition: ExecFlagEnum.h:25
InputParameters getValidParams(const std::string &name)
Get valid parameters for the object.
Definition: Factory.C:67
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
Factory & getFactory()
Retrieve the Factory associated with this App.
Definition: MooseApp.h:279
virtual Problem & problem()
Deprecated: Return a reference to this Executioner&#39;s Problem instance.
Definition: Executioner.C:185
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:171
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:51

◆ atSyncPoint()

bool Transient::atSyncPoint ( )
inline

Is the current step at a sync point (sync times, time interval, target time, etc)?

Returns
Bool indicataing whether we are at a sync point

Definition at line 185 of file Transient.h.

Referenced by IterationAdaptiveDT::acceptStep().

185 { return _at_sync_point; }
bool & _at_sync_point
Definition: Transient.h:240

◆ computeConstrainedDT()

Real Transient::computeConstrainedDT ( )
virtual
Returns
The fully constrained dt for this timestep

Definition at line 687 of file Transient.C.

Referenced by solveStep().

688 {
689  // // If start up steps are needed
690  // if (_t_step == 1 && _n_startup_steps > 1)
691  // _dt = _input_dt/(double)(_n_startup_steps);
692  // else if (_t_step == 1+_n_startup_steps && _n_startup_steps > 1)
693  // _dt = _input_dt;
694 
695  Real dt_cur = _dt;
696  std::ostringstream diag;
697 
698  // After startup steps, compute new dt
700  dt_cur = getDT();
701 
702  else
703  {
704  diag << "Timestep < n_startup_steps, using old dt: " << std::setw(9) << std::setprecision(6)
705  << std::setfill('0') << std::showpoint << std::left << _dt << " tstep: " << _t_step
706  << " n_startup_steps: " << _n_startup_steps << std::endl;
707  }
708  _unconstrained_dt = dt_cur;
709 
710  if (_verbose)
711  _console << diag.str();
712 
713  diag.str("");
714  diag.clear();
715 
716  // Allow the time stepper to limit the time step
717  _at_sync_point = _time_stepper->constrainStep(dt_cur);
718 
719  // Don't let time go beyond next time interval output if specified
721  {
723  _at_sync_point = true;
724 
725  diag << "Limiting dt for time interval output at time: " << std::setw(9) << std::setprecision(6)
726  << std::setfill('0') << std::showpoint << std::left << _next_interval_output_time
727  << " dt: " << std::setw(9) << std::setprecision(6) << std::setfill('0') << std::showpoint
728  << std::left << dt_cur << std::endl;
729  }
730 
731  // Adjust to a target time if set
732  if (_target_time > 0 && _time + dt_cur + _timestep_tolerance >= _target_time)
733  {
734  dt_cur = _target_time - _time;
735  _at_sync_point = true;
736 
737  diag << "Limiting dt for target time: " << std::setw(9) << std::setprecision(6)
738  << std::setfill('0') << std::showpoint << std::left << _next_interval_output_time
739  << " dt: " << std::setw(9) << std::setprecision(6) << std::setfill('0') << std::showpoint
740  << std::left << dt_cur << std::endl;
741  }
742 
743  // Constrain by what the multi apps are doing
744  Real multi_app_dt = _problem.computeMultiAppsDT(EXEC_TIMESTEP_BEGIN);
745  if (_use_multiapp_dt || multi_app_dt < dt_cur)
746  {
747  dt_cur = multi_app_dt;
748  _at_sync_point = false;
749  diag << "Limiting dt for MultiApps: " << std::setw(9) << std::setprecision(6)
750  << std::setfill('0') << std::showpoint << std::left << dt_cur << std::endl;
751  }
753  if (multi_app_dt < dt_cur)
754  {
755  dt_cur = multi_app_dt;
756  _at_sync_point = false;
757  diag << "Limiting dt for MultiApps: " << std::setw(9) << std::setprecision(6)
758  << std::setfill('0') << std::showpoint << std::left << dt_cur << std::endl;
759  }
760 
761  if (_verbose)
762  _console << diag.str();
763 
764  return dt_cur;
765 }
virtual Real getDT()
Definition: Transient.C:768
Real & _unconstrained_dt
Definition: Transient.h:239
FEProblemBase & _problem
Here for backward compatibility.
Definition: Transient.h:221
int _n_startup_steps
Definition: Transient.h:264
const ExecFlagType EXEC_TIMESTEP_END
Real computeMultiAppsDT(ExecFlagType type)
Find the smallest timestep over all MultiApps.
bool & _time_interval
if to use time interval output
Definition: Transient.h:281
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227
const ExecFlagType EXEC_TIMESTEP_BEGIN
bool _use_multiapp_dt
Definition: Transient.h:288
bool _verbose
should detailed diagnostic output be printed
Definition: Transient.h:304
Real & _target_time
Definition: Transient.h:287
Real _timestep_tolerance
Definition: Transient.h:286
Real & _dt
Current delta t... or timestep size.
Definition: Transient.h:236
bool & _at_sync_point
Definition: Transient.h:240
Real & _time
Current time.
Definition: Transient.h:232
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
Real _next_interval_output_time
Definition: Transient.h:282
int & _t_step
Current timestep.
Definition: Transient.h:230

◆ computeDT()

void Transient::computeDT ( )
virtual

Definition at line 398 of file Transient.C.

Referenced by TransientMultiApp::computeDT(), execute(), init(), and TransientMultiApp::solveStep().

399 {
400  _time_stepper->computeStep(); // This is actually when DT gets computed
401 }
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227

◆ declareRecoverableData() [1/2]

template<typename T >
T & Restartable::declareRecoverableData ( std::string  data_name)
protectedinherited

Declare a piece of data as "recoverable".

This means that in the event of a recovery this piece of data will be restored back to its previous value.

Note - this data will NOT be restored on Restart!

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)

Definition at line 269 of file Restartable.h.

270 {
271  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
272 
273  registerRecoverableDataOnApp(full_name);
274 
275  return declareRestartableDataWithContext<T>(data_name, nullptr);
276 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:194
std::string _restartable_name
The name of the object.
Definition: Restartable.h:191
void registerRecoverableDataOnApp(std::string name)
Helper function for actually registering the restartable data.
Definition: Restartable.C:54

◆ declareRecoverableData() [2/2]

template<typename T >
T & Restartable::declareRecoverableData ( std::string  data_name,
const T &  init_value 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

Note - this data will NOT be restored on Restart!

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
init_valueThe initial value of the data

Definition at line 280 of file Restartable.h.

281 {
282  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
283 
284  registerRecoverableDataOnApp(full_name);
285 
286  return declareRestartableDataWithContext<T>(data_name, init_value, nullptr);
287 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:194
std::string _restartable_name
The name of the object.
Definition: Restartable.h:191
void registerRecoverableDataOnApp(std::string name)
Helper function for actually registering the restartable data.
Definition: Restartable.C:54

◆ declareRestartableData() [1/2]

template<typename T >
T & Restartable::declareRestartableData ( std::string  data_name)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)

Definition at line 202 of file Restartable.h.

203 {
204  return declareRestartableDataWithContext<T>(data_name, nullptr);
205 }

◆ declareRestartableData() [2/2]

template<typename T >
T & Restartable::declareRestartableData ( std::string  data_name,
const T &  init_value 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
init_valueThe initial value of the data

Definition at line 209 of file Restartable.h.

210 {
211  return declareRestartableDataWithContext<T>(data_name, init_value, nullptr);
212 }

◆ declareRestartableDataWithContext() [1/2]

template<typename T >
T & Restartable::declareRestartableDataWithContext ( std::string  data_name,
void *  context 
)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
contextContext pointer that will be passed to the load and store functions

Definition at line 216 of file Restartable.h.

217 {
218  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
219  auto data_ptr = libmesh_make_unique<RestartableData<T>>(full_name, context);
220  T & restartable_data_ref = data_ptr->get();
221 
222  registerRestartableDataOnApp(full_name, std::move(data_ptr), _restartable_tid);
223 
224  return restartable_data_ref;
225 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:194
std::string _restartable_name
The name of the object.
Definition: Restartable.h:191
THREAD_ID _restartable_tid
The thread ID for this object.
Definition: Restartable.h:197
void registerRestartableDataOnApp(std::string name, std::unique_ptr< RestartableDataValue > data, THREAD_ID tid)
Helper function for actually registering the restartable data.
Definition: Restartable.C:46

◆ declareRestartableDataWithContext() [2/2]

template<typename T >
T & Restartable::declareRestartableDataWithContext ( std::string  data_name,
const T &  init_value,
void *  context 
)
protectedinherited

Declare a piece of data as "restartable" and initialize it.

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
init_valueThe initial value of the data
contextContext pointer that will be passed to the load and store functions

Definition at line 229 of file Restartable.h.

232 {
233  std::string full_name = _restartable_system_name + "/" + _restartable_name + "/" + data_name;
234  auto data_ptr = libmesh_make_unique<RestartableData<T>>(full_name, context);
235  data_ptr->set() = init_value;
236 
237  T & restartable_data_ref = data_ptr->get();
238  registerRestartableDataOnApp(full_name, std::move(data_ptr), _restartable_tid);
239 
240  return restartable_data_ref;
241 }
std::string _restartable_system_name
The system name this object is in.
Definition: Restartable.h:194
std::string _restartable_name
The name of the object.
Definition: Restartable.h:191
THREAD_ID _restartable_tid
The thread ID for this object.
Definition: Restartable.h:197
void registerRestartableDataOnApp(std::string name, std::unique_ptr< RestartableDataValue > data, THREAD_ID tid)
Helper function for actually registering the restartable data.
Definition: Restartable.C:46

◆ declareRestartableDataWithObjectName()

template<typename T >
T & Restartable::declareRestartableDataWithObjectName ( std::string  data_name,
std::string  object_name 
)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
object_nameA supplied name for the object that is declaring this data.

Definition at line 245 of file Restartable.h.

246 {
247  return declareRestartableDataWithObjectNameWithContext<T>(data_name, object_name, nullptr);
248 }

◆ declareRestartableDataWithObjectNameWithContext()

template<typename T >
T & Restartable::declareRestartableDataWithObjectNameWithContext ( std::string  data_name,
std::string  object_name,
void *  context 
)
protectedinherited

Declare a piece of data as "restartable".

This means that in the event of a restart this piece of data will be restored back to its previous value.

NOTE: This returns a reference! Make sure you store it in a reference!

Parameters
data_nameThe name of the data (usually just use the same name as the member variable)
object_nameA supplied name for the object that is declaring this data.
contextContext pointer that will be passed to the load and store functions

Definition at line 252 of file Restartable.h.

255 {
256  std::string old_name = _restartable_name;
257 
258  _restartable_name = object_name;
259 
260  T & value = declareRestartableDataWithContext<T>(data_name, context);
261 
262  _restartable_name = old_name;
263 
264  return value;
265 }
std::string _restartable_name
The name of the object.
Definition: Restartable.h:191

◆ dtMax()

Real& Transient::dtMax ( )
inline

Get the maximum dt.

Returns
The maximum dt

Definition at line 149 of file Transient.h.

149 { return _dtmax; }
Real _dtmax
Definition: Transient.h:262

◆ dtMin()

Real& Transient::dtMin ( )
inline

Get the minimal dt.

Returns
The minimal dt

Definition at line 155 of file Transient.h.

155 { return _dtmin; }
Real _dtmin
Definition: Transient.h:261

◆ enabled()

virtual bool MooseObject::enabled ( ) const
inlinevirtualinherited

Return the enabled status of the object.

Reimplemented in EigenKernel.

Definition at line 91 of file MooseObject.h.

Referenced by EigenKernel::enabled().

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

◆ endStep()

void Transient::endStep ( Real  input_time = -1.0)
virtual

Definition at line 658 of file Transient.C.

Referenced by execute(), TransientMultiApp::finishStep(), and TransientMultiApp::solveStep().

659 {
660  if (input_time == -1.0)
661  _time = _time_old + _dt;
662  else
663  _time = input_time;
664 
665  _picard_converged = false;
666 
668 
670  {
672 
673  // Compute the Error Indicators and Markers
676 
677  // Perform the output of the current time step
679 
680  // output
683  }
684 }
virtual bool lastSolveConverged() override
Whether or not the last solve converged.
Definition: Transient.C:820
TimeIntegrator * getTimeIntegrator()
bool & _picard_converged
Definition: Transient.h:296
virtual void postStep()
Callback to the TimeIntegrator called at the very end of time step.
FEProblemBase & _problem
Here for backward compatibility.
Definition: Transient.h:221
virtual void computeMarkers()
const ExecFlagType EXEC_TIMESTEP_END
bool _xfem_repeat_step
Whether step should be repeated due to xfem modifying the mesh.
Definition: Transient.h:252
Real & _time_old
Previous time.
Definition: Transient.h:234
bool & _time_interval
if to use time interval output
Definition: Transient.h:281
NonlinearSystemBase & _nl
Reference to nonlinear system base for faster access.
Definition: Transient.h:224
virtual void computeIndicators()
Real _timestep_tolerance
Definition: Transient.h:286
Real & _dt
Current delta t... or timestep size.
Definition: Transient.h:236
Real _time_interval_output_interval
Definition: Transient.h:283
Real & _time
Current time.
Definition: Transient.h:232
Real _next_interval_output_time
Definition: Transient.h:282
virtual void outputStep(ExecFlagType type)
Output the current step.
bool & _last_solve_converged
Whether or not the last solve converged.
Definition: Transient.h:249

◆ endTime()

Real& Transient::endTime ( )
inline

Get the end time.

Returns
The end time

Definition at line 167 of file Transient.h.

Referenced by TimeSequenceStepperBase::setupSequence(), and TransientMultiApp::solveStep().

167 { return _end_time; }
Real _end_time
Definition: Transient.h:260

◆ estimateTimeError()

void Transient::estimateTimeError ( )
virtual

Definition at line 815 of file Transient.C.

816 {
817 }

◆ execute()

void Transient::execute ( )
overridevirtual

Pure virtual execute function MUST be overridden by children classes.

This is where the Executioner actually does it's work.

Implements Executioner.

Definition at line 347 of file Transient.C.

348 {
349 
350  preExecute();
351 
352  // NOTE: if you remove this line, you will see a subset of tests failing. Those tests might have a
353  // wrong answer and might need to be regolded.
354  // The reason is that we actually move the solution back in time before we actually start solving
355  // (which I think is wrong). So this call here
356  // is to maintain backward compatibility and so that MOOSE is giving the same answer. However, we
357  // might remove this call and regold the test
358  // in the future eventually.
359  if (!_app.isRecovering())
361 
362  // Start time loop...
363  while (true)
364  {
365  if (_first != true)
367 
368  _first = false;
369 
370  if (!keepGoing())
371  break;
372 
373  preStep();
374  computeDT();
375  takeStep();
376  endStep();
377  postStep();
378 
379  _steps_taken++;
380  }
381 
382  if (!_app.halfTransient())
383  {
384  TIME_SECTION(_final_timer);
385 
388  }
389 
390  // This method is to finalize anything else we want to do on the problem side.
392 
393  // This method can be overridden for user defined activities in the Executioner.
394  postExecute();
395 }
PerfID _final_timer
Definition: Transient.h:327
virtual void postExecute()
Method called at the end of the simulation.
virtual void computeDT()
Definition: Transient.C:398
FEProblemBase & _problem
Here for backward compatibility.
Definition: Transient.h:221
virtual void endStep(Real input_time=-1.0)
Definition: Transient.C:658
bool halfTransient()
Whether or not this simulation should only run half its transient (useful for testing recovery) ...
Definition: MooseApp.h:383
virtual void postExecute() override
Override this for actions that should take place after execution.
Definition: Transient.C:832
unsigned int _steps_taken
Definition: Transient.h:265
virtual void advanceState()
Advance all of the state holding vectors / datastructures so that we can move to the next timestep...
virtual void execute(const ExecFlagType &exec_type)
Convenience function for performing execution of MOOSE systems.
virtual void takeStep(Real input_dt=-1.0)
Do whatever is necessary to advance one step.
Definition: Transient.C:455
bool & _first
Is it our first time through the execution loop?
Definition: Transient.h:243
virtual void incrementStepOrReject()
This is where the solve step is actually incremented.
Definition: Transient.C:404
virtual void preExecute() override
Override this for actions that should take place before execution.
Definition: Transient.C:826
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:171
virtual void preStep()
Definition: Transient.C:335
virtual bool keepGoing()
Transient loop will continue as long as this keeps returning true.
Definition: Transient.C:774
virtual void postStep()
Definition: Transient.C:341
bool isRecovering() const
Whether or not this is a "recover" calculation.
Definition: MooseApp.C:852
const ExecFlagType EXEC_FINAL
virtual void outputStep(ExecFlagType type)
Output the current step.

◆ feProblem()

FEProblemBase & Executioner::feProblem ( )
inherited

Return a reference to this Executioner's FEProblemBase instance.

Definition at line 192 of file Executioner.C.

Referenced by AlgebraicRelationshipManager::attachAlgebraicFunctorHelper(), and TransientMultiApp::restore().

193 {
194  return _fe_problem;
195 }
FEProblemBase & _fe_problem
Definition: Executioner.h:123

◆ 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 72 of file MooseObject.h.

73  {
74  return parameters().getCheckedPointerParam<T>(name, error_string);
75  }
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:57
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:51

◆ getDefaultPostprocessorValue()

const PostprocessorValue & PostprocessorInterface::getDefaultPostprocessorValue ( const std::string &  name)
inherited

Return the default postprocessor value.

Parameters
nameThe name of the postprocessor parameter
Returns
A const reference to the default value

Definition at line 86 of file PostprocessorInterface.C.

Referenced by EigenKernel::EigenKernel().

87 {
89 }
const InputParameters & _ppi_params
PostprocessorInterface Parameters.
const PostprocessorValue & getDefaultPostprocessorValue(const std::string &name, bool suppress_error=false) const
Get the default value for a postprocessor added with addPostprocessor.

◆ getDT()

Real Transient::getDT ( )
virtual
Returns
The the computed dt to use for this timestep.

Definition at line 768 of file Transient.C.

Referenced by computeConstrainedDT(), TransientMultiApp::computeDT(), init(), and TransientMultiApp::solveStep().

769 {
770  return _time_stepper->getCurrentDT();
771 }
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227

◆ getMooseApp()

MooseApp& MooseObject::getMooseApp ( ) const
inlineinherited

Get the MooseApp this object is associated with.

Definition at line 86 of file MooseObject.h.

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

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

◆ 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 185 of file MooseObject.h.

Referenced by FEProblemBase::addMaterialHelper(), ConstraintWarehouse::addObject(), BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromXandY(), 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().

186 {
187  return InputParameters::getParamHelper(name, _pars, static_cast<T *>(0));
188 }
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:168
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:51

◆ getPostprocessorValue()

const PostprocessorValue & PostprocessorInterface::getPostprocessorValue ( const std::string &  name)
inherited

Retrieve the value of a Postprocessor or one of it's old or older values.

Parameters
nameThe name of the Postprocessor parameter (see below)
Returns
A reference to the desired value

The name required by this method is the name that is hard-coded into your source code. For example, if you have a Kernel that requires a Postprocessor you may have an input file with "pp = my_pp", this function requires the "pp" name as input (see .../moose_test/functions/PostprocessorFunction.C)

see getPostprocessorValueByName getPostprocessorValueOldByName getPostprocessorValueOlderByName

Definition at line 23 of file PostprocessorInterface.C.

Referenced by GeneralUserObject::getPostprocessorValue(), and AuxKernel::getPostprocessorValue().

24 {
25  // Return the default if the Postprocessor does not exist and a default does, otherwise
26  // continue as usual
29  else
30  return _pi_feproblem.getPostprocessorValue(_ppi_params.get<PostprocessorName>(name));
31 }
bool hasPostprocessor(const std::string &name) const
Determine if the Postprocessor exists.
bool hasDefaultPostprocessorValue(const std::string &name) const
Returns true if a default PostprocessorValue is defined.
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.
PostprocessorValue & getPostprocessorValue(const PostprocessorName &name)
Get a reference to the value associated with the postprocessor.
const InputParameters & _ppi_params
PostprocessorInterface Parameters.
const PostprocessorValue & getDefaultPostprocessorValue(const std::string &name, bool suppress_error=false) const
Get the default value for a postprocessor added with addPostprocessor.

◆ getPostprocessorValueByName()

const PostprocessorValue & PostprocessorInterface::getPostprocessorValueByName ( const PostprocessorName &  name)
inherited

Retrieve the value of the Postprocessor.

Parameters
namePostprocessor name (see below)
Returns
A reference to the desired value

The name required by this method is the name defined in the input file. For example, if you have a Kernel that requires a Postprocessor you may have an input file with "pp = my_pp", this method requires the "my_pp" name as input (see .../moose_test/functions/PostprocessorFunction.C)

see getPostprocessorValue getPostprocessorValueOld getPostprocessorValueOlder

Definition at line 56 of file PostprocessorInterface.C.

Referenced by EigenKernel::EigenKernel(), GeneralUserObject::getPostprocessorValueByName(), AuxKernel::getPostprocessorValueByName(), and EigenExecutionerBase::inversePowerIteration().

57 {
59 }
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.
PostprocessorValue & getPostprocessorValue(const PostprocessorName &name)
Get a reference to the value associated with the postprocessor.

◆ getPostprocessorValueOld()

const PostprocessorValue & PostprocessorInterface::getPostprocessorValueOld ( const std::string &  name)
inherited

Definition at line 34 of file PostprocessorInterface.C.

35 {
36  // Return the default if the Postprocessor does not exist and a default does, otherwise
37  // continue as usual
40  else
41  return _pi_feproblem.getPostprocessorValueOld(_ppi_params.get<PostprocessorName>(name));
42 }
bool hasPostprocessor(const std::string &name) const
Determine if the Postprocessor exists.
bool hasDefaultPostprocessorValue(const std::string &name) const
Returns true if a default PostprocessorValue is defined.
PostprocessorValue & getPostprocessorValueOld(const std::string &name)
Get the reference to the old value of a post-processor.
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.
const InputParameters & _ppi_params
PostprocessorInterface Parameters.
const PostprocessorValue & getDefaultPostprocessorValue(const std::string &name, bool suppress_error=false) const
Get the default value for a postprocessor added with addPostprocessor.

◆ getPostprocessorValueOldByName()

const PostprocessorValue & PostprocessorInterface::getPostprocessorValueOldByName ( const PostprocessorName &  name)
inherited

Definition at line 62 of file PostprocessorInterface.C.

Referenced by EigenKernel::EigenKernel().

63 {
65 }
PostprocessorValue & getPostprocessorValueOld(const std::string &name)
Get the reference to the old value of a post-processor.
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.

◆ getPostprocessorValueOlder()

const PostprocessorValue & PostprocessorInterface::getPostprocessorValueOlder ( const std::string &  name)
inherited

Definition at line 45 of file PostprocessorInterface.C.

46 {
47  // Return the default if the Postprocessor does not exist and a default does, otherwise
48  // continue as usual
51  else
52  return _pi_feproblem.getPostprocessorValueOlder(_ppi_params.get<PostprocessorName>(name));
53 }
bool hasPostprocessor(const std::string &name) const
Determine if the Postprocessor exists.
bool hasDefaultPostprocessorValue(const std::string &name) const
Returns true if a default PostprocessorValue is defined.
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.
PostprocessorValue & getPostprocessorValueOlder(const std::string &name)
Get the reference to the older value of a post-processor.
const InputParameters & _ppi_params
PostprocessorInterface Parameters.
const PostprocessorValue & getDefaultPostprocessorValue(const std::string &name, bool suppress_error=false) const
Get the default value for a postprocessor added with addPostprocessor.

◆ getPostprocessorValueOlderByName()

const PostprocessorValue & PostprocessorInterface::getPostprocessorValueOlderByName ( const PostprocessorName &  name)
inherited

Definition at line 68 of file PostprocessorInterface.C.

69 {
71 }
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.
PostprocessorValue & getPostprocessorValueOlder(const std::string &name)
Get the reference to the older value of a post-processor.

◆ getSolutionChangeNorm()

Real Transient::getSolutionChangeNorm ( )

Get the Relative L2 norm of the change in the solution.

Definition at line 844 of file Transient.C.

Referenced by TransientMultiApp::solveStep().

845 {
846  return _solution_change_norm;
847 }
Real _solution_change_norm
Definition: Transient.h:306

◆ getStartTime()

Real Transient::getStartTime ( )
inline

Return the start time.

Returns
The start time

Definition at line 161 of file Transient.h.

Referenced by TimeSequenceStepperBase::setupSequence().

161 { return _start_time; }
Real _start_time
Definition: Transient.h:285

◆ getTime()

virtual Real Transient::getTime ( )
inlinevirtual

Get the current time.

Definition at line 98 of file Transient.h.

Referenced by TransientMultiApp::solveStep().

98 { return _time; };
Real & _time
Current time.
Definition: Transient.h:232

◆ getTimeScheme()

Moose::TimeIntegratorType Transient::getTimeScheme ( )
inline

Get the time scheme used.

Returns
MooseEnum with the time scheme

Definition at line 137 of file Transient.h.

137 { return _time_scheme; }
Moose::TimeIntegratorType _time_scheme
Definition: Transient.h:226

◆ getTimeStepper()

TimeStepper* Transient::getTimeStepper ( )
inline

Pointer to the TimeStepper.

Returns
Pointer to the time stepper for this Executioner

Definition at line 119 of file Transient.h.

119 { return _time_stepper.get(); }
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227

◆ getTimeStepperName()

std::string Transient::getTimeStepperName ( )
overridevirtual

Get the timestepper.

Reimplemented from Executioner.

Definition at line 899 of file Transient.C.

900 {
901  if (_time_stepper)
902  {
903  TimeStepper & ts = *_time_stepper;
904  return demangle(typeid(ts).name());
905  }
906  else
907  return std::string();
908 }
Base class for time stepping.
Definition: TimeStepper.h:27
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227
const std::string & name() const
Get the name of the object.
Definition: MooseObject.h:51

◆ getUserObject()

template<class T >
const T & UserObjectInterface::getUserObject ( const std::string &  name)
inherited

Get an user object with a given parameter name.

Parameters
nameThe name of the parameter key of the user object to retrieve
Returns
The user object with name associated with the parameter 'name'

Definition at line 81 of file UserObjectInterface.h.

82 {
83  unsigned int tid = needThreadedCopy(getUserObjectBase(name)) ? _uoi_tid : 0;
84  return _uoi_feproblem.getUserObject<T>(_uoi_params.get<UserObjectName>(name), tid);
85 }
T & getUserObject(const std::string &name, unsigned int tid=0) const
Get the user object by its name.
const InputParameters & _uoi_params
Parameters of the object with this interface.
FEProblemBase & _uoi_feproblem
Reference to the FEProblemBase instance.
THREAD_ID _uoi_tid
Thread ID.
const UserObject & getUserObjectBase(const std::string &name)
Get an user object with a given parameter name.
bool needThreadedCopy(const UserObject &uo) const
Check if the threaded copy of the user object is needed.

◆ getUserObjectBase()

const UserObject & UserObjectInterface::getUserObjectBase ( const std::string &  name)
inherited

Get an user object with a given parameter name.

Parameters
nameThe name of the parameter key of the user object to retrieve
Returns
The user object with name associated with the parameter 'name'

Definition at line 24 of file UserObjectInterface.C.

Referenced by UserObjectInterface::getUserObject(), InitialConditionBase::getUserObjectBase(), and AuxKernel::getUserObjectBase().

25 {
26  return _uoi_feproblem.getUserObjectBase(_uoi_params.get<UserObjectName>(name));
27 }
const UserObject & getUserObjectBase(const std::string &name) const
Get the user object by its name.
const InputParameters & _uoi_params
Parameters of the object with this interface.
FEProblemBase & _uoi_feproblem
Reference to the FEProblemBase instance.

◆ getUserObjectBaseByName()

const UserObject & UserObjectInterface::getUserObjectBaseByName ( const std::string &  name)
inherited

Get an user object with a given name.

Parameters
nameThe name of the user object to retrieve
Returns
The user object with the name

Definition at line 30 of file UserObjectInterface.C.

Referenced by UserObjectInterface::getUserObjectByName().

31 {
32  return _uoi_feproblem.getUserObjectBase(name);
33 }
const UserObject & getUserObjectBase(const std::string &name) const
Get the user object by its name.
FEProblemBase & _uoi_feproblem
Reference to the FEProblemBase instance.

◆ getUserObjectByName()

template<class T >
const T & UserObjectInterface::getUserObjectByName ( const std::string &  name)
inherited

Get an user object with a given name.

Parameters
nameThe name of the user object to retrieve
Returns
The user object with the name

Definition at line 89 of file UserObjectInterface.h.

90 {
91  unsigned int tid = needThreadedCopy(getUserObjectBaseByName(name)) ? _uoi_tid : 0;
92  return _uoi_feproblem.getUserObject<T>(name, tid);
93 }
T & getUserObject(const std::string &name, unsigned int tid=0) const
Get the user object by its name.
const UserObject & getUserObjectBaseByName(const std::string &name)
Get an user object with a given name.
FEProblemBase & _uoi_feproblem
Reference to the FEProblemBase instance.
THREAD_ID _uoi_tid
Thread ID.
bool needThreadedCopy(const UserObject &uo) const
Check if the threaded copy of the user object is needed.

◆ hasPostprocessor()

bool PostprocessorInterface::hasPostprocessor ( const std::string &  name) const
inherited

Determine if the Postprocessor exists.

Parameters
nameThe name of the Postprocessor parameter
Returns
True if the Postprocessor exists
See also
hasPostprocessorByName getPostprocessorValue

Definition at line 74 of file PostprocessorInterface.C.

Referenced by EigenKernel::EigenKernel(), PostprocessorInterface::getPostprocessorValue(), PostprocessorInterface::getPostprocessorValueOld(), PostprocessorInterface::getPostprocessorValueOlder(), and TestSetupPostprocessorDataActionFunction::TestSetupPostprocessorDataActionFunction().

75 {
76  return _pi_feproblem.hasPostprocessor(_ppi_params.get<PostprocessorName>(name));
77 }
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.
bool hasPostprocessor(const std::string &name)
Check existence of the postprocessor.
const InputParameters & _ppi_params
PostprocessorInterface Parameters.

◆ hasPostprocessorByName()

bool PostprocessorInterface::hasPostprocessorByName ( const PostprocessorName &  name)
inherited

Determine if the Postprocessor exists.

Parameters
nameThe name of the Postprocessor
Returns
True if the Postprocessor exists
See also
hasPostprocessor getPostprocessorValueByName

Definition at line 80 of file PostprocessorInterface.C.

Referenced by VectorOfPostprocessors::VectorOfPostprocessors().

81 {
82  return _pi_feproblem.hasPostprocessor(name);
83 }
FEProblemBase & _pi_feproblem
Reference the the FEProblemBase class.
bool hasPostprocessor(const std::string &name)
Check existence of the postprocessor.

◆ incrementStepOrReject()

void Transient::incrementStepOrReject ( )
virtual

This is where the solve step is actually incremented.

Definition at line 404 of file Transient.C.

Referenced by execute(), TransientMultiApp::incrementTStep(), and TransientMultiApp::solveStep().

405 {
406  if (lastSolveConverged())
407  {
408  if (_xfem_repeat_step)
409  {
410  _time = _time_old;
411  }
412  else
413  {
414 #ifdef LIBMESH_ENABLE_AMR
416 #endif
417 
418  _time_old = _time; // = _time_old + _dt;
419  _t_step++;
420 
422 
423  /*
424  * Call the multi-app executioners endStep and
425  * postStep methods when doing Picard. We do not perform these calls for
426  * loose coupling because Transient::endStep and Transient::postStep get
427  * called from TransientMultiApp::solveStep in that case.
428  */
429  if (_picard_max_its > 1)
430  {
433  }
434  /*
435  * Ensure that we increment the sub-application time steps so that
436  * when dt selection is made in the master application, we are using
437  * the correct time step information
438  */
441  }
442  }
443  else
444  {
447  _time_stepper->rejectStep();
448  _time = _time_old;
449  }
450 
451  _first = false;
452 }
virtual bool lastSolveConverged() override
Whether or not the last solve converged.
Definition: Transient.C:820
Real _picard_max_its
Definition: Transient.h:295
FEProblemBase & _problem
Here for backward compatibility.
Definition: Transient.h:221
void finishMultiAppStep(ExecFlagType type)
Finish the MultiApp time step (endStep, postStep) associated with the ExecFlagType.
const ExecFlagType EXEC_TIMESTEP_END
bool _xfem_repeat_step
Whether step should be repeated due to xfem modifying the mesh.
Definition: Transient.h:252
Real & _time_old
Previous time.
Definition: Transient.h:234
virtual void advanceState()
Advance all of the state holding vectors / datastructures so that we can move to the next timestep...
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227
const ExecFlagType EXEC_TIMESTEP_BEGIN
bool & _first
Is it our first time through the execution loop?
Definition: Transient.h:243
Real & _time
Current time.
Definition: Transient.h:232
void restoreMultiApps(ExecFlagType type, bool force=false)
Restore the MultiApps associated with the ExecFlagType.
void incrementMultiAppTStep(ExecFlagType type)
Advance the MultiApps t_step (incrementStepOrReject) associated with the ExecFlagType.
int & _t_step
Current timestep.
Definition: Transient.h:230
virtual bool adaptMesh()

◆ init()

void Transient::init ( )
overridevirtual

Initialize the executioner.

We have a default "dt" set in the Transient parameters but it's possible for users to set other parameters explicitly that could provide a better calculated "dt". Rather than provide difficult to understand behavior using the default "dt" in this case, we'll calculate "dt" properly.

Reimplemented from Executioner.

Definition at line 270 of file Transient.C.

Referenced by TransientMultiApp::setupApp().

271 {
272  if (!_time_stepper.get())
273  {
274  InputParameters pars = _app.getFactory().getValidParams("ConstantDT");
275  pars.set<SubProblem *>("_subproblem") = &_problem;
276  pars.set<Transient *>("_executioner") = this;
277 
285  if (!_pars.isParamSetByAddParam("end_time") && !_pars.isParamSetByAddParam("num_steps") &&
287  pars.set<Real>("dt") = (getParam<Real>("end_time") - getParam<Real>("start_time")) /
288  static_cast<Real>(getParam<unsigned int>("num_steps"));
289  else
290  pars.set<Real>("dt") = getParam<Real>("dt");
291 
292  pars.set<bool>("reset_dt") = getParam<bool>("reset_dt");
293  _time_stepper = _app.getFactory().create<TimeStepper>("ConstantDT", "TimeStepper", pars);
294  }
295 
297 
298  _time_stepper->init();
299 
300  if (_app.isRestarting())
301  _time_old = _time;
302 
304 
305  if (_app.isRecovering()) // Recover case
306  {
307  if (_t_step == 0)
308  mooseError("Internal error in Transient executioner: _t_step is equal to 0 while recovering "
309  "in init().");
310 
311  _dt_old = _dt;
312  }
313  else
314  {
315  if (_t_step != 0)
316  mooseError("Internal error in Transient executioner: _t_step must be 0 without "
317  "recovering in init().");
318 
319  computeDT();
320  _dt = getDT();
321  if (_dt == 0)
322  mooseError("Time stepper computed zero time step size on initial which is not allowed.\n"
323  "1. If you are using an existing time stepper, double check the values in your "
324  "input file or report an error.\n"
325  "2. If you are developing a new time stepper, make sure that initial time step "
326  "size in your code is computed correctly.");
327 
329 
330  ++_t_step;
331  }
332 }
virtual Real getDT()
Definition: Transient.C:768
std::shared_ptr< MooseObject > create(const std::string &obj_name, const std::string &name, InputParameters parameters, THREAD_ID tid=0, bool print_deprecated=true)
Build an object (must be registered) - THIS METHOD IS DEPRECATED (Use create<T>()) ...
Definition: Factory.C:87
Transient executioners usually loop through a number of timesteps...
Definition: Transient.h:31
TimeIntegrator * getTimeIntegrator()
InputParameters getValidParams(const std::string &name)
Get valid parameters for the object.
Definition: Factory.C:67
virtual void computeDT()
Definition: Transient.C:398
FEProblemBase & _problem
Here for backward compatibility.
Definition: Transient.h:221
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
Base class for time stepping.
Definition: TimeStepper.h:27
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void mooseError(Args &&... args) const
Definition: MooseObject.h:140
bool isRestarting() const
Whether or not this is a "restart" calculation.
Definition: MooseApp.C:858
virtual void init()
Called only before the very first timestep (t_step = 0) Never called again (not even during recover/r...
Factory & getFactory()
Retrieve the Factory associated with this App.
Definition: MooseApp.h:279
Real & _time_old
Previous time.
Definition: Transient.h:234
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227
bool isParamSetByAddParam(const std::string &name) const
Returns whether or not the parameter was set due to addParam.
NonlinearSystemBase & _nl
Reference to nonlinear system base for faster access.
Definition: Transient.h:224
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:168
Real & _dt
Current delta t... or timestep size.
Definition: Transient.h:236
Real & _dt_old
Definition: Transient.h:237
Real & _time
Current time.
Definition: Transient.h:232
Generic class for solving transient nonlinear problems.
Definition: SubProblem.h:53
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:171
virtual void initialSetup()
bool isRecovering() const
Whether or not this is a "recover" calculation.
Definition: MooseApp.C:852
int & _t_step
Current timestep.
Definition: Transient.h:230
virtual void outputStep(ExecFlagType type)
Output the current step.
const ExecFlagType EXEC_INITIAL

◆ 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 81 of file MooseObject.h.

Referenced by AdvancedOutput::AdvancedOutput(), BicubicSplineFunction::BicubicSplineFunction(), Piecewise::buildFromFile(), Piecewise::buildFromXandY(), DistributedGeneratedMesh::buildMesh(), GeneratedMesh::buildMesh(), LibmeshPartitioner::clone(), OversampleOutput::cloneMesh(), CSVReader::CSVReader(), MultiAppNearestNodeTransfer::execute(), Exodus::Exodus(), FEProblemBase::FEProblemBase(), FileOutput::FileOutput(), MultiApp::fillPositions(), FunctionDT::FunctionDT(), RenameBoundaryGenerator::generate(), ElementSubdomainIDGenerator::generate(), BreakBoundaryOnSubdomainGenerator::generate(), ExtraNodesetGenerator::generate(), LowerDBlockFromSidesetGenerator::generate(), MeshSideSetGenerator::generate(), RenameBlockGenerator::generate(), GeneratedMeshGenerator::generate(), ParsedSubdomainMeshGenerator::generate(), MeshExtruderGenerator::generate(), SubdomainBoundingBoxGenerator::generate(), PatternedMeshGenerator::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().

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

◆ keepGoing()

bool Transient::keepGoing ( )
virtual

Transient loop will continue as long as this keeps returning true.

Definition at line 774 of file Transient.C.

Referenced by execute().

775 {
776  bool keep_going = !_problem.isSolveTerminationRequested();
777 
778  // Check for stop condition based upon steady-state check flag:
781  {
782  // Check solution difference relative norm against steady-state tolerance
784  {
785  _console << "Steady-State Solution Achieved at time: " << _time << std::endl;
786  // Output last solve if not output previously by forcing it
787  keep_going = false;
788  }
789  else // Keep going
790  {
791  // Update solution norm for next time step
793  // Print steady-state relative error norm
794  _console << "Steady-State Relative Differential Norm: " << _sln_diff_norm << std::endl;
795  }
796  }
797 
798  // Check for stop condition based upon number of simulation steps and/or solution end time:
799  if (static_cast<unsigned int>(_t_step) > _num_steps)
800  keep_going = false;
801 
802  if ((_time > _end_time) || (fabs(_time - _end_time) <= _timestep_tolerance))
803  keep_going = false;
804 
805  if (!lastSolveConverged() && _abort)
806  {
807  _console << "Aborting as solve did not converge and input selected to abort" << std::endl;
808  keep_going = false;
809  }
810 
811  return keep_going;
812 }
virtual const NumericVector< Number > *& currentSolution() override
The solution vector that is currently being operated on.
virtual bool lastSolveConverged() override
Whether or not the last solve converged.
Definition: Transient.C:820
virtual bool isSolveTerminationRequested()
Check of termination has been requested.
Definition: Problem.h:47
FEProblemBase & _problem
Here for backward compatibility.
Definition: Transient.h:221
bool _xfem_repeat_step
Whether step should be repeated due to xfem modifying the mesh.
Definition: Transient.h:252
bool _steady_state_detection
Steady state detection variables:
Definition: Transient.h:270
unsigned int _num_steps
Definition: Transient.h:263
NonlinearSystemBase & _nl
Reference to nonlinear system base for faster access.
Definition: Transient.h:224
Real _steady_state_tolerance
Definition: Transient.h:271
Real & _sln_diff_norm
Definition: Transient.h:273
Real _timestep_tolerance
Definition: Transient.h:286
bool _abort
Definition: Transient.h:278
Real & _time
Current time.
Definition: Transient.h:232
Real _steady_state_start_time
Definition: Transient.h:272
Real & _old_time_solution_norm
Definition: Transient.h:274
const ConsoleStream _console
An instance of helper class to write streams to the Console objects.
Real _end_time
Definition: Transient.h:260
int & _t_step
Current timestep.
Definition: Transient.h:230

◆ lastSolveConverged()

bool Transient::lastSolveConverged ( )
overridevirtual

Whether or not the last solve converged.

Reimplemented from Executioner.

Definition at line 820 of file Transient.C.

Referenced by endStep(), incrementStepOrReject(), keepGoing(), TransientMultiApp::solveStep(), solveStep(), and takeStep().

821 {
822  return _multiapps_converged && _time_stepper->converged();
823 }
bool & _multiapps_converged
Whether or not the multiapps failed during the last timestem.
Definition: Transient.h:246
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227

◆ 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 140 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(), AllSideSetsByNormalsGenerator::AllSideSetsByNormalsGenerator(), 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::buildRefinementMap(), MooseMesh::buildSideList(), 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(), InterfaceKernel::computeElemNeighJacobian(), TimeSequenceStepperBase::computeFailedDT(), IterationAdaptiveDT::computeFailedDT(), TimeStepper::computeFailedDT(), HistogramVectorPostprocessor::computeHistogram(), EqualValueEmbeddedConstraint::computeQpJacobian(), EqualValueEmbeddedConstraint::computeQpOffDiagJacobian(), FEProblemBase::computeResidualInternal(), FEProblemBase::computeResidualTag(), FEProblemBase::computeResidualType(), StatisticsVectorPostprocessor::computeStatValue(), Material::computeSubdomainProperties(), BDF2::computeTimeDerivatives(), ExplicitEuler::computeTimeDerivatives(), ImplicitEuler::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(), PerflogDumper::execute(), MultiAppPostprocessorTransfer::execute(), DiscreteElementUserObject::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), ElementQualityChecker::execute(), NodalValueSampler::execute(), MultiAppNearestNodeTransfer::execute(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::execute(), FindValueOnLine::execute(), TimeExtremeValue::execute(), VectorPostprocessorComparison::execute(), LeastSquaresFit::execute(), LeastSquaresFitHistory::execute(), FEProblemBase::executeControls(), MultiAppVectorPostprocessorTransfer::executeFromMultiapp(), MultiAppVectorPostprocessorTransfer::executeToMultiapp(), Exodus::Exodus(), FileOutput::FileOutput(), CentroidMultiApp::fillPositions(), MultiApp::fillPositions(), VerifyElementUniqueID::finalize(), VerifyNodalUniqueID::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(), ExtraNodesetGenerator::generate(), ElementSubdomainIDGenerator::generate(), RenameBlockGenerator::generate(), RenameBoundaryGenerator::generate(), StitchedMeshGenerator::generate(), GeneratedMeshGenerator::generate(), MeshExtruderGenerator::generate(), SpiralAnnularMeshGenerator::generate(), SideSetsFromBoundingBoxGenerator::generate(), BoundingBoxNodeSetGenerator::generate(), PatternedMeshGenerator::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(), init(), MooseMesh::init(), FEProblemBase::init(), NumPicardIterations::initialize(), PiecewiseBase::initialSetup(), FullSolveMultiApp::initialSetup(), SolutionAux::initialSetup(), Axisymmetric2D3DSolutionFunction::initialSetup(), Exodus::initialSetup(), SolutionFunction::initialSetup(), SolutionUserObject::initialSetup(), FEProblemBase::initialSetup(), AdvancedOutput::initOutputList(), AdvancedOutput::initShowHideLists(), Material::initStatefulProperties(), Function::integral(), InterfaceKernel::InterfaceKernel(), InterfaceTimeKernel::InterfaceTimeKernel(), EigenExecutionerBase::inversePowerIteration(), InversePowerMethod::InversePowerMethod(), IterationAdaptiveDT::IterationAdaptiveDT(), 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(), BreakMeshByBlockBase::modify(), AddExtraNodeset::modify(), MeshExtruder::modify(), SmoothMesh::modify(), AssignElementSubdomainID::modify(), ElementDeleterBase::modify(), AddAllSideSetsByNormals::modify(), RenameBlock::modify(), ParsedSubdomainMeshModifier::modify(), ImageSubdomain::modify(), BoundingBoxNodeSet::modify(), OrientedSubdomainBoundingBox::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(), AdvancedOutput::outputElementalVariables(), AdvancedOutput::outputInput(), AdvancedOutput::outputNodalVariables(), AdvancedOutput::outputPostprocessors(), AdvancedOutput::outputScalarVariables(), Exodus::outputSetup(), AdvancedOutput::outputSystemInformation(), Console::outputVectorPostprocessors(), AdvancedOutput::outputVectorPostprocessors(), MooseObject::paramError(), PiecewiseBilinear::parse(), ParsedAddSideset::ParsedAddSideset(), ParsedAux::ParsedAux(), ParsedGenerateSideset::ParsedGenerateSideset(), ParsedODEKernel::ParsedODEKernel(), ParsedSubdomainMeshGenerator::ParsedSubdomainMeshGenerator(), ParsedSubdomainMeshModifier::ParsedSubdomainMeshModifier(), PatternedMesh::PatternedMesh(), 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(), LStableDirk4::postResidual(), AStableDirk4::postResidual(), ExplicitRK2::postResidual(), Predictor::Predictor(), 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::setOutputDimension(), Split::setup(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), setupTimeIntegrator(), SideSetsFromBoundingBoxGenerator::SideSetsFromBoundingBoxGenerator(), SideSetsFromNormals::SideSetsFromNormals(), SideSetsFromNormalsGenerator::SideSetsFromNormalsGenerator(), SideSetsFromPoints::SideSetsFromPoints(), SideSetsFromPointsGenerator::SideSetsFromPointsGenerator(), SolutionTimeAdaptiveDT::SolutionTimeAdaptiveDT(), SolutionUserObject::SolutionUserObject(), 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(), Transient(), TransientMultiApp::TransientMultiApp(), 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().

141  {
142  std::ostringstream oss;
143  moose::internal::mooseStreamAll(oss, std::forward<Args>(args)...);
144  std::string msg = oss.str();
145  callMooseErrorRaw(msg, &_app);
146  }
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:171

◆ 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 51 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(), AllSideSetsByNormalsGenerator::AllSideSetsByNormalsGenerator(), MultiApp::appPostprocessorValue(), MultiApp::appProblem(), MultiApp::appProblemBase(), MultiApp::appUserObjectBase(), DerivativeParsedMaterialHelper::assembleDerivatives(), AStableDirk4::AStableDirk4(), Function::average(), 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(), MultiAppNearestNodeTransfer::execute(), PointValue::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppUserObjectTransfer::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(), FEProblemBase::getDistribution(), 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(), 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(), Sampler::Sampler(), ScalarComponentIC::ScalarComponentIC(), MooseMesh::setBoundaryName(), Control::setControllableValue(), Control::setControllableValueByName(), OutputWarehouse::setFileNumbers(), Exodus::setOutputDimension(), 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(), TiledMeshGenerator::TiledMeshGenerator(), Function::timeDerivative(), VectorPostprocessorVisualizationAux::timestepSetup(), TransientMultiApp::TransientMultiApp(), MultiAppTransfer::variableIntegrityCheck(), and AdvancedOutput::wantOutput().

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

◆ numPicardIts()

Real Transient::numPicardIts ( )
inline

Get the number of Picard iterations performed.

Returns
Number of Picard iterations performed

Definition at line 201 of file Transient.h.

Referenced by NumPicardIterations::getValue().

201 { return _picard_it + 1; }
int & _picard_it
Picard Related.
Definition: Transient.h:294

◆ 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 100 of file MooseObject.h.

Referenced by ADKernel< compute_stage >::ADKernel(), DGKernel::DGKernel(), ElementValueSampler::ElementValueSampler(), IntegratedBC::IntegratedBC(), Kernel::Kernel(), NodalBC::NodalBC(), NodalEqualValueConstraint::NodalEqualValueConstraint(), NodalKernel::NodalKernel(), NodalValueSampler::NodalValueSampler(), RandomIC::RandomIC(), and MultiAppCopyTransfer::transfer().

101  {
102  auto prefix = param + ": ";
103  if (!_pars.inputLocation(param).empty())
104  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
105  mooseError(prefix, args...);
106  }
void mooseError(Args &&... args) const
Definition: MooseObject.h:140
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:168
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 57 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(), 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().

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

◆ 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 131 of file MooseObject.h.

132  {
133  auto prefix = param + ": ";
134  if (!_pars.inputLocation(param).empty())
135  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
136  mooseInfo(prefix, args...);
137  }
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:168
void mooseInfo(Args &&... args) const
Definition: MooseObject.h:161
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 115 of file MooseObject.h.

116  {
117  auto prefix = param + ": ";
118  if (!_pars.inputLocation(param).empty())
119  prefix = _pars.inputLocation(param) + ": (" + _pars.paramFullpath(param) + "):\n";
120  mooseWarning(prefix, args...);
121  }
void mooseWarning(Args &&... args) const
Definition: MooseObject.h:149
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:168
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.

◆ parentOutputPositionChanged()

void Transient::parentOutputPositionChanged ( )
inlineoverridevirtual

Can be used by subsclasses to call parentOutputPositionChanged() on the underlying FEProblemBase.

Reimplemented from Executioner.

Definition at line 193 of file Transient.h.

void parentOutputPositionChanged()
Calls parentOutputPositionChanged() on all sub apps.
FEProblemBase & _fe_problem
Definition: Executioner.h:123

◆ picardConverged()

bool Transient::picardConverged ( ) const
virtual

Check if Picard iteration converged when maximum number of Picard iterations is greater than one.

Definition at line 648 of file Transient.C.

Referenced by solveStep().

649 {
650  Real max_norm = std::max(_picard_timestep_begin_norm, _picard_timestep_end_norm);
651 
652  Real max_relative_drop = max_norm / _picard_initial_norm;
653 
654  return (max_norm < _picard_abs_tol || max_relative_drop < _picard_rel_tol);
655 }
Real _picard_abs_tol
Definition: Transient.h:301
Real & _picard_initial_norm
Definition: Transient.h:297
Real & _picard_timestep_end_norm
Definition: Transient.h:299
Real & _picard_timestep_begin_norm
Definition: Transient.h:298
Real _picard_rel_tol
Definition: Transient.h:300

◆ postExecute()

void Transient::postExecute ( )
overridevirtual

Override this for actions that should take place after execution.

Reimplemented from Executioner.

Definition at line 832 of file Transient.C.

Referenced by execute().

833 {
834  _time_stepper->postExecute();
835 }
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227

◆ postSolve()

void Executioner::postSolve ( )
virtualinherited

Override this for actions that should take place after execution.

Definition at line 180 of file Executioner.C.

Referenced by Steady::execute(), solveStep(), InversePowerMethod::takeStep(), and NonlinearEigen::takeStep().

181 {
182 }

◆ postStep()

void Transient::postStep ( )
virtual

Definition at line 341 of file Transient.C.

Referenced by execute(), TransientMultiApp::finishStep(), and TransientMultiApp::solveStep().

342 {
343  _time_stepper->postStep();
344 }
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227

◆ preExecute()

void Transient::preExecute ( )
overridevirtual

Override this for actions that should take place before execution.

Reimplemented from Executioner.

Definition at line 826 of file Transient.C.

Referenced by execute(), and TransientMultiApp::setupApp().

827 {
828  _time_stepper->preExecute();
829 }
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227

◆ preSolve()

void Executioner::preSolve ( )
virtualinherited

Override this for actions that should take place before execution.

Definition at line 175 of file Executioner.C.

Referenced by Steady::execute(), solveStep(), InversePowerMethod::takeStep(), and NonlinearEigen::takeStep().

176 {
177 }

◆ preStep()

void Transient::preStep ( )
virtual

Definition at line 335 of file Transient.C.

Referenced by execute(), and TransientMultiApp::solveStep().

336 {
337  _time_stepper->preStep();
338 }
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227

◆ problem()

Problem & Executioner::problem ( )
virtualinherited

Deprecated: Return a reference to this Executioner's Problem instance.

Definition at line 185 of file Executioner.C.

Referenced by Executioner::addAttributeReporter().

186 {
187  mooseDoOnce(mooseWarning("This method is deprecated, use feProblem() instead"));
188  return _fe_problem;
189 }
void mooseWarning(Args &&... args) const
Definition: MooseObject.h:149
FEProblemBase & _fe_problem
Definition: Executioner.h:123

◆ 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:41

◆ relativeSolutionDifferenceNorm()

Real Transient::relativeSolutionDifferenceNorm ( )
virtual

The relative L2 norm of the difference between solution and old solution vector.

Definition at line 911 of file Transient.C.

Referenced by RelativeSolutionDifferenceNorm::getValue(), and solveStep().

912 {
913  const NumericVector<Number> & current_solution = *_nl.currentSolution();
914  const NumericVector<Number> & old_solution = _nl.solutionOld();
915 
916  _sln_diff = current_solution;
917  _sln_diff -= old_solution;
918 
919  return (_sln_diff.l2_norm() / current_solution.l2_norm());
920 }
virtual const NumericVector< Number > *& currentSolution() override
The solution vector that is currently being operated on.
virtual NumericVector< Number > & solutionOld()=0
NonlinearSystemBase & _nl
Reference to nonlinear system base for faster access.
Definition: Transient.h:224
NumericVector< Number > & _sln_diff
The difference of current and old solutions.
Definition: Transient.h:309

◆ setTargetTime()

void Transient::setTargetTime ( Real  target_time)
virtual

Can be used to set the next "target time" which is a time to nail perfectly.

Useful for driving MultiApps.

Definition at line 838 of file Transient.C.

Referenced by TransientMultiApp::solveStep().

839 {
840  _target_time = target_time;
841 }
Real & _target_time
Definition: Transient.h:287

◆ setTime()

virtual void Transient::setTime ( Real  t)
inlinevirtual

Set the current time.

Definition at line 103 of file Transient.h.

103 { _time = t; };
Real & _time
Current time.
Definition: Transient.h:232

◆ setTimeOld()

virtual void Transient::setTimeOld ( Real  t)
inlinevirtual

Set the old time.

Definition at line 108 of file Transient.h.

108 { _time_old = t; };
Real & _time_old
Previous time.
Definition: Transient.h:234

◆ setTimeStepper()

void Transient::setTimeStepper ( std::shared_ptr< TimeStepper ts)
inline

Set the timestepper to use.

Parameters
tsThe TimeStepper to use

Definition at line 126 of file Transient.h.

126 { _time_stepper = ts; }
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227

◆ setupTimeIntegrator()

void Transient::setupTimeIntegrator ( )
protected

Definition at line 850 of file Transient.C.

Referenced by Transient().

851 {
853  mooseError("You cannot specify time_scheme in the Executioner and independently add a "
854  "TimeIntegrator to the system at the same time");
855 
857  {
858  // backwards compatibility
859  std::string ti_str;
860  using namespace Moose;
861 
862  switch (_time_scheme)
863  {
864  case TI_IMPLICIT_EULER:
865  ti_str = "ImplicitEuler";
866  break;
867  case TI_EXPLICIT_EULER:
868  ti_str = "ExplicitEuler";
869  break;
870  case TI_CRANK_NICOLSON:
871  ti_str = "CrankNicolson";
872  break;
873  case TI_BDF2:
874  ti_str = "BDF2";
875  break;
877  ti_str = "ExplicitMidpoint";
878  break;
879  case TI_LSTABLE_DIRK2:
880  ti_str = "LStableDirk2";
881  break;
883  ti_str = "ExplicitTVDRK2";
884  break;
885  case TI_NEWMARK_BETA:
886  ti_str = "NewmarkBeta";
887  break;
888  default:
889  mooseError("Unknown scheme: ", _time_scheme);
890  break;
891  }
892 
893  InputParameters params = _app.getFactory().getValidParams(ti_str);
894  _problem.addTimeIntegrator(ti_str, ti_str, params);
895  }
896 }
Moose::TimeIntegratorType _time_scheme
Definition: Transient.h:226
InputParameters getValidParams(const std::string &name)
Get valid parameters for the object.
Definition: Factory.C:67
FEProblemBase & _problem
Here for backward compatibility.
Definition: Transient.h:221
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
void mooseError(Args &&... args) const
Definition: MooseObject.h:140
Factory & getFactory()
Retrieve the Factory associated with this App.
Definition: MooseApp.h:279
bool hasTimeIntegrator() const
Returns whether or not this Problem has a TimeIntegrator.
virtual void addTimeIntegrator(const std::string &type, const std::string &name, InputParameters parameters)
const InputParameters & _pars
Parameters of this object, references the InputParameters stored in the InputParametersWarehouse.
Definition: MooseObject.h:168
bool isParamSetByUser(const std::string &name) const
Method returns true if the parameter was by the user.
MooseApp & _app
The MooseApp this object is associated with.
Definition: MooseObject.h:171
Definition: Moose.h:100

◆ solveStep()

void Transient::solveStep ( Real  input_dt = -1.0)
protectedvirtual

This should execute the solve for one timestep.

Definition at line 484 of file Transient.C.

Referenced by takeStep().

485 {
486  _dt_old = _dt;
487 
488  if (input_dt == -1.0)
490  else
491  _dt = input_dt;
492 
493  Real current_dt = _dt;
494 
495  if (_picard_it == 0)
497 
498  // Increment time
499  _time = _time_old + _dt;
500 
501  if (_picard_max_its > 1)
502  {
503  _console << "\nBeginning Picard Iteration " << _picard_it << "\n" << std::endl;
504 
505  if (_picard_it == 0) // First Picard iteration - need to save off the initial nonlinear residual
506  {
508  _console << "Initial Picard Norm: " << _picard_initial_norm << '\n';
509  }
510  }
511 
514 
516  return;
517 
520 
521  preSolve();
522  _time_stepper->preSolve();
523 
525 
527 
528  if (_picard_max_its > 1)
529  {
531 
532  _console << "Picard Norm after TIMESTEP_BEGIN MultiApps: " << _picard_timestep_begin_norm
533  << '\n';
534  }
535 
536  // Perform output for timestep begin
538 
539  // Update warehouse active objects
541 
542  // Prepare to relax variables.
543  // _prev_time == _time is like _picard_it > 0, but it also works for the sub-app
544  if (_prev_time == _time && _relax_factor != 1.0)
545  {
546  NumericVector<Number> & solution = _nl.solution();
547  NumericVector<Number> & relax_previous = _nl.getVector("relax_previous");
548 
549  // Save off the current solution
550  relax_previous = solution;
551 
552  // Snag all of the local dof indices for all of these variables
553  System & libmesh_nl_system = _nl.system();
554  AllLocalDofIndicesThread aldit(libmesh_nl_system, _relaxed_vars);
555  ConstElemRange & elem_range = *_fe_problem.mesh().getActiveLocalElementRange();
556  Threads::parallel_reduce(elem_range, aldit);
557 
558  _relaxed_dofs = aldit._all_dof_indices;
559  }
560 
561  _time_stepper->step();
562 
563  // Relax the "relaxed_variables" if this is not the first Picard iteration of the timestep.
564  // _prev_time == _time is like _picard_it > 0, but it also works for the sub-app
565  if (_prev_time == _time && _relax_factor != 1.0)
566  {
567  NumericVector<Number> & solution = _nl.solution();
568  NumericVector<Number> & relax_previous = _nl.getVector("relax_previous");
569  for (const auto & dof : _relaxed_dofs)
570  solution.set(dof,
571  (relax_previous(dof) * (1.0 - _relax_factor)) + (solution(dof) * _relax_factor));
572  solution.close();
573  _nl.update();
574  }
575  // This keeps track of Picard iteration, even if this is the sub-app.
576  // It is used for relaxation logic
577  _prev_time = _time;
578 
579  // We know whether or not the nonlinear solver thinks it converged, but we need to see if the
580  // executioner concurs
581  if (lastSolveConverged())
582  {
583  _console << COLOR_GREEN << " Solve Converged!" << COLOR_DEFAULT << std::endl;
584 
586  {
587  _console << "XFEM modifying mesh, repeating step" << std::endl;
588  _xfem_repeat_step = true;
590  }
591  else
592  {
593  if (_problem.haveXFEM())
594  {
595  _xfem_repeat_step = false;
596  _xfem_update_count = 0;
597  _console << "XFEM not modifying mesh, continuing" << std::endl;
598  }
599 
600  if (_picard_max_its <= 1)
601  _time_stepper->acceptStep();
602 
605 
608 
611 
613  return;
614  }
615  }
616  else
617  {
618  _console << COLOR_RED << " Solve Did NOT Converge!" << COLOR_DEFAULT << std::endl;
619 
620  // Perform the output of the current, failed time step (this only occurs if desired)
622  }
623 
624  postSolve();
625  _time_stepper->postSolve();
626 
627  if (_picard_max_its > 1 && lastSolveConverged())
628  {
630 
631  _console << "Picard Norm after TIMESTEP_END MultiApps: " << _picard_timestep_end_norm << '\n';
632 
633  if (picardConverged())
634  {
635  _console << "Picard converged!" << std::endl;
636 
637  _picard_converged = true;
638  _time_stepper->acceptStep();
639  return;
640  }
641  }
642 
643  _dt = current_dt; // _dt might be smaller than this at this point for multistep methods
644  _time = _time_old;
645 }
const ExecFlagType EXEC_FAILED
ConstElemRange * getActiveLocalElementRange()
Return pointers to range objects for various types of ranges (local nodes, boundary elems...
Definition: MooseMesh.C:779
virtual bool lastSolveConverged() override
Whether or not the last solve converged.
Definition: Transient.C:820
bool & _picard_converged
Definition: Transient.h:296
Real _prev_time
The _time when this app solved last.
Definition: Transient.h:319
Real _picard_max_its
Definition: Transient.h:295
Real & _picard_initial_norm
Definition: Transient.h:297
FEProblemBase & _problem
Here for backward compatibility.
Definition: Transient.h:221
virtual void updateActiveObjects()
Update the active objects in the warehouses.
virtual void onTimestepEnd() override
bool & _multiapps_converged
Whether or not the multiapps failed during the last timestem.
Definition: Transient.h:246
bool haveXFEM()
Find out whether the current analysis is using XFEM.
const ExecFlagType EXEC_TIMESTEP_END
Real & _picard_timestep_end_norm
Definition: Transient.h:299
Real _relax_factor
Relaxation factor for Picard Iteration.
Definition: Transient.h:314
bool _xfem_repeat_step
Whether step should be repeated due to xfem modifying the mesh.
Definition: Transient.h:252
unsigned int _xfem_update_count
Counter for number of xfem updates that have been performed in the current step.
Definition: Transient.h:254
virtual void timestepSetup()
virtual void update()
Update the system (doing libMesh magic)
Definition: SystemBase.C:939
Real & _time_old
Previous time.
Definition: Transient.h:234
Grab all the local dof indices for the variables passed in, in the system passed in.
virtual NumericVector< Number > & solution() override
std::shared_ptr< TimeStepper > _time_stepper
Definition: Transient.h:227
virtual void execute(const ExecFlagType &exec_type)
Convenience function for performing execution of MOOSE systems.
virtual Real computeConstrainedDT()
Definition: Transient.C:687
NonlinearSystemBase & _nl
Reference to nonlinear system base for faster access.
Definition: Transient.h:224
const ExecFlagType EXEC_TIMESTEP_BEGIN
std::vector< std::string > _relaxed_vars
The transferred variables that are going to be relaxed.
Definition: Transient.h:322
int & _picard_it
Picard Related.
Definition: Transient.h:294
virtual bool updateMeshXFEM()
Update the mesh due to changing XFEM cuts.
std::set< dof_id_type > _relaxed_dofs
The DoFs associates with all of the relaxed variables.
Definition: Transient.h:325
Real & _sln_diff_norm
Definition: Transient.h:273
Real & _dt
Current delta t... or timestep size.
Definition: Transient.h:236
unsigned int _max_xfem_update
Maximum number of xfem updates per step.
Definition: Transient.h:256
Real & _dt_old
Definition: Transient.h:237
Real & _picard_timestep_begin_norm
Definition: Transient.h:298
virtual void preSolve()
Override this for actions that should take place before execution.
Definition: Executioner.C:175
Real & _time
Current time.
Definition: Transient.h:232
Real _solution_change_norm
Definition: Transient.h:306
virtual System & system() override
Get the reference to the libMesh system.
virtual void onTimestepBegin() override
virtual Real relativeSolutionDifferenceNorm()
The relative L2 norm of the difference between solution and old solution vector.
Definition: Transient.C:911
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.
bool execMultiApps(ExecFlagType type, bool auto_advance=true)
Execute the MultiApps associated with the ExecFlagType.
bool _update_xfem_at_timestep_begin
Controls whether xfem should update the mesh at the beginning of the time step.
Definition: Transient.h:258
virtual void postSolve()
Override this for actions that should take place after execution.
Definition: Executioner.C:180
virtual NumericVector< Number > & getVector(const std::string &name)
Get a raw NumericVector.
Definition: SystemBase.C:720
virtual void outputStep(ExecFlagType type)
Output the current step.
void execTransfers(ExecFlagType type)
Execute the Transfers associated with the ExecFlagType.
virtual bool picardConverged() const
Check if Picard iteration converged when maximum number of Picard iterations is greater than one...
Definition: Transient.C:648
FEProblemBase & _fe_problem
Definition: Executioner.h:123

◆ syncTimes()

std::set<Real>& Transient::syncTimes ( )
inline

Get the set of sync times.

Returns
The reference to the set of sync times

Definition at line 143 of file Transient.h.

143 { return _sync_times; }
std::set< Real > & _sync_times
Definition: Transient.h:276

◆ takeStep()

void Transient::takeStep ( Real  input_dt = -1.0)
virtual

Do whatever is necessary to advance one step.

Definition at line 455 of file Transient.C.

Referenced by execute(), and TransientMultiApp::solveStep().

456 {
457  _picard_it = 0;
458 
461 
462  while (_picard_it < _picard_max_its && _picard_converged == false)
463  {
464  // For every iteration other than the first, we need to restore the state of the MultiApps
465  if (_picard_it > 0)
466  {
469  }
470 
471  solveStep(input_dt);
472 
473  // If the last solve didn't converge then we need to exit this step completely (even in the case
474  // of Picard)
475  // So we can retry...
476  if (!lastSolveConverged())
477  return;
478 
479  ++_picard_it;
480  }
481 }
virtual bool lastSolveConverged() override
Whether or not the last solve converged.
Definition: Transient.C:820
bool & _picard_converged
Definition: Transient.h:296
Real _picard_max_its
Definition: Transient.h:295
FEProblemBase & _problem
Here for backward compatibility.
Definition: Transient.h:221
const ExecFlagType EXEC_TIMESTEP_END
virtual void solveStep(Real input_dt=-1.0)
This should execute the solve for one timestep.
Definition: Transient.C:484
const ExecFlagType EXEC_TIMESTEP_BEGIN
int & _picard_it
Picard Related.
Definition: Transient.h:294
void backupMultiApps(ExecFlagType type)
Backup the MultiApps associated with the ExecFlagType.
void restoreMultiApps(ExecFlagType type, bool force=false)
Restore the MultiApps associated with the ExecFlagType.

◆ timestepTol()

Real& Transient::timestepTol ( )
inline

Get the timestep tolerance.

Returns
The timestep tolerance

Definition at line 173 of file Transient.h.

Referenced by TransientMultiApp::solveStep().

173 { return _timestep_tolerance; }
Real _timestep_tolerance
Definition: Transient.h:286

◆ 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 45 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(), AdvancedOutput::hasOutput(), FEProblemBase::incrementMultiAppTStep(), AdvancedOutput::initAvailableLists(), SolutionUserObject::initialSetup(), AdvancedOutput::initShowHideLists(), AssignElementSubdomainID::modify(), ControlOutput::output(), Gnuplot::output(), Exodus::output(), CSV::output(), Console::output(), Nemesis::output(), AdvancedOutput::output(), OversampleOutput::outputStep(), Output::outputStep(), FEProblemBase::outputStep(), FEProblemBase::restoreMultiApps(), FEProblemBase::setCoupling(), FileOutput::shouldOutput(), Output::shouldOutput(), AdvancedOutput::shouldOutput(), DisplacedProblem::updateGeomSearch(), FEProblemBase::updateGeomSearch(), and AdvancedOutput::wantOutput().

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

◆ unconstrainedDT()

Real Transient::unconstrainedDT ( )
inline

Get the unconstrained dt.

Returns
Value of dt before constraints were applied

Definition at line 191 of file Transient.h.

Referenced by IterationAdaptiveDT::acceptStep().

191 { return _unconstrained_dt; }
Real & _unconstrained_dt
Definition: Transient.h:239

◆ verbose()

bool& Transient::verbose ( )
inline

Get the verbose output flag.

Returns
The verbose output flag

Definition at line 179 of file Transient.h.

179 { return _verbose; }
bool _verbose
should detailed diagnostic output be printed
Definition: Transient.h:304

Member Data Documentation

◆ _abort

bool Transient::_abort
protected

Definition at line 278 of file Transient.h.

Referenced by keepGoing().

◆ _app

MooseApp& MooseObject::_app
protectedinherited

The MooseApp this object is associated with.

Definition at line 171 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(), 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(), execute(), Steady::execute(), FileOutput::FileOutput(), FEProblemBase::forceOutput(), MeshGenerator::getMesh(), MeshGenerator::getMeshByName(), MooseObject::getMooseApp(), InversePowerMethod::init(), NonlinearEigen::init(), 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(), MooseMesh::MooseMesh(), 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(), FEProblemBase::projectSolution(), FEProblemBase::setRestartFile(), TransientMultiApp::setupApp(), TimeSequenceStepperBase::setupSequence(), setupTimeIntegrator(), TransientMultiApp::solveStep(), FEProblemBase::subdomainSetup(), FEProblemBase::theWarehouse(), TimeExtremeValue::TimeExtremeValue(), TimePeriod::TimePeriod(), FEProblemBase::timestepSetup(), Transient(), and Console::write().

◆ _at_sync_point

bool& Transient::_at_sync_point
protected

Definition at line 240 of file Transient.h.

Referenced by atSyncPoint(), and computeConstrainedDT().

◆ _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(), FEProblemBase::backupMultiApps(), FEProblemBase::checkProblemIntegrity(), IterationAdaptiveDT::computeAdaptiveDT(), computeConstrainedDT(), NonlinearSystemBase::computeDamping(), IterationAdaptiveDT::computeDT(), IterationAdaptiveDT::computeFailedDT(), IterationAdaptiveDT::computeInterpolationDT(), FEProblemBase::computeResidualTags(), IterationAdaptiveDT::constrainStep(), TimeStepper::constrainStep(), AB2PredictorCorrector::converged(), FEProblemBase::execMultiApps(), FEProblemBase::execMultiAppTransfers(), MultiAppPostprocessorTransfer::execute(), MultiAppPostprocessorInterpolationTransfer::execute(), MultiAppVariableValueSamplePostprocessorTransfer::execute(), MultiAppNearestNodeTransfer::execute(), MultiAppPostprocessorToAuxScalarTransfer::execute(), MultiAppScalarToAuxScalarTransfer::execute(), MultiAppVariableValueSampleTransfer::execute(), MultiAppInterpolationTransfer::execute(), MultiAppMeshFunctionTransfer::execute(), MultiAppUserObjectTransfer::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(), 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(), ActionWarehouse::printActionDependencySets(), EigenExecutionerBase::printEigenvalue(), MaterialPropertyDebugOutput::printMaterialMap(), SolutionTimeAdaptiveDT::rejectStep(), DT2::rejectStep(), FEProblemBase::restoreMultiApps(), SimplePredictor::shouldApply(), NonlinearSystem::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().

◆ _dt

Real& Transient::_dt
protected

Current delta t... or timestep size.

Definition at line 236 of file Transient.h.

Referenced by computeConstrainedDT(), endStep(), init(), solveStep(), and Transient().

◆ _dt_old

Real& Transient::_dt_old
protected

Definition at line 237 of file Transient.h.

Referenced by init(), and solveStep().

◆ _dtmax

Real Transient::_dtmax
protected

Definition at line 262 of file Transient.h.

Referenced by dtMax().

◆ _dtmin

Real Transient::_dtmin
protected

Definition at line 261 of file Transient.h.

Referenced by dtMin().

◆ _enabled

const bool& MooseObject::_enabled
protectedinherited

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

Definition at line 180 of file MooseObject.h.

Referenced by MooseObject::enabled().

◆ _end_time

Real Transient::_end_time
protected

Definition at line 260 of file Transient.h.

Referenced by endTime(), keepGoing(), and Transient().

◆ _fe_problem

FEProblemBase& Executioner::_fe_problem
protectedinherited

◆ _final_timer

PerfID Transient::_final_timer
protected

Definition at line 327 of file Transient.h.

Referenced by execute().

◆ _first

bool& Transient::_first
protected

Is it our first time through the execution loop?

Definition at line 243 of file Transient.h.

Referenced by execute(), and incrementStepOrReject().

◆ _initial_residual_norm

Real Executioner::_initial_residual_norm
protectedinherited

Initial Residual Variables.

Definition at line 126 of file Executioner.h.

◆ _last_solve_converged

bool& Transient::_last_solve_converged
protected

Whether or not the last solve converged.

Definition at line 249 of file Transient.h.

Referenced by endStep().

◆ _max_xfem_update

unsigned int Transient::_max_xfem_update
protected

Maximum number of xfem updates per step.

Definition at line 256 of file Transient.h.

Referenced by solveStep().

◆ _multiapps_converged

bool& Transient::_multiapps_converged
protected

Whether or not the multiapps failed during the last timestem.

Definition at line 246 of file Transient.h.

Referenced by lastSolveConverged(), and solveStep().

◆ _n_startup_steps

int Transient::_n_startup_steps
protected

Definition at line 264 of file Transient.h.

Referenced by computeConstrainedDT().

◆ _name

const std::string& MooseObject::_name
protectedinherited

◆ _next_interval_output_time

Real Transient::_next_interval_output_time
protected

Definition at line 282 of file Transient.h.

Referenced by computeConstrainedDT(), endStep(), and Transient().

◆ _nl

NonlinearSystemBase& Transient::_nl
protected

Reference to nonlinear system base for faster access.

Definition at line 224 of file Transient.h.

Referenced by endStep(), init(), keepGoing(), relativeSolutionDifferenceNorm(), solveStep(), and Transient().

◆ _num_steps

unsigned int Transient::_num_steps
protected

Definition at line 263 of file Transient.h.

Referenced by keepGoing(), and Transient().

◆ _old_initial_residual_norm

Real Executioner::_old_initial_residual_norm
protectedinherited

Definition at line 127 of file Executioner.h.

◆ _old_time_solution_norm

Real& Transient::_old_time_solution_norm
protected

Definition at line 274 of file Transient.h.

Referenced by keepGoing().

◆ _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 Transient::_picard_abs_tol
protected

Definition at line 301 of file Transient.h.

Referenced by picardConverged().

◆ _picard_converged

bool& Transient::_picard_converged
protected

Definition at line 296 of file Transient.h.

Referenced by endStep(), solveStep(), and takeStep().

◆ _picard_initial_norm

Real& Transient::_picard_initial_norm
protected

Definition at line 297 of file Transient.h.

Referenced by picardConverged(), and solveStep().

◆ _picard_it

int& Transient::_picard_it
protected

Picard Related.

Number of Picard iterations to perform

Definition at line 294 of file Transient.h.

Referenced by numPicardIts(), solveStep(), and takeStep().

◆ _picard_max_its

Real Transient::_picard_max_its
protected

Definition at line 295 of file Transient.h.

Referenced by incrementStepOrReject(), solveStep(), and takeStep().

◆ _picard_rel_tol

Real Transient::_picard_rel_tol
protected

Definition at line 300 of file Transient.h.

Referenced by picardConverged().

◆ _picard_timestep_begin_norm

Real& Transient::_picard_timestep_begin_norm
protected

Definition at line 298 of file Transient.h.

Referenced by picardConverged(), and solveStep().

◆ _picard_timestep_end_norm

Real& Transient::_picard_timestep_end_norm
protected

Definition at line 299 of file Transient.h.

Referenced by picardConverged(), and solveStep().

◆ _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().

◆ _prev_time

Real Transient::_prev_time
protected

The _time when this app solved last.

This allows a sub-app to know if this is the first Picard iteration or not.

Definition at line 319 of file Transient.h.

Referenced by solveStep(), and Transient().

◆ _problem

FEProblemBase& Transient::_problem
protected

Here for backward compatibility.

Definition at line 221 of file Transient.h.

Referenced by computeConstrainedDT(), endStep(), execute(), incrementStepOrReject(), init(), keepGoing(), setupTimeIntegrator(), solveStep(), takeStep(), and Transient().

◆ _relax_factor

Real Transient::_relax_factor
protected

Relaxation factor for Picard Iteration.

Definition at line 314 of file Transient.h.

Referenced by solveStep(), and Transient().

◆ _relaxed_dofs

std::set<dof_id_type> Transient::_relaxed_dofs
protected

The DoFs associates with all of the relaxed variables.

Definition at line 325 of file Transient.h.

Referenced by solveStep().

◆ _relaxed_vars

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

The transferred variables that are going to be relaxed.

Definition at line 322 of file Transient.h.

Referenced by solveStep().

◆ _restart_file_base

std::string Executioner::_restart_file_base
protectedinherited

Definition at line 130 of file Executioner.h.

Referenced by Steady::Steady(), and Transient().

◆ _sln_diff

NumericVector<Number>& Transient::_sln_diff
protected

The difference of current and old solutions.

Definition at line 309 of file Transient.h.

Referenced by relativeSolutionDifferenceNorm().

◆ _sln_diff_norm

Real& Transient::_sln_diff_norm
protected

Definition at line 273 of file Transient.h.

Referenced by keepGoing(), and solveStep().

◆ _solution_change_norm

Real Transient::_solution_change_norm
protected

Definition at line 306 of file Transient.h.

Referenced by getSolutionChangeNorm(), and solveStep().

◆ _splitting

std::vector<std::string> Executioner::_splitting
protectedinherited

Definition at line 133 of file Executioner.h.

Referenced by Steady::Steady(), and Transient().

◆ _start_time

Real Transient::_start_time
protected

Definition at line 285 of file Transient.h.

Referenced by getStartTime(), and Transient().

◆ _steady_state_detection

bool Transient::_steady_state_detection
protected

Steady state detection variables:

Definition at line 270 of file Transient.h.

Referenced by keepGoing(), and Transient().

◆ _steady_state_start_time

Real Transient::_steady_state_start_time
protected

Definition at line 272 of file Transient.h.

Referenced by keepGoing(), and Transient().

◆ _steady_state_tolerance

Real Transient::_steady_state_tolerance
protected

Definition at line 271 of file Transient.h.

Referenced by keepGoing(), and Transient().

◆ _steps_taken

unsigned int Transient::_steps_taken
protected

Definition at line 265 of file Transient.h.

Referenced by execute().

◆ _sync_times

std::set<Real>& Transient::_sync_times
protected

Definition at line 276 of file Transient.h.

Referenced by syncTimes().

◆ _t_step

int& Transient::_t_step
protected

Current timestep.

Definition at line 230 of file Transient.h.

Referenced by computeConstrainedDT(), incrementStepOrReject(), init(), keepGoing(), and Transient().

◆ _target_time

Real& Transient::_target_time
protected

Definition at line 287 of file Transient.h.

Referenced by computeConstrainedDT(), and setTargetTime().

◆ _time

Real& Transient::_time
protected

◆ _time_interval

bool& Transient::_time_interval
protected

if to use time interval output

Definition at line 281 of file Transient.h.

Referenced by computeConstrainedDT(), and endStep().

◆ _time_interval_output_interval

Real Transient::_time_interval_output_interval
protected

Definition at line 283 of file Transient.h.

Referenced by endStep().

◆ _time_old

Real& Transient::_time_old
protected

Previous time.

Definition at line 234 of file Transient.h.

Referenced by endStep(), incrementStepOrReject(), init(), setTimeOld(), solveStep(), and Transient().

◆ _time_scheme

Moose::TimeIntegratorType Transient::_time_scheme
protected

Definition at line 226 of file Transient.h.

Referenced by getTimeScheme(), and setupTimeIntegrator().

◆ _time_stepper

std::shared_ptr<TimeStepper> Transient::_time_stepper
protected

◆ _timestep_tolerance

Real Transient::_timestep_tolerance
protected

Definition at line 286 of file Transient.h.

Referenced by computeConstrainedDT(), endStep(), keepGoing(), and timestepTol().

◆ _type

const std::string& MooseObject::_type
protectedinherited

The type of this object (the Class name)

Definition at line 174 of file MooseObject.h.

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

◆ _unconstrained_dt

Real& Transient::_unconstrained_dt
protected

Definition at line 239 of file Transient.h.

Referenced by computeConstrainedDT(), and unconstrainedDT().

◆ _update_xfem_at_timestep_begin

bool Transient::_update_xfem_at_timestep_begin
protected

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

Definition at line 258 of file Transient.h.

Referenced by solveStep().

◆ _use_multiapp_dt

bool Transient::_use_multiapp_dt
protected

Definition at line 288 of file Transient.h.

Referenced by computeConstrainedDT().

◆ _verbose

bool Transient::_verbose
protected

should detailed diagnostic output be printed

Definition at line 304 of file Transient.h.

Referenced by computeConstrainedDT(), and verbose().

◆ _xfem_repeat_step

bool Transient::_xfem_repeat_step
protected

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

Definition at line 252 of file Transient.h.

Referenced by endStep(), incrementStepOrReject(), keepGoing(), and solveStep().

◆ _xfem_update_count

unsigned int Transient::_xfem_update_count
protected

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

Definition at line 254 of file Transient.h.

Referenced by solveStep().


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