#include <ColumnTimeOperator.h>

Public Types | |
| typedef std::shared_ptr< AMP::Operator::Operator > | shared_ptr |
Protected Member Functions | |
| ColumnTimeOperator () | |
| void | getBackendFromInput (std::shared_ptr< AMP::Database > db) |
| void | getFromInput (std::shared_ptr< AMP::Database >) |
| virtual std::shared_ptr< OperatorParameters > | getJacobianParameters (std::shared_ptr< const AMP::LinearAlgebra::Vector >) |
| void | setMemoryAndBackendParameters (std::shared_ptr< AMP::Database > db) |
Protected Attributes | |
| AMP::Utilities::Backend | d_backend = AMP::Utilities::Backend::Serial |
| 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::vector< std::shared_ptr< Operator > > | d_operators |
| std::shared_ptr< AMP::Operator::ColumnOperator > | d_pMassOperator |
| std::shared_ptr< AMP::Operator::ColumnOperator > | d_pRhsOperator |
| std::shared_ptr< AMP::LinearAlgebra::Vector > | d_pSourceTerm |
Static Protected Attributes | |
| static int | d_iInstance_id |
Private Attributes | |
| bool | d_bCreateLinearTimeOperators |
| double | d_dCurrentDt |
| int | d_iAlgebraicComponent |
The ColumnTimeOperator class is meant to handle the case where the TimeOperator is a multi-physics operator with ColumnOperator's representing the mass and rhs operators. It is meant to allow for the use of ColumnSolvers in block diagonal or block triangular preconditioners for Newton-Krylov methods in implicit time integration. This operator is currently derived from the ColumnOperator and not from the TimeOperator class. This results in some duplication/reproduction of interfaces that would normally belong in the TimeOperator class. The alternative is to allow multiple inheritance which is left open as a possible design modification at this point.
Definition at line 23 of file ColumnTimeOperator.h.
|
inherited |
Definition at line 29 of file Operator.h.
|
explicit |
Main constructor for users. Expects a TimeOperatorParameters object.
|
virtual |
virtual destructor
|
protected |
|
overridevirtual |
| op | shared pointer to an operator to append to the existing column of operators |
Reimplemented from AMP::Operator::ColumnOperator.
|
override |
The apply routine for the column operator calls apply on each of the component operators
|
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.
|
inlineinherited |
Return an iterator to the beginning of the operators.
Definition at line 87 of file ColumnOperator.h.
References AMP::Operator::ColumnOperator::d_operators.
|
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.
|
inlineinherited |
Return an iterator to the end of the operators.
Definition at line 90 of file ColumnOperator.h.
References AMP::Operator::ColumnOperator::d_operators.
|
inherited |
Return the operator(s) with the given name/type.
|
protectedinherited |
|
protected |
|
overridevirtualinherited |
Return the input variable.
Reimplemented from AMP::Operator::Operator.
Reimplemented in AMP::Operator::CoupledFlowFrapconOperator.
|
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.
|
inline |
return a shared pointer to the mass operator
Definition at line 130 of file ColumnTimeOperator.h.
References 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.
|
inlineinherited |
Definition at line 80 of file ColumnOperator.h.
References AMP::Operator::ColumnOperator::d_operators.
Definition at line 82 of file ColumnOperator.h.
References AMP::Operator::ColumnOperator::d_operators.
Definition at line 84 of file ColumnOperator.h.
References AMP::Operator::ColumnOperator::d_operators.
|
overridevirtualinherited |
returns a MultiVariable object corresponding to the ColumnOperator should be called only after all column operators have been appended. no checks to do this right now.
Reimplemented from AMP::Operator::Operator.
Reimplemented in AMP::Operator::CoupledOperator, and AMP::Operator::CoupledFlowFrapconOperator.
|
overrideinherited |
A function for computing the information necessary to construct the jacobian.
| 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 |
|
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.
return a shared pointer to the rhs operator
Definition at line 125 of file ColumnTimeOperator.h.
References d_pRhsOperator.
|
overridevirtualinherited |
given a vector return whether it is valid or not
Reimplemented from AMP::Operator::Operator.
Reimplemented in AMP::Operator::CoupledOperator.
|
virtualinherited |
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 in AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, and AMP::TimeIntegrator::TimeOperator.
|
inline |
This function registers a mass operator with the TimeOperator class. Not necessary for FD or FVM discretizations
Definition at line 117 of file ColumnTimeOperator.h.
References d_pMassOperator.
|
inline |
This function registers a rhs operator with the TimeOperator class
| [in] | op | : shared pointer to Operator |
Definition at line 108 of file ColumnTimeOperator.h.
References d_pRhsOperator.
|
inlinevirtualinherited |
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 in AMP::TimeIntegrator::TimeOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.
Definition at line 167 of file Operator.h.
|
overridevirtual |
This function is useful for re-initializing an operator
| params | parameter object containing parameters to change |
Reimplemented from AMP::Operator::ColumnOperator.
|
overrideinherited |
Column specific 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 |
|
virtualinherited |
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 in AMP::Solver::AMG::HasDeferConsistency< AMP::Operator::LinearOperator >, AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, AMP::TimeIntegrator::IDATimeOperator, and AMP::TimeIntegrator::TimeOperator.
|
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.
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.
|
protectedinherited |
|
inherited |
Subset input vector.
|
inherited |
Subset input vector.
|
inherited |
Subset output vector.
|
inherited |
Subset output vector.
|
inlineoverridevirtualinherited |
Return the name of the operator.
Implements AMP::Operator::Operator.
Reimplemented in AMP::Operator::CoupledOperator, and AMP::Operator::CoupledFlowFrapconOperator.
Definition at line 31 of file ColumnOperator.h.
|
protectedinherited |
Definition at line 197 of file Operator.h.
|
private |
Definition at line 147 of file ColumnTimeOperator.h.
|
private |
Definition at line 151 of file ColumnTimeOperator.h.
|
private |
Definition at line 149 of file ColumnTimeOperator.h.
|
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 |
Definition at line 96 of file ColumnOperator.h.
Referenced by AMP::Operator::CoupledOperator::append(), AMP::Operator::CoupledFlowFrapconOperator::append(), AMP::Operator::ColumnOperator::begin(), AMP::Operator::ColumnOperator::end(), AMP::Operator::CoupledOperator::getBVPOperator(), AMP::Operator::CoupledFlowFrapconOperator::getInputVariable(), AMP::Operator::CoupledOperator::getMapOperator(), AMP::Operator::ColumnOperator::getNumberOfOperators(), AMP::Operator::ColumnOperator::getOperator(), AMP::Operator::ColumnOperator::getOperators(), AMP::Operator::CoupledOperator::getOutputVariable(), AMP::Operator::CoupledFlowFrapconOperator::getOutputVariable(), AMP::Operator::CoupledFlowFrapconOperator::getParameters(), AMP::Operator::CoupledOperator::getParameters(), AMP::Operator::CoupledOperator::isValidVector(), AMP::Operator::CoupledFlowFrapconOperator::reset(), AMP::Operator::CoupledOperator::setBVPOperator(), and AMP::Operator::CoupledOperator::setMapOperator().
|
protected |
Definition at line 142 of file ColumnTimeOperator.h.
Referenced by getMassOperator(), and registerMassOperator().
|
protected |
rhs and mass operators are intentionally chosen to be column
Definition at line 140 of file ColumnTimeOperator.h.
Referenced by getRhsOperator(), and registerRhsOperator().
|
protected |
Definition at line 144 of file ColumnTimeOperator.h.
|
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 |