https://mooseframework.inl.gov
include
postprocessors
PseudoTimestep.h
Go to the documentation of this file.
1
//* This file is part of the MOOSE framework
2
//* https://mooseframework.inl.gov
3
//*
4
//* All rights reserved, see COPYRIGHT for full restrictions
5
//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6
//*
7
//* Licensed under LGPL 2.1, please see LICENSE for details
8
//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10
#pragma once
11
12
// MOOSE includes
13
#include "
GeneralPostprocessor.h
"
14
18
class
PseudoTimestep
:
public
GeneralPostprocessor
19
{
20
public
:
21
static
InputParameters
validParams
();
22
PseudoTimestep
(
const
InputParameters
&
parameters
);
23
24
virtual
void
execute
()
override
;
25
virtual
void
initialize
()
override
;
26
using
Postprocessor::getValue
;
27
virtual
Real
getValue
()
const override
;
28
31
enum class
PseudotimeMethod
32
{
33
SER
,
34
RDM
,
35
EXP
36
};
37
38
protected
:
40
const
PseudotimeMethod
_method
;
41
43
const
Real
_initial_dt
;
44
const
Real
_alpha
;
45
47
unsigned
int
_iterations_window
;
48
50
bool
_bound
;
51
53
Real
_max_dt
;
54
56
Real
_dt
;
57
59
std::vector<Real> &
_residual_norms_sequence
;
60
std::vector<Real> &
_iterations_step_sequence
;
61
63
Real
currentResidualNorm
()
const
;
64
66
Real
timestepSER
()
const
;
67
69
Real
timestepEXP
()
const
;
70
72
Real
timestepRDM
()
const
;
73
75
void
outputPseudoTimestep
(Real curr_dt)
const
;
76
};
PseudoTimestep::currentResidualNorm
Real currentResidualNorm() const
Computes the norm of the non-time dependent residual.
Definition:
PseudoTimestep.C:91
PseudoTimestep::initialize
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
Definition:
PseudoTimestep.C:78
PseudoTimestep::PseudotimeMethod::RDM
PseudoTimestep::PseudotimeMethod::SER
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Definition:
InputParameters.h:66
PseudoTimestep::getValue
virtual Real getValue() const override
This will get called to actually grab the final value the postprocessor has calculated.
Definition:
PseudoTimestep.C:85
PseudoTimestep::_max_dt
Real _max_dt
Upper bound on timestep.
Definition:
PseudoTimestep.h:53
PseudoTimestep::outputPseudoTimestep
void outputPseudoTimestep(Real curr_dt) const
Outputs the status of the residual and timestep at the end of time step.
Definition:
PseudoTimestep.C:106
GeneralPostprocessor
This class is here to combine the Postprocessor interface and the base class Postprocessor object alo...
Definition:
GeneralPostprocessor.h:21
PseudoTimestep::timestepRDM
Real timestepRDM() const
implementation of RDM method
Definition:
PseudoTimestep.C:136
PseudoTimestep::_initial_dt
const Real _initial_dt
Required parameters for the pseudotimestepper.
Definition:
PseudoTimestep.h:43
PseudoTimestep::execute
virtual void execute() override
Execute method.
Definition:
PseudoTimestep.C:160
PseudoTimestep
Computes a time step size based on pseudo-timestep continuation.
Definition:
PseudoTimestep.h:18
PseudoTimestep::PseudotimeMethod
PseudotimeMethod
Enum class containing the different options for selecting the timestep size for pseudo-transient simu...
Definition:
PseudoTimestep.h:31
PseudoTimestep::_iterations_step_sequence
std::vector< Real > & _iterations_step_sequence
Definition:
PseudoTimestep.h:60
PseudoTimestep::_alpha
const Real _alpha
Definition:
PseudoTimestep.h:44
PseudoTimestep::_residual_norms_sequence
std::vector< Real > & _residual_norms_sequence
arrays for storing residual and iterations sequence
Definition:
PseudoTimestep.h:59
PseudoTimestep::timestepSER
Real timestepSER() const
implementation of SER method
Definition:
PseudoTimestep.C:119
PseudoTimestep::validParams
static InputParameters validParams()
Definition:
PseudoTimestep.C:21
PseudoTimestep::_method
const PseudotimeMethod _method
The timestep selection method.
Definition:
PseudoTimestep.h:40
PseudoTimestep::_iterations_window
unsigned int _iterations_window
Number of iterations over which the residual can be lagged.
Definition:
PseudoTimestep.h:47
Real
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
GeneralPostprocessor.h
Postprocessor::getValue
virtual PostprocessorValue getValue() const =0
This will get called to actually grab the final value the postprocessor has calculated.
PseudoTimestep::PseudoTimestep
PseudoTimestep(const InputParameters ¶meters)
Definition:
PseudoTimestep.C:52
MooseBaseParameterInterface::parameters
const InputParameters & parameters() const
Get the parameters of the object.
Definition:
MooseBaseParameterInterface.h:62
PseudoTimestep::_dt
Real _dt
Transient pseudotimestep.
Definition:
PseudoTimestep.h:56
PseudoTimestep::_bound
bool _bound
Boolean to check if an upper bound was provided.
Definition:
PseudoTimestep.h:50
PseudoTimestep::timestepEXP
Real timestepEXP() const
implementation of EXP method
Definition:
PseudoTimestep.C:151
PseudoTimestep::PseudotimeMethod::EXP
Generated on Thu Jul 17 2025 01:32:07 for https://mooseframework.inl.gov by
1.8.14