operator class associated with IDATimeIntegrator More...
#include <IDATimeOperator.h>

Public Types | |
| typedef std::shared_ptr< AMP::Operator::Operator > | shared_ptr |
Protected Member Functions | |
| void | getBackendFromInput (std::shared_ptr< AMP::Database > db) |
| void | getFromInput (std::shared_ptr< AMP::Database > db) |
| virtual std::shared_ptr< OperatorParameters > | getJacobianParameters (std::shared_ptr< const AMP::LinearAlgebra::Vector >) |
| IDATimeOperator () | |
| void | setMemoryAndBackendParameters (std::shared_ptr< AMP::Database > db) |
Protected Attributes | |
| AMP::Utilities::Backend | d_backend = AMP::Utilities::Backend::Serial |
| bool | d_bAlgebraicComponent |
| bool | d_bLinearMassOperator |
| bool | d_bLinearRhsOperator |
| bool | d_cloningHappened |
| double | d_current_time |
| double | d_dCurrentDt |
| double | d_dGamma = 0.0 |
| int | d_iDebugPrintInfoLevel = 0 |
| int | d_iObject_id |
| AMP::Utilities::MemoryType | d_memory_location = AMP::Utilities::MemoryType::none |
| std::shared_ptr< AMP::Mesh::Mesh > | d_Mesh |
| std::shared_ptr< AMP::LinearAlgebra::Variable > | d_pAlgebraicVariable |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_pFunctionScaling |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_pIDATimeDerivative |
| std::shared_ptr< AMP::Operator::Operator > | d_pMassOperator |
| std::shared_ptr< AMP::Operator::Operator > | d_pRhsOperator |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_pScratchSolVector |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_pScratchVector |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_pSolutionScaling |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_pSourceTerm |
Static Protected Attributes | |
| static int | d_iInstance_id |
operator class associated with IDATimeIntegrator
Class IDATimeOperator is derived from TimeOperator. It is the operator class associated with a IDATimeIntegrator.
Definition at line 30 of file IDATimeOperator.h.
|
inherited |
Definition at line 29 of file Operator.h.
|
explicit |
Main constructor.
| [in] | params | shared pointer to TimeOperatorParameters object. |
|
virtual |
virtual destructor
|
protected |
|
override |
The function that computes the residual.
| u | multivector of the state. |
| f | The result of apply ( f = A(u) ) |
|
pure virtualinherited |
This base class can not give a meaningful definition of apply. See the derived classes for how they define apply. Each operator is free to define apply in a way that is appropriate for that operator.
| u | shared pointer to const input vector u |
| f | shared pointer to output vector storing result of applying this operator |
Implemented in AMP::Operator::RadDifOp, AMP::Operator::RadDifOpPJac, AMP::Operator::FunctionOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.
|
virtualinherited |
|
virtualinherited |
Get a input vector ( For \(\mathbf{A(x)}\), \(\mathbf{x}\) is a input vector )
Reimplemented in AMP::Operator::IdentityOperator, AMP::Operator::LinearOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, AMP::Operator::BDFRadDifOpPJac, AMP::Operator::RadDifOp, and AMP::Operator::RadDifOpPJac.
|
virtualinherited |
Get a left vector ( For \(\mathbf{y=A(x)}\), \(\mathbf{y}\) is an output vector )
Reimplemented in AMP::Operator::IdentityOperator, AMP::Operator::LinearOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.
|
protectedinherited |
|
protectedinherited |
Get the scaling for implicit operators (at present not consistent with IDA interface)
Definition at line 160 of file TimeOperator.h.
References AMP::TimeIntegrator::TimeOperator::d_dGamma.
|
inlinevirtualinherited |
Return the input variable.
Reimplemented in AMP::Operator::DirichletMatrixCorrection, AMP::Operator::NeumannVectorCorrection, AMP::Operator::ColumnOperator, AMP::Operator::ConstraintsEliminationOperator, AMP::Operator::ContactResidualCorrection, AMP::Operator::DiffusionNonlinearFEOperator, AMP::Operator::FickSoretNonlinearFEOperator, AMP::Operator::GradientOperator, AMP::Operator::MassLinearFEOperator, AMP::Operator::NodeToGaussPointOperator, AMP::Operator::VolumeIntegralOperator, AMP::Operator::LinearBVPOperator, AMP::Operator::LinearOperator, AMP::Operator::AsyncMapOperator, AMP::Operator::Map1Dto3D, AMP::Operator::Map3Dto1D, AMP::Operator::MapSurface, AMP::Operator::MechanicsNonlinearFEOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, AMP::Operator::MoveMeshOperator, AMP::Operator::FirstOperator, AMP::Operator::SecondOperator, AMP::Operator::NonlinearBVPOperator, AMP::Operator::PetscMatrixShellOperator, AMP::Operator::CoupledChannelToCladMapOperator, AMP::Operator::CoupledFlowFrapconOperator, AMP::Operator::FlowFrapconJacobian, AMP::Operator::FlowFrapconOperator, AMP::Operator::SubchannelFourEqNonlinearOperator, AMP::Operator::SubchannelToPointMap, AMP::Operator::SubchannelTwoEqNonlinearOperator, AMP::Operator::TrilinosMatrixShellOperator, AMP::Operator::VectorCopyOperator, and AMP::TimeIntegrator::LinearTimeOperator.
Definition at line 106 of file Operator.h.
|
inlineprotectedvirtualinherited |
This function returns a OperatorParameters object constructed by the operator which contains parameters from which new Jacobian operators can be created. Returning a parameter object instead of an Operator itself is meant to give users more flexibility.
Definition at line 180 of file Operator.h.
|
inlineinherited |
return a shared pointer to the mass operator
Definition at line 122 of file TimeOperator.h.
References AMP::TimeIntegrator::TimeOperator::d_pMassOperator.
|
inlineinherited |
Definition at line 89 of file Operator.h.
References AMP::Operator::Operator::d_memory_location.
|
inlineinherited |
Return the mesh.
Definition at line 149 of file Operator.h.
References AMP::Operator::Operator::d_Mesh.
|
inlineinherited |
Return the mesh.
Definition at line 152 of file Operator.h.
References AMP::Operator::Operator::d_Mesh.
|
inlineoverridevirtualinherited |
returns a Variable object corresponding to the output variable for the TimeOperator. Currently this is the output variable associated with the rhs operator.
Reimplemented from AMP::Operator::Operator.
Definition at line 135 of file TimeOperator.h.
References AMP::TimeIntegrator::TimeOperator::d_pRhsOperator.
|
override |
|
virtualinherited |
This function returns a OperatorParameters object constructed by the operator which contains parameters from which new operators can be created. Returning a parameter object instead of an Operator itself is meant to give users more flexibility. Examples of how this functionality might be used would be the construction of Jacobian, frozen Jacobian, preconditioner approximations to the Jacobian, adjoint operators etc
| type | std:string specifying type of return operator parameters being requested. Currently the valid option is Jacobian |
| u | const pointer to current solution vector |
| params | pointer to additional parameters that might be required to construct the return parameters |
Reimplemented in AMP::Operator::IdentityOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.
|
inlineinherited |
return a shared pointer to the rhs operator
Definition at line 117 of file TimeOperator.h.
References AMP::TimeIntegrator::TimeOperator::d_pRhsOperator.
|
inlineoverridevirtualinherited |
given a vector return whether it is valid or not
Reimplemented from AMP::Operator::Operator.
Definition at line 190 of file TimeOperator.h.
References AMP_ASSERT, and AMP::TimeIntegrator::TimeOperator::d_pRhsOperator.
|
inlineoverridevirtualinherited |
virtual interface used to make a vector consistent in an operator defined way. An example of where an operator is required to make a vector consistent is in the context of AMR where ghost values on coarse-fine interfaces are filled in an operator dependent way. The default implementation is to simply call the vector makeConsistent(SET)
Reimplemented from AMP::Operator::Operator.
Definition at line 177 of file TimeOperator.h.
References AMP_ASSERT, and AMP::TimeIntegrator::TimeOperator::d_pRhsOperator.
|
inlineinherited |
register a variable as being an algebraic component. Deprecated.
Definition at line 109 of file TimeOperator.h.
References AMP::TimeIntegrator::TimeOperator::d_pAlgebraicVariable.
sets the current time for the operator
| [in] | currentTime | the current time |
Definition at line 87 of file IDATimeOperator.h.
References d_current_time.
|
inline |
registers the time derivative vector provided by IDA with this operator
| [in] | vec | shared pointer to time derivative computed by IDA |
Definition at line 69 of file IDATimeOperator.h.
References d_pIDATimeDerivative.
|
inlineinherited |
This function registers a mass operator with the TimeOperator class. Not necessary for FD or FVM discretizations
| [in] | op | : shared pointer to Operator, cannot be another TimeOperator |
Definition at line 101 of file TimeOperator.h.
References AMP::TimeIntegrator::TimeOperator::d_pMassOperator.
|
inlineinherited |
This function registers a rhs operator with the TimeOperator class
| [in] | op | : shared pointer to Operator, cannot be another TimeOperator |
Definition at line 94 of file TimeOperator.h.
References AMP::TimeIntegrator::TimeOperator::d_pRhsOperator.
|
inline |
registers a source term if any
| [in] | vec | shared pointer to vector for source term |
Definition at line 78 of file IDATimeOperator.h.
References AMP::TimeIntegrator::TimeOperator::d_pSourceTerm.
|
inlineoverridevirtualinherited |
re-initialize a vector, e.g. after a regrid operation has happened. This is useful for example when numerical overshoots or undershoots have happened due to interpolation for example The default is a null op
Reimplemented from AMP::Operator::Operator.
Definition at line 183 of file TimeOperator.h.
References AMP_ASSERT, and AMP::TimeIntegrator::TimeOperator::d_pRhsOperator.
|
overridevirtualinherited |
This function is useful for re-initializing an operator
| params | parameter object containing parameters to change |
Reimplemented from AMP::Operator::Operator.
|
overridevirtual |
Default base class implementation of the residual: f-L(u)
| f | shared pointer to const vector rhs |
| u | shared pointer to const vector u |
| r | shared pointer to vector residual |
Reimplemented from AMP::Operator::Operator.
|
virtualinherited |
Return the selector for input vectors.
Reimplemented in AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, AMP::Operator::FlowFrapconJacobian, AMP::Operator::FlowFrapconOperator, AMP::Operator::SubchannelFourEqLinearOperator, and AMP::Operator::SubchannelFourEqNonlinearOperator.
|
virtualinherited |
Return the selector for output vectors.
Reimplemented in AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, AMP::Operator::FlowFrapconJacobian, AMP::Operator::FlowFrapconOperator, AMP::Operator::SubchannelFourEqLinearOperator, and AMP::Operator::SubchannelFourEqNonlinearOperator.
|
inlineinherited |
for multiphysics problems it may be necessary to scale the solution
Definition at line 170 of file TimeOperator.h.
References AMP::TimeIntegrator::TimeOperator::d_pFunctionScaling, and AMP::TimeIntegrator::TimeOperator::d_pSolutionScaling.
Specify level of diagnostic information printed during iterations.
| level | zero prints none or minimal information, higher numbers provide increasingly verbose debugging information. |
Reimplemented in AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.
Definition at line 97 of file Operator.h.
References AMP::Operator::Operator::d_iDebugPrintInfoLevel.
set the value of the current time step
| [in] | dt | : value of current timestep |
Definition at line 128 of file TimeOperator.h.
References AMP::TimeIntegrator::TimeOperator::d_dCurrentDt.
|
protectedinherited |
|
inlinevirtualinherited |
Set the scaling for implicit operators (at present not consistent with IDA interface)
Definition at line 156 of file TimeOperator.h.
References AMP::TimeIntegrator::TimeOperator::d_dGamma.
|
inherited |
Subset input vector.
|
inherited |
Subset input vector.
|
inherited |
Subset output vector.
|
inherited |
Subset output vector.
|
inlineoverridevirtual |
Return the name of the operator.
Implements AMP::Operator::Operator.
Definition at line 45 of file IDATimeOperator.h.
|
protectedinherited |
Definition at line 197 of file Operator.h.
|
protectedinherited |
set to true if this operator corresponds to an algebraic component
Definition at line 208 of file TimeOperator.h.
|
protectedinherited |
Definition at line 201 of file TimeOperator.h.
|
protectedinherited |
Definition at line 203 of file TimeOperator.h.
|
protected |
Definition at line 94 of file IDATimeOperator.h.
|
protected |
Definition at line 99 of file IDATimeOperator.h.
Referenced by registerCurrentTime().
|
protectedinherited |
Definition at line 210 of file TimeOperator.h.
Referenced by AMP::TimeIntegrator::TimeOperator::setDt().
|
protectedinherited |
Definition at line 245 of file TimeOperator.h.
Referenced by AMP::TimeIntegrator::TimeOperator::getGamma(), and AMP::TimeIntegrator::TimeOperator::setTimeOperatorScaling().
|
protectedinherited |
Definition at line 187 of file Operator.h.
Referenced by AMP::Operator::Operator::setDebugPrintInfoLevel().
|
staticprotectedinherited |
Definition at line 191 of file Operator.h.
|
protectedinherited |
Definition at line 189 of file Operator.h.
|
protectedinherited |
Definition at line 195 of file Operator.h.
Referenced by AMP::Operator::Operator::getMemoryLocation().
|
protectedinherited |
Definition at line 193 of file Operator.h.
Referenced by AMP::Operator::Operator::getMesh(), AMP::Operator::Operator::getMesh(), and AMP::Operator::ContactResidualCorrection::setMasterMesh().
|
protectedinherited |
algebraic variable
Definition at line 225 of file TimeOperator.h.
Referenced by AMP::TimeIntegrator::TimeOperator::registerAlgebraicVariable().
|
protectedinherited |
Definition at line 243 of file TimeOperator.h.
Referenced by AMP::TimeIntegrator::TimeOperator::setComponentScalings().
|
protected |
Definition at line 92 of file IDATimeOperator.h.
Referenced by registerIDATimeDerivative().
|
protectedinherited |
pointer to mass operator
Definition at line 220 of file TimeOperator.h.
Referenced by AMP::TimeIntegrator::TimeOperator::getMassOperator(), and AMP::TimeIntegrator::TimeOperator::registerMassOperator().
|
protectedinherited |
pointer to rhs operator
Definition at line 215 of file TimeOperator.h.
Referenced by AMP::TimeIntegrator::TimeOperator::getOutputVariable(), AMP::TimeIntegrator::TimeOperator::getRhsOperator(), AMP::TimeIntegrator::TimeOperator::isValidVector(), AMP::TimeIntegrator::TimeOperator::makeConsistent(), AMP::TimeIntegrator::TimeOperator::registerRhsOperator(), and AMP::TimeIntegrator::TimeOperator::reInitializeVector().
|
protectedinherited |
scratch vector for internal use
Definition at line 230 of file TimeOperator.h.
|
protectedinherited |
scratch vector for internal use
Definition at line 235 of file TimeOperator.h.
|
protectedinherited |
Definition at line 242 of file TimeOperator.h.
Referenced by AMP::TimeIntegrator::TimeOperator::setComponentScalings().
|
protectedinherited |
vector containing time independent source terms if any (for now)
Definition at line 240 of file TimeOperator.h.
Referenced by registerSourceTerm().
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:45. Comments on this page |