A column of map operators used for Mesh to Mesh interactions through a mapping. More...
#include <AsyncMapColumnOperator.h>

Public Types | |
| typedef std::shared_ptr< AMP::Operator::Operator > | shared_ptr |
Static Public Member Functions | |
| template<typename MAP_TYPE > | |
| static std::shared_ptr< AsyncMapColumnOperator > | build (std::shared_ptr< AMP::Mesh::Mesh > manager, std::shared_ptr< AMP::Database > database) |
| A factory method. | |
| static std::vector< std::shared_ptr< AMP::Database > > | createDatabases (std::shared_ptr< AMP::Database > database) |
Protected Member Functions | |
| void | getBackendFromInput (std::shared_ptr< AMP::Database > db) |
| 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 |
Static Protected Attributes | |
| static int | d_iInstance_id |
Private Attributes | |
| AMP::LinearAlgebra::Vector::shared_ptr | d_OutputVector |
A column of map operators used for Mesh to Mesh interactions through a mapping.
Mappings often require overlapping communication to prevent serial threads from arising during the computation. Mappings often require results to be stored in auxiliary or "frozen" vectors. Therefore, the AsyncMapColumnOperator supports a setVector method that will call setVector on all maps in the column.
Definition at line 25 of file AsyncMapColumnOperator.h.
|
inherited |
Definition at line 29 of file Operator.h.
|
explicit |
Default constructor.
|
explicit |
Empty constructor.
|
overridevirtual |
| op | shared pointer to an operator to append to the existing column of operators |
Reimplemented from AMP::Operator::AsynchronousColumnOperator.
|
override |
|
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 |
Finish an apply operation (arguments should match applyStart)
|
virtualinherited |
Start an apply operation.
|
inlineinherited |
Return an iterator to the beginning of the operators.
Definition at line 87 of file ColumnOperator.h.
References AMP::Operator::ColumnOperator::d_operators.
|
static |
A factory method.
In order to use this builder, the MAP_TYPE must have 3 things: a static member called CommTagBase, a static method: bool validMapType ( const std::string & ), and a typedef for the parameters of the class called Parameters.
| MAP_TYPE | The type of map to create |
| [in] | manager | The multi-mesh to search for maps to add to the column |
| [in] | database | The global database of the simulation |
|
static |
|
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 |
|
inlinevirtual |
Returns the frozen vector.
Definition at line 43 of file AsyncMapColumnOperator.h.
References d_OutputVector.
|
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.
|
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.
|
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.
|
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.
|
overridevirtualinherited |
This function is useful for re-initializing/updating an operator
| params | parameter object containing parameters to change |
Reimplemented from AMP::Operator::Operator.
Reimplemented in AMP::TimeIntegrator::ColumnTimeOperator, and AMP::Operator::CoupledFlowFrapconOperator.
|
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 |
| void AMP::Operator::AsyncMapColumnOperator::setVector | ( | AMP::LinearAlgebra::Vector::shared_ptr | p | ) |
Call setVector on all vectors in the column.
| [in] | p | The auxiliary or "frozen" vector to store results in |
|
inherited |
Subset input vector.
|
inherited |
Subset input vector.
|
inherited |
Subset output vector.
|
inherited |
Subset output vector.
|
inlineoverridevirtual |
Return the name of the operator.
Reimplemented from AMP::Operator::AsynchronousColumnOperator.
Definition at line 35 of file AsyncMapColumnOperator.h.
|
protectedinherited |
Definition at line 197 of file Operator.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().
|
private |
Definition at line 75 of file AsyncMapColumnOperator.h.
Referenced by getFrozenVector().
|
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:43. Comments on this page |