https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Attributes | Private Attributes | List of all members
TransientInterface Class Reference

Interface for objects that needs transient capabilities. More...

#include <TransientInterface.h>

Inheritance diagram for TransientInterface:
[legend]

Public Member Functions

 TransientInterface (const MooseObject *moose_object)
 
 TransientInterface (const TransientInterface &object, const Moose::Kokkos::FunctorCopy &key)
 Special constructor used for Kokkos functor copy during parallel dispatch.
 
virtual ~TransientInterface ()
 
bool isImplicit ()
 
Moose::StateArg determineState () const
 Create a functor state argument that corresponds to the implicit state of this object.
 

Static Public Member Functions

static InputParameters validParams ()
 

Protected Attributes

const InputParameters_ti_params
 
FEProblemBase_ti_feproblem
 
bool _is_implicit
 If the object is using implicit or explicit form.
 
Real & _t
 Time.
 
const Real & _t_old
 Old time.
 
int_t_step
 The number of the time step.
 
Real & _dt
 Time step size.
 
Real & _dt_old
 Size of the old time step.
 
bool _is_transient
 

Private Attributes

const std::string _ti_name
 

Detailed Description

Interface for objects that needs transient capabilities.

Definition at line 31 of file TransientInterface.h.

Constructor & Destructor Documentation

◆ TransientInterface() [1/2]

TransientInterface::TransientInterface ( const MooseObject moose_object)

Definition at line 27 of file TransientInterface.C.

28 : _ti_params(moose_object->parameters()),
30 _is_implicit(_ti_params.have_parameter<bool>("implicit") ? _ti_params.get<bool>("implicit")
31 : true),
32 _t(_is_implicit ? _ti_feproblem.time() : _ti_feproblem.timeOld()),
33 _t_old(_ti_feproblem.timeOld()),
34 _t_step(_ti_feproblem.timeStep()),
35 _dt(_ti_feproblem.dt()),
36 _dt_old(_ti_feproblem.dtOld()),
37 _is_transient(_ti_feproblem.isTransient()),
38 _ti_name(moose_object->name())
39{
40}
Specialization of SubProblem for solving nonlinear equations plus auxiliary equations.
std::vector< std::pair< R1, R2 > > get(const std::string &param1, const std::string &param2) const
Combine two vector parameters into a single vector of pairs.
bool have_parameter(std::string_view name) const
A wrapper around the Parameters base class method.
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 MooseBase.h:131
Real & _dt
Time step size.
const Real & _t_old
Old time.
bool _is_implicit
If the object is using implicit or explicit form.
FEProblemBase & _ti_feproblem
int & _t_step
The number of the time step.
const std::string _ti_name
Real & _dt_old
Size of the old time step.
const InputParameters & _ti_params
std::string name(const ElemQuality q)

◆ TransientInterface() [2/2]

TransientInterface::TransientInterface ( const TransientInterface object,
const Moose::Kokkos::FunctorCopy key 
)

Special constructor used for Kokkos functor copy during parallel dispatch.

Definition at line 43 of file TransientInterface.C.

45 : _ti_params(object._ti_params),
48 _t(object._t),
49 _t_old(object._t_old),
50 _t_step(object._t_step),
51 _dt(object._dt),
52 _dt_old(object._dt_old),
54 _ti_name(object._ti_name)
55{
56}

◆ ~TransientInterface()

TransientInterface::~TransientInterface ( )
virtual

Definition at line 59 of file TransientInterface.C.

59{}

Member Function Documentation

◆ determineState()

Moose::StateArg TransientInterface::determineState ( ) const
inline

Create a functor state argument that corresponds to the implicit state of this object.

If we are implicit then we will return the current state. If we are not, then we will return the old state

Definition at line 92 of file TransientInterface.h.

93{
95}
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
StateArg oldState()
StateArg currentState()

Referenced by LinearFVFluxKernel::computeBoundaryFlux(), LinearFVAdvectionDiffusionFunctorRobinBCBase::computeBoundaryGradientMatrixContribution(), LinearFVAdvectionDiffusionFunctorNeumannBC::computeBoundaryGradientRHSContribution(), LinearFVAdvectionDiffusionFunctorRobinBCBase::computeBoundaryGradientRHSContribution(), LinearFVAnisotropicDiffusion::computeBoundaryMatrixContribution(), LinearFVDiffusion::computeBoundaryMatrixContribution(), LinearFVAdvectionDiffusionExtrapolatedBC::computeBoundaryNormalGradient(), LinearFVAdvectionDiffusionFunctorDirichletBC::computeBoundaryNormalGradient(), LinearFVAdvectionDiffusionFunctorNeumannBC::computeBoundaryNormalGradient(), LinearFVAdvectionDiffusionFunctorRobinBCBase::computeBoundaryNormalGradient(), LinearFVAnisotropicDiffusionFunctorNeumannBC::computeBoundaryNormalGradient(), LinearFVAnisotropicDiffusion::computeBoundaryRHSContribution(), LinearFVDiffusion::computeBoundaryRHSContribution(), LinearFVAdvectionDiffusionExtrapolatedBC::computeBoundaryValue(), LinearFVAdvectionDiffusionFunctorDirichletBC::computeBoundaryValue(), LinearFVAdvectionDiffusionFunctorNeumannBC::computeBoundaryValue(), LinearFVAdvectionDiffusionFunctorRobinBCBase::computeBoundaryValue(), LinearFVAdvectionDiffusionScalarSymmetryBC::computeBoundaryValue(), LinearFVAnisotropicDiffusionFunctorNeumannBC::computeBoundaryValue(), LinearFVAdvectionDiffusionFunctorRobinBCBase::computeBoundaryValueMatrixContribution(), LinearFVAdvectionDiffusionExtrapolatedBC::computeBoundaryValueRHSContribution(), LinearFVAdvectionDiffusionFunctorNeumannBC::computeBoundaryValueRHSContribution(), LinearFVAdvectionDiffusionFunctorRobinBCBase::computeBoundaryValueRHSContribution(), LinearFVAdvectionDiffusionScalarSymmetryBC::computeBoundaryValueRHSContribution(), LinearFVAnisotropicDiffusionFunctorNeumannBC::computeBoundaryValueRHSContribution(), InternalSideIntegralVariablePostprocessor::computeFaceInfoIntegral(), SideIntegralVariablePostprocessor::computeFaceInfoIntegral(), LinearFVAnisotropicDiffusion::computeFluxRHSContribution(), LinearFVDiffusion::computeFluxRHSContribution(), LinearFVReaction::computeMatrixContribution(), InterfaceIntegralVariableValuePostprocessor::computeQpIntegral(), ElementIntegralFunctorUserObject::computeQpIntegral(), SideIntegralFunctorUserObject::computeQpIntegral(), SideIntegralVariableUserObject::computeQpIntegral(), ParsedMaterialHelper< is_ad >::computeQpProperties(), FVConstantScalarOutflowBC::computeQpResidual(), FVFunctorNeumannBC::computeQpResidual(), FVDiffusionInterface::computeQpResidual(), FVOneVarDiffusionInterface::computeQpResidual(), FVTwoVarContinuityConstraint::computeQpResidual(), FVAdvection::computeQpResidual(), FVAnisotropicDiffusion::computeQpResidual(), FVCoupledForce::computeQpResidual(), FVDiffusion::computeQpResidual(), FVDivergence::computeQpResidual(), FVFunctorTimeKernel::computeQpResidual(), FVMassMatrix::computeQpResidual(), FVMatAdvection::computeQpResidual(), UserForcingFunctorNodalKernel::computeQpResidual(), FVBoundaryIntegralValueConstraint::computeQpResidual(), FVBoundedValueConstraint::computeQpResidual(), FVIntegralValueConstraint::computeQpResidual(), FVPointValueConstraint::computeQpResidual(), DiffusionLHDGPrescribedGradientBC::computeResidual(), LinearFVSource::computeRightHandSideContribution(), AdvectiveFluxAux::computeValue(), DiffusionFluxAux::computeValue(), FunctorAux::computeValue(), FunctorCoordinatesFunctionAux::computeValue(), ParsedAux::computeValue(), SecondTimeDerivativeAux::computeValue(), TimeDerivativeAux::computeValue(), ElementValueSampler::execute(), MeshDivisionFunctorReductionVectorPostprocessor::execute(), PositionsFunctorValueSampler::execute(), SideValueSampler::execute(), LinearFVAnisotropicDiffusion::faceDiffusionTensor(), LinearFVDiffusion::faceDiffusivity(), FunctorExtremaPositions::initialize(), FunctorPositions::initialize(), ParsedDownSelectionPositions::initialize(), FunctorTimes::initialize(), ElementAndTraceScalarHDGAssemblyHelper::lmDirichlet(), ElementAndTraceScalarHDGAssemblyHelper::lmPrescribedFlux(), AdvectionHDGAssemblyHelper::scalarDirichlet(), DiffusionIPHDGAssemblyHelper::scalarDirichlet(), DiffusionLHDGAssemblyHelper::scalarDirichletResidual(), DiffusionLHDGAssemblyHelper::scalarVolumeResidual(), LinearFVAdvection::setupFaceData(), and DiffusionLHDGAssemblyHelper::vectorDirichletResidual().

◆ isImplicit()

bool TransientInterface::isImplicit ( )
inline

◆ validParams()

InputParameters TransientInterface::validParams ( )
static

Definition at line 14 of file TransientInterface.C.

15{
16
18 params.addParam<bool>(
19 "implicit",
20 true,
21 "Determines whether this object is calculated using an implicit or explicit form");
22
23 params.addParamNamesToGroup("implicit", "Advanced");
24 return params;
25}
InputParameters emptyInputParameters()
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
void addParamNamesToGroup(const std::string &space_delim_names, const std::string group_name)
This method takes a space delimited list of parameter names and adds them to the specified group name...
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an optional parameter and a documentation string to the InputParameters object.

Referenced by LinearSystemContributionObject::validParams(), ResidualObject::validParams(), Control::validParams(), Convergence::validParams(), FVBoundaryCondition::validParams(), FVInterfaceKernel::validParams(), ElementIndicator::validParams(), LinearFVBoundaryCondition::validParams(), MaterialBase::validParams(), TransientMultiApp::validParams(), DomainUserObject::validParams(), ElementUserObject::validParams(), InterfaceUserObjectBase::validParams(), and InternalSideUserObject::validParams().

Member Data Documentation

◆ _dt

Real& TransientInterface::_dt
protected

◆ _dt_old

Real& TransientInterface::_dt_old
protected

Size of the old time step.

Definition at line 82 of file TransientInterface.h.

Referenced by VariableTimeIntegrationAux::getIntegralValue().

◆ _is_implicit

bool TransientInterface::_is_implicit
protected

If the object is using implicit or explicit form.

This does NOT mean time scheme, but which values are going to be used in the object - either from current time or old time. Note that even explicit schemes have implicit form (it is the time derivative "kernel")

Definition at line 67 of file TransientInterface.h.

Referenced by EigenKernel::computeJacobian(), EigenKernel::computeOffDiagJacobian(), BoundaryIntegralValueConstraint::computeResidualAndJacobian(), IntegratedBC::computeResidualAndJacobian(), NodalBC::computeResidualAndJacobian(), Kernel::computeResidualAndJacobian(), KernelScalarBase::computeResidualAndJacobian(), determineState(), EigenKernel::EigenKernel(), EigenKernel::enabled(), and isImplicit().

◆ _is_transient

bool TransientInterface::_is_transient
protected

Definition at line 85 of file TransientInterface.h.

Referenced by InterfaceTimeKernel::InterfaceTimeKernel().

◆ _t

Real& TransientInterface::_t
protected

Time.

Definition at line 70 of file TransientInterface.h.

Referenced by FVFunctionDirichletBC::boundaryValue(), AnalyticalIndicator::computeQpIntegral(), ElementH1SemiError::computeQpIntegral(), ElementHCurlSemiError::computeQpIntegral(), ElementHDivSemiError::computeQpIntegral(), ElementL1Error::computeQpIntegral(), ElementL2Error::computeQpIntegral(), ElementVectorL2Error::computeQpIntegral(), ElementW1pError::computeQpIntegral(), FunctionElementIntegral::computeQpIntegral(), FunctionSideIntegral::computeQpIntegral(), FunctionElementIntegralUserObject::computeQpIntegral(), ConservativeAdvectionBC::computeQpJacobian(), FunctionDiffusion::computeQpJacobian(), VectorFunctionReaction::computeQpJacobian(), ADFunctionNeumannBC::computeQpResidual(), ADFunctionPenaltyDirichletBC::computeQpResidual(), ADVectorFunctionNeumannBC::computeQpResidual(), ConvectiveFluxBC::computeQpResidual(), DGFunctionDiffusionDirichletBC::computeQpResidual(), FunctionGradientNeumannBC::computeQpResidual(), FunctionNeumannBC::computeQpResidual(), FunctionPenaltyDirichletBC::computeQpResidual(), SinDirichletBC::computeQpResidual(), SinNeumannBC::computeQpResidual(), VectorCurlPenaltyDirichletBC::computeQpResidual(), VectorDivPenaltyDirichletBC::computeQpResidual(), VectorFunctionDirichletBC::computeQpResidual(), VectorPenaltyDirichletBC::computeQpResidual(), FunctionDiracSource::computeQpResidual(), FVFunctionNeumannBC::computeQpResidual(), FVOrthogonalBoundaryDiffusion::computeQpResidual(), FVBodyForce::computeQpResidual(), FunctionDiffusion::computeQpResidual(), VectorBodyForce::computeQpResidual(), VectorFunctionReaction::computeQpResidual(), UserForcingFunctionNodalKernel::computeQpResidual(), ArrayBodyForce::computeQpResidual(), FunctionDirichletBC::computeQpValue(), TimedSubdomainModifier::computeSubdomainID(), ArrayParsedAux::computeValue(), ElementH1ErrorFunctionAux::computeValue(), ElementL2ErrorFunctionAux::computeValue(), ForcingFunctionAux::computeValue(), FunctionArrayAux::computeValue(), FunctionAux::computeValue(), ParsedAux::computeValue(), ParsedVectorAux::computeValue(), SolutionAux::computeValue(), VectorFunctionAux::computeValue(), FunctionScalarAux::computeValue(), SolutionScalarAux::computeValue(), ConditionalFunctionEnableControl::conditionMet(), TimePeriod::conditionMet(), TimesEnableControl::conditionMet(), GetFunctionValueChainControl::execute(), ParsedChainControl::execute(), PIDChainControl::execute(), SmootherChainControl::execute(), BoolFunctionControl::execute(), PIDTransientControl::execute(), RealFunctionControl::execute(), NodalL2Error::execute(), TimeExtremeValue::execute(), IterationInfo::execute(), LeastSquaresFitHistory::execute(), LineFunctionSampler::execute(), UserForcingFunction::f(), ParsedScalarReporter::finalize(), ParsedVectorRealReductionReporter::finalize(), ParsedVectorReporter::finalize(), ParsedVectorVectorRealReductionReporter::finalize(), ParsedPostprocessor::finalize(), FunctionValuePostprocessor::getValue(), ScalarL2Error::getValue(), ParsedDownSelectionPositions::initialize(), RealFunctionControl::initialSetup(), ActivateElementsByPath::isElementActivated(), SolutionUserObject::solutionSampleTime(), ParsedConvergence::updateFunctionSymbolValues(), and SolutionUserObjectBase::updateTimeInterpolationFromFile().

◆ _t_old

const Real& TransientInterface::_t_old
protected

◆ _t_step

int& TransientInterface::_t_step
protected

◆ _ti_feproblem

FEProblemBase& TransientInterface::_ti_feproblem
protected

◆ _ti_name

const std::string TransientInterface::_ti_name
private

Definition at line 88 of file TransientInterface.h.

◆ _ti_params

const InputParameters& TransientInterface::_ti_params
protected

Definition at line 57 of file TransientInterface.h.


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