Advanced Multi-Physics (AMP)
On-Line Documentation
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | Static Private Member Functions | Private Attributes | List of all members
AMP::Operator::StridedZAxisMap Class Referenceabstract

A class used to reduce a 3D problem to 1D, transfer the solution, and map back to 3D. More...

#include <StridedZAxisMap.h>

Inheritance diagram for AMP::Operator::StridedZAxisMap:
Inheritance graph
[legend]

Public Types

typedef ScalarZAxisMapParameters Parameters
 Typedef to identify the parameters class of this operator.
 
typedef std::shared_ptr< AMP::Operator::Operatorshared_ptr
 

Public Member Functions

void apply (AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
 Apply operation.
 
virtual void apply (std::shared_ptr< const AMP::LinearAlgebra::Vector > u, std::shared_ptr< AMP::LinearAlgebra::Vector > f)=0
 
void applyFinish (AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
 Finish a communicative apply operation.
 
void applyStart (AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
 Start a communicative apply operation.
 
virtual std::shared_ptr< AMP::LinearAlgebra::VectorcreateInputVector () const
 Get a input vector ( For \(\mathbf{A(x)}\), \(\mathbf{x}\) is a input vector )
 
virtual std::shared_ptr< AMP::LinearAlgebra::VectorcreateOutputVector () const
 Get a left vector ( For \(\mathbf{y=A(x)}\), \(\mathbf{y}\) is an output vector )
 
std::shared_ptr< AMP::LinearAlgebra::VariablegetInputVariable () const override
 Return the input variable.
 
AMP::Utilities::MemoryType getMemoryLocation () const
 
std::shared_ptr< AMP::Mesh::MeshgetMesh ()
 Return the mesh.
 
std::shared_ptr< const AMP::Mesh::MeshgetMesh () const
 Return the mesh.
 
std::shared_ptr< AMP::Mesh::MeshgetMesh (int which)
 
std::shared_ptr< AMP::LinearAlgebra::VariablegetOutputVariable () const override
 Return the output variable.
 
virtual std::shared_ptr< OperatorParametersgetParameters (const std::string &type, std::shared_ptr< const AMP::LinearAlgebra::Vector > u, std::shared_ptr< OperatorParameters > params=nullptr)
 
virtual bool isValidVector (std::shared_ptr< const AMP::LinearAlgebra::Vector >)
 given a vector return whether it is valid or not
 
virtual void makeConsistent (std::shared_ptr< AMP::LinearAlgebra::Vector > vec)
 
virtual void reInitializeVector (std::shared_ptr< AMP::LinearAlgebra::Vector >)
 
virtual bool requiresMakeConsistentSet ()
 
virtual void reset (std::shared_ptr< const OperatorParameters > params)
 
virtual void residual (std::shared_ptr< const AMP::LinearAlgebra::Vector > f, std::shared_ptr< const AMP::LinearAlgebra::Vector > u, std::shared_ptr< AMP::LinearAlgebra::Vector > r)
 
virtual std::shared_ptr< AMP::LinearAlgebra::VectorSelectorselectInputVector () const
 Return the selector for input vectors.
 
virtual std::shared_ptr< AMP::LinearAlgebra::VectorSelectorselectOutputVector () const
 Return the selector for output vectors.
 
virtual void setDebugPrintInfoLevel (int level)
 
void setVector (AMP::LinearAlgebra::Vector::shared_ptr p) override
 Set a frozen vector for results of the apply operation.
 
 StridedZAxisMap (std::shared_ptr< const AMP::Operator::OperatorParameters > params)
 Standard constructor.
 
std::shared_ptr< AMP::LinearAlgebra::VectorsubsetInputVector (std::shared_ptr< AMP::LinearAlgebra::Vector > vec) const
 Subset input vector.
 
std::shared_ptr< const AMP::LinearAlgebra::VectorsubsetInputVector (std::shared_ptr< const AMP::LinearAlgebra::Vector > vec) const
 Subset input vector.
 
std::shared_ptr< AMP::LinearAlgebra::VectorsubsetOutputVector (std::shared_ptr< AMP::LinearAlgebra::Vector > vec) const
 Subset output vector.
 
std::shared_ptr< const AMP::LinearAlgebra::VectorsubsetOutputVector (std::shared_ptr< const AMP::LinearAlgebra::Vector > vec) const
 Subset output vector.
 
std::string type () const override
 Return the name of the operator.
 
virtual ~StridedZAxisMap ()
 Destructor.
 

Static Public Member Functions

static bool validMapType (const std::string &s)
 Returns true if MapType = "ScalarZAxis".
 

Static Public Attributes

static const int CommTagBase = 20000
 The base tag used in communication.
 

Protected Member Functions

void addTo1DMap (std::multimap< double, double > &map, const std::vector< double > &z, const std::vector< double > &val)
 Add an ordered pair to the set of interpolant values.
 
void addTo1DMap (std::multimap< double, double > &map, double z, double val)
 Add an ordered pair to the set of interpolant values.
 
std::vector< AMP_MPI::Request >::iterator beginRequests ()
 Return an iterator to the first MPI_Request.
 
virtual std::multimap< double, doublebuildMap (AMP::LinearAlgebra::Vector::const_shared_ptr, const std::shared_ptr< AMP::Mesh::Mesh >, const AMP::Mesh::MeshIterator &) override
 A virtual method to construct the map from a vector.
 
virtual void buildReturn (AMP::LinearAlgebra::Vector::shared_ptr, const std::shared_ptr< AMP::Mesh::Mesh >, const AMP::Mesh::MeshIterator &, const std::map< double, double > &) override
 A virtual method to construct a vector from a map.
 
void clearRequests ()
 Clear requests.
 
std::vector< AMP_MPI::Request >::iterator endRequests ()
 Return an iterator to one past the end of the list of requests.
 
void getBackendFromInput (std::shared_ptr< AMP::Database > db)
 
template<typename T >
const TgetBufferToAvoidDebugVectorCrashing (const std::vector< T > &in)
 Functions to allow std::vector to be used in MPI communications when empty.
 
template<typename T >
TgetBufferToAvoidDebugVectorCrashing (std::vector< T > &in)
 Functions to allow std::vector to be used in MPI communications when empty.
 
virtual std::shared_ptr< OperatorParametersgetJacobianParameters (std::shared_ptr< const AMP::LinearAlgebra::Vector >)
 
AMP_MPI::RequestgetRequest (size_t i)
 Return a specific MPI_Request.
 
void reserveRequests (size_t i)
 Reserve a number of MPI_Requests for use.
 
void setMemoryAndBackendParameters (std::shared_ptr< AMP::Database > db)
 
void waitForAllRequests ()
 Wait for all requests to complete.
 

Protected Attributes

AMP::Utilities::Backend d_backend = AMP::Utilities::Backend::Serial
 
std::shared_ptr< AMP::Discretization::DOFManagerd_DOFManager
 
AMP::Mesh::MeshIterator d_dstIterator1
 
AMP::Mesh::MeshIterator d_dstIterator2
 
int d_iDebugPrintInfoLevel = 0
 
int d_inpDofs
 
int d_inpStride
 
std::shared_ptr< AMP::LinearAlgebra::Variabled_inpVariable
 
int d_iObject_id
 
AMP_MPI d_MapComm
 
AMP::Utilities::MemoryType d_memory_location = AMP::Utilities::MemoryType::none
 
std::shared_ptr< AMP::Mesh::Meshd_Mesh
 
std::shared_ptr< AMP::Mesh::Meshd_mesh1
 
std::shared_ptr< AMP::Mesh::Meshd_mesh2
 
int d_outDofs
 
AMP::LinearAlgebra::Vector::shared_ptr d_OutputVector
 
int d_outStride
 
std::shared_ptr< AMP::LinearAlgebra::Variabled_outVariable
 
std::vector< AMP_MPI::Requestd_RequestList
 A list of MPI_Requests for use in derived classes.
 
AMP::Mesh::MeshIterator d_srcIterator1
 Iterators over the nodes on the boundary.
 
AMP::Mesh::MeshIterator d_srcIterator2
 

Static Protected Attributes

static int d_iInstance_id
 

Static Private Member Functions

static void unpackBuffer (const std::vector< comm_data > &, std::map< double, std::pair< int, double > > &)
 

Private Attributes

int d_commTag
 The tag used for communication.
 
std::vector< boold_own_mesh1
 A list of processors that own each mesh.
 
std::vector< boold_own_mesh2
 
AMP::LinearAlgebra::Vector::shared_ptr d_ResultVector
 The place to put the mapped values.
 
std::vector< comm_datad_SendBuf1
 The buffer used to perform the asynchronous communication.
 
std::vector< comm_datad_SendBuf2
 

Detailed Description

A class used to reduce a 3D problem to 1D, transfer the solution, and map back to 3D.

This class inherites from ScalarZAxisMap, and performs a reduction from 3D to 1D, transfers the solution, then maps back to 3D. It inherites entire functionality from ScalarZAxis except that the you need to do a subset and stride to pass the correct vector to the base class.

Definition at line 21 of file StridedZAxisMap.h.

Member Typedef Documentation

◆ Parameters

Typedef to identify the parameters class of this operator.

Definition at line 33 of file ScalarZAxisMap.h.

◆ shared_ptr

Definition at line 29 of file Operator.h.

Constructor & Destructor Documentation

◆ StridedZAxisMap()

AMP::Operator::StridedZAxisMap::StridedZAxisMap ( std::shared_ptr< const AMP::Operator::OperatorParameters params)
explicit

Standard constructor.

Parameters
[in]paramsInput parameters

◆ ~StridedZAxisMap()

virtual AMP::Operator::StridedZAxisMap::~StridedZAxisMap ( )
virtual

Destructor.

Member Function Documentation

◆ addTo1DMap() [1/2]

void AMP::Operator::Map3to1to3::addTo1DMap ( std::multimap< double, double > &  map,
const std::vector< double > &  z,
const std::vector< double > &  val 
)
protectedinherited

Add an ordered pair to the set of interpolant values.

Parameters
mapThe map to add the point to
[in]zThe ordinate
[in]valThe abscissa

◆ addTo1DMap() [2/2]

void AMP::Operator::Map3to1to3::addTo1DMap ( std::multimap< double, double > &  map,
double  z,
double  val 
)
protectedinherited

Add an ordered pair to the set of interpolant values.

Parameters
mapThe map to add the point to
[in]zThe ordinate
[in]valThe abscissa

◆ apply() [1/2]

void AMP::Operator::StridedZAxisMap::apply ( AMP::LinearAlgebra::Vector::const_shared_ptr  u,
AMP::LinearAlgebra::Vector::shared_ptr  f 
)
overridevirtual

Apply operation.

The apply opertion for an asyncronous operator simply calls applyStart and applyFinish.

Parameters
[in]uAn input vector
[out]fAn output vector

Reimplemented from AMP::Operator::AsyncMapOperator.

◆ apply() [2/2]

virtual void AMP::Operator::Operator::apply ( std::shared_ptr< const AMP::LinearAlgebra::Vector u,
std::shared_ptr< AMP::LinearAlgebra::Vector f 
)
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.

Parameters
ushared pointer to const input vector u
fshared 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.

◆ applyFinish()

void AMP::Operator::Map3to1to3::applyFinish ( AMP::LinearAlgebra::Vector::const_shared_ptr  u,
AMP::LinearAlgebra::Vector::shared_ptr  f 
)
overridevirtualinherited

Finish a communicative apply operation.

Finish a communicative apply operation.

Implements AMP::Operator::AsynchronousOperator.

◆ applyStart()

void AMP::Operator::Map3to1to3::applyStart ( AMP::LinearAlgebra::Vector::const_shared_ptr  u,
AMP::LinearAlgebra::Vector::shared_ptr  f 
)
overridevirtualinherited

Start a communicative apply operation.

Start a communicative apply operation.

Implements AMP::Operator::AsynchronousOperator.

◆ beginRequests()

std::vector< AMP_MPI::Request >::iterator AMP::Operator::AsynchronousOperator::beginRequests ( )
protectedinherited

Return an iterator to the first MPI_Request.

Returns
The iterator

◆ buildMap()

virtual std::multimap< double, double > AMP::Operator::ScalarZAxisMap::buildMap ( AMP::LinearAlgebra::Vector::const_shared_ptr  vec,
const std::shared_ptr< AMP::Mesh::Mesh mesh,
const AMP::Mesh::MeshIterator it 
)
overrideprotectedvirtualinherited

A virtual method to construct the map from a vector.

This function constructs the map from a given vector. The inherited class must implement this function

Parameters
[in]vecThe vector to be used to construct the map
[in]meshThe meshused to construct the map
[in]itThe iterator over the boundary used for the map

Reimplemented from AMP::Operator::Map3to1to3.

◆ buildReturn()

virtual void AMP::Operator::ScalarZAxisMap::buildReturn ( AMP::LinearAlgebra::Vector::shared_ptr  vec,
const std::shared_ptr< AMP::Mesh::Mesh mesh,
const AMP::Mesh::MeshIterator it,
const std::map< double, double > &  map 
)
overrideprotectedvirtualinherited

A virtual method to construct a vector from a map.

This function constructs a vector from the map. The inherited class must implement this function

Parameters
[out]vecThe vector to be used to construct the map
[in]meshThe mesh used to construct the map
[in]itThe iterator over the boundary used for the map
[in]mapThe map containing all of the points

Reimplemented from AMP::Operator::Map3to1to3.

◆ clearRequests()

void AMP::Operator::AsynchronousOperator::clearRequests ( )
protectedinherited

Clear requests.

◆ createInputVector()

virtual std::shared_ptr< AMP::LinearAlgebra::Vector > AMP::Operator::Operator::createInputVector ( ) const
virtualinherited

◆ createOutputVector()

virtual std::shared_ptr< AMP::LinearAlgebra::Vector > AMP::Operator::Operator::createOutputVector ( ) const
virtualinherited

Get a left vector ( For \(\mathbf{y=A(x)}\), \(\mathbf{y}\) is an output vector )

Returns
A newly created output vector

Reimplemented in AMP::Operator::IdentityOperator, AMP::Operator::LinearOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.

◆ endRequests()

std::vector< AMP_MPI::Request >::iterator AMP::Operator::AsynchronousOperator::endRequests ( )
protectedinherited

Return an iterator to one past the end of the list of requests.

Returns
The iterator

◆ getBackendFromInput()

void AMP::Operator::Operator::getBackendFromInput ( std::shared_ptr< AMP::Database db)
protectedinherited

◆ getBufferToAvoidDebugVectorCrashing() [1/2]

template<typename T >
const T * AMP::Operator::AsynchronousOperator::getBufferToAvoidDebugVectorCrashing ( const std::vector< T > &  in)
inlineprotectedinherited

Functions to allow std::vector to be used in MPI communications when empty.

Template Parameters
TThe type of buffer to translate
Parameters
[in]inBuffer in a std::vector
Returns
Buffer of type T

Definition at line 73 of file AsynchronousOperator.h.

◆ getBufferToAvoidDebugVectorCrashing() [2/2]

template<typename T >
T * AMP::Operator::AsynchronousOperator::getBufferToAvoidDebugVectorCrashing ( std::vector< T > &  in)
inlineprotectedinherited

Functions to allow std::vector to be used in MPI communications when empty.

Template Parameters
TThe type of buffer to translate
Parameters
[in]inBuffer in a std::vector
Returns
Buffer of type T

Definition at line 59 of file AsynchronousOperator.h.

◆ getInputVariable()

std::shared_ptr< AMP::LinearAlgebra::Variable > AMP::Operator::AsyncMapOperator::getInputVariable ( ) const
inlineoverridevirtualinherited

Return the input variable.

Reimplemented from AMP::Operator::Operator.

Definition at line 47 of file AsyncMapOperator.h.

References AMP::Operator::AsyncMapOperator::d_inpVariable.

◆ getJacobianParameters()

virtual std::shared_ptr< OperatorParameters > AMP::Operator::Operator::getJacobianParameters ( std::shared_ptr< const AMP::LinearAlgebra::Vector )
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.

◆ getMemoryLocation()

AMP::Utilities::MemoryType AMP::Operator::Operator::getMemoryLocation ( ) const
inlineinherited

Definition at line 89 of file Operator.h.

References AMP::Operator::Operator::d_memory_location.

◆ getMesh() [1/3]

std::shared_ptr< AMP::Mesh::Mesh > AMP::Operator::Operator::getMesh ( )
inlineinherited

Return the mesh.

Definition at line 149 of file Operator.h.

References AMP::Operator::Operator::d_Mesh.

◆ getMesh() [2/3]

std::shared_ptr< const AMP::Mesh::Mesh > AMP::Operator::Operator::getMesh ( ) const
inlineinherited

Return the mesh.

Definition at line 152 of file Operator.h.

References AMP::Operator::Operator::d_Mesh.

◆ getMesh() [3/3]

std::shared_ptr< AMP::Mesh::Mesh > AMP::Operator::AsyncMapOperator::getMesh ( int  which)
inherited

Get the meshes this map uses.

Parameters
[in]which1 for d_mesh1 and 2 for d_mesh2

◆ getOutputVariable()

std::shared_ptr< AMP::LinearAlgebra::Variable > AMP::Operator::AsyncMapOperator::getOutputVariable ( ) const
inlineoverridevirtualinherited

Return the output variable.

Reimplemented from AMP::Operator::Operator.

Definition at line 51 of file AsyncMapOperator.h.

References AMP::Operator::AsyncMapOperator::d_outVariable.

◆ getParameters()

virtual std::shared_ptr< OperatorParameters > AMP::Operator::Operator::getParameters ( const std::string &  type,
std::shared_ptr< const AMP::LinearAlgebra::Vector u,
std::shared_ptr< OperatorParameters params = nullptr 
)
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

Parameters
typestd:string specifying type of return operator parameters being requested. Currently the valid option is Jacobian
uconst pointer to current solution vector
paramspointer to additional parameters that might be required to construct the return parameters

Reimplemented in AMP::Operator::IdentityOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, and AMP::Operator::MemorySpaceMigrationOperator.

◆ getRequest()

AMP_MPI::Request & AMP::Operator::AsynchronousOperator::getRequest ( size_t  i)
protectedinherited

Return a specific MPI_Request.

Returns
The request

◆ isValidVector()

virtual bool AMP::Operator::Operator::isValidVector ( std::shared_ptr< const AMP::LinearAlgebra::Vector )
inlinevirtualinherited

◆ makeConsistent()

virtual void AMP::Operator::Operator::makeConsistent ( std::shared_ptr< AMP::LinearAlgebra::Vector vec)
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.

◆ reInitializeVector()

virtual void AMP::Operator::Operator::reInitializeVector ( std::shared_ptr< AMP::LinearAlgebra::Vector )
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.

◆ requiresMakeConsistentSet()

virtual bool AMP::Operator::AsyncMapOperator::requiresMakeConsistentSet ( )
virtualinherited

Reimplemented in AMP::Operator::NodeToNodeMap.

◆ reserveRequests()

void AMP::Operator::AsynchronousOperator::reserveRequests ( size_t  i)
protectedinherited

Reserve a number of MPI_Requests for use.

Parameters
[in]iThe number of MPI_Requests that will be used

◆ reset()

virtual void AMP::Operator::Operator::reset ( std::shared_ptr< const OperatorParameters params)
virtualinherited

This function is useful for re-initializing/updating an operator

Parameters
paramsparameter object containing parameters to change

Reimplemented in AMP::TimeIntegrator::ColumnTimeOperator, AMP::TimeIntegrator::LinearTimeOperator, AMP::TimeIntegrator::TimeOperator, AMP::Operator::PowerShape, AMP::Operator::NeutronicsRhs, AMP::Operator::WeldOperator, AMP::Operator::ColumnBoundaryOperator, AMP::Operator::DirichletVectorCorrection, AMP::Operator::NeumannVectorCorrection, AMP::Operator::RobinMatrixCorrection, AMP::Operator::RobinVectorCorrection, AMP::Operator::ColumnOperator, AMP::Operator::FickSoretNonlinearFEOperator, AMP::Operator::IdentityOperator, AMP::Operator::GradientOperator, AMP::Operator::PelletStackOperator, AMP::Operator::MapOperator, AMP::Operator::MemorySpaceMigrationLinearOperator, AMP::Operator::MemorySpaceMigrationOperator, AMP::Operator::MoveMeshOperator, AMP::Operator::NonlinearBVPOperator, AMP::Operator::PetscMatrixShellOperator, AMP::Operator::CoupledFlowFrapconOperator, AMP::Operator::FlowFrapconJacobian, AMP::Operator::FlowFrapconOperator, AMP::Operator::SubchannelFourEqLinearOperator, AMP::Operator::SubchannelFourEqNonlinearOperator, AMP::Operator::SubchannelTwoEqLinearOperator, AMP::Operator::SubchannelTwoEqNonlinearOperator, AMP::Operator::TrilinosMatrixShellOperator, AMP::Operator::DirichletMatrixCorrection, AMP::Operator::MassMatrixCorrection, AMP::Operator::DiffusionNonlinearFEOperator, AMP::Operator::LinearFEOperator, AMP::Operator::VolumeIntegralOperator, AMP::Operator::LinearBVPOperator, AMP::Operator::Map1Dto3D, AMP::Operator::Map3Dto1D, and AMP::Operator::MechanicsNonlinearFEOperator.

Referenced by AMP::Operator::FirstOperator::FirstOperator(), and AMP::Operator::SecondOperator::SecondOperator().

◆ residual()

virtual void AMP::Operator::Operator::residual ( std::shared_ptr< const AMP::LinearAlgebra::Vector f,
std::shared_ptr< const AMP::LinearAlgebra::Vector u,
std::shared_ptr< AMP::LinearAlgebra::Vector r 
)
virtualinherited

Default base class implementation of the residual: f-L(u)

Parameters
fshared pointer to const vector rhs
ushared pointer to const vector u
rshared 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.

◆ selectInputVector()

virtual std::shared_ptr< AMP::LinearAlgebra::VectorSelector > AMP::Operator::Operator::selectInputVector ( ) const
virtualinherited

◆ selectOutputVector()

virtual std::shared_ptr< AMP::LinearAlgebra::VectorSelector > AMP::Operator::Operator::selectOutputVector ( ) const
virtualinherited

◆ setDebugPrintInfoLevel()

virtual void AMP::Operator::Operator::setDebugPrintInfoLevel ( int  level)
inlinevirtualinherited

Specify level of diagnostic information printed during iterations.

Parameters
levelzero 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.

◆ setMemoryAndBackendParameters()

void AMP::Operator::Operator::setMemoryAndBackendParameters ( std::shared_ptr< AMP::Database db)
protectedinherited

◆ setVector()

void AMP::Operator::StridedZAxisMap::setVector ( AMP::LinearAlgebra::Vector::shared_ptr  result)
overridevirtual

Set a frozen vector for results of the apply operation.

Set a frozen vector for results of the apply operation.

Parameters
resultThe results vector

Reimplemented from AMP::Operator::Map3to1to3.

◆ subsetInputVector() [1/2]

std::shared_ptr< AMP::LinearAlgebra::Vector > AMP::Operator::Operator::subsetInputVector ( std::shared_ptr< AMP::LinearAlgebra::Vector vec) const
inherited

Subset input vector.

◆ subsetInputVector() [2/2]

std::shared_ptr< const AMP::LinearAlgebra::Vector > AMP::Operator::Operator::subsetInputVector ( std::shared_ptr< const AMP::LinearAlgebra::Vector vec) const
inherited

Subset input vector.

◆ subsetOutputVector() [1/2]

std::shared_ptr< AMP::LinearAlgebra::Vector > AMP::Operator::Operator::subsetOutputVector ( std::shared_ptr< AMP::LinearAlgebra::Vector vec) const
inherited

Subset output vector.

◆ subsetOutputVector() [2/2]

std::shared_ptr< const AMP::LinearAlgebra::Vector > AMP::Operator::Operator::subsetOutputVector ( std::shared_ptr< const AMP::LinearAlgebra::Vector vec) const
inherited

Subset output vector.

◆ type()

std::string AMP::Operator::StridedZAxisMap::type ( ) const
inlineoverridevirtual

Return the name of the operator.

Reimplemented from AMP::Operator::ScalarZAxisMap.

Definition at line 33 of file StridedZAxisMap.h.

◆ unpackBuffer()

static void AMP::Operator::Map3to1to3::unpackBuffer ( const std::vector< comm_data > &  ,
std::map< double, std::pair< int, double > > &   
)
staticprivateinherited

◆ validMapType()

static bool AMP::Operator::StridedZAxisMap::validMapType ( const std::string &  s)
static

Returns true if MapType = "ScalarZAxis".

Parameters
[in]sA string extracted from the MapType line in a MeshToMeshMap db
Returns
True iff s == "ScalarZAxis"

◆ waitForAllRequests()

void AMP::Operator::AsynchronousOperator::waitForAllRequests ( )
protectedinherited

Wait for all requests to complete.

Member Data Documentation

◆ CommTagBase

const int AMP::Operator::ScalarZAxisMap::CommTagBase = 20000
staticinherited

The base tag used in communication.

Definition at line 36 of file ScalarZAxisMap.h.

◆ d_backend

AMP::Utilities::Backend AMP::Operator::Operator::d_backend = AMP::Utilities::Backend::Serial
protectedinherited

Definition at line 197 of file Operator.h.

◆ d_commTag

int AMP::Operator::Map3to1to3::d_commTag
privateinherited

The tag used for communication.

Definition at line 120 of file Map3to1to3.h.

◆ d_DOFManager

std::shared_ptr<AMP::Discretization::DOFManager> AMP::Operator::AsyncMapOperator::d_DOFManager
protectedinherited

Definition at line 63 of file AsyncMapOperator.h.

◆ d_dstIterator1

AMP::Mesh::MeshIterator AMP::Operator::Map3to1to3::d_dstIterator1
protectedinherited

Definition at line 108 of file Map3to1to3.h.

◆ d_dstIterator2

AMP::Mesh::MeshIterator AMP::Operator::Map3to1to3::d_dstIterator2
protectedinherited

Definition at line 109 of file Map3to1to3.h.

◆ d_iDebugPrintInfoLevel

int AMP::Operator::Operator::d_iDebugPrintInfoLevel = 0
protectedinherited

Definition at line 187 of file Operator.h.

Referenced by AMP::Operator::Operator::setDebugPrintInfoLevel().

◆ d_iInstance_id

int AMP::Operator::Operator::d_iInstance_id
staticprotectedinherited

Definition at line 191 of file Operator.h.

◆ d_inpDofs

int AMP::Operator::StridedZAxisMap::d_inpDofs
protected

Definition at line 48 of file StridedZAxisMap.h.

◆ d_inpStride

int AMP::Operator::StridedZAxisMap::d_inpStride
protected

Definition at line 48 of file StridedZAxisMap.h.

◆ d_inpVariable

std::shared_ptr<AMP::LinearAlgebra::Variable> AMP::Operator::AsyncMapOperator::d_inpVariable
protectedinherited

◆ d_iObject_id

int AMP::Operator::Operator::d_iObject_id
protectedinherited

Definition at line 189 of file Operator.h.

◆ d_MapComm

AMP_MPI AMP::Operator::AsyncMapOperator::d_MapComm
protectedinherited

Definition at line 58 of file AsyncMapOperator.h.

◆ d_memory_location

AMP::Utilities::MemoryType AMP::Operator::Operator::d_memory_location = AMP::Utilities::MemoryType::none
protectedinherited

Definition at line 195 of file Operator.h.

Referenced by AMP::Operator::Operator::getMemoryLocation().

◆ d_Mesh

std::shared_ptr<AMP::Mesh::Mesh> AMP::Operator::Operator::d_Mesh
protectedinherited

◆ d_mesh1

std::shared_ptr<AMP::Mesh::Mesh> AMP::Operator::AsyncMapOperator::d_mesh1
protectedinherited

Definition at line 61 of file AsyncMapOperator.h.

◆ d_mesh2

std::shared_ptr<AMP::Mesh::Mesh> AMP::Operator::AsyncMapOperator::d_mesh2
protectedinherited

Definition at line 62 of file AsyncMapOperator.h.

◆ d_outDofs

int AMP::Operator::StridedZAxisMap::d_outDofs
protected

Definition at line 48 of file StridedZAxisMap.h.

◆ d_OutputVector

AMP::LinearAlgebra::Vector::shared_ptr AMP::Operator::AsyncMapOperator::d_OutputVector
protectedinherited

Definition at line 68 of file AsyncMapOperator.h.

◆ d_outStride

int AMP::Operator::StridedZAxisMap::d_outStride
protected

Definition at line 48 of file StridedZAxisMap.h.

◆ d_outVariable

std::shared_ptr<AMP::LinearAlgebra::Variable> AMP::Operator::AsyncMapOperator::d_outVariable
protectedinherited

◆ d_own_mesh1

std::vector<bool> AMP::Operator::Map3to1to3::d_own_mesh1
privateinherited

A list of processors that own each mesh.

Definition at line 116 of file Map3to1to3.h.

◆ d_own_mesh2

std::vector<bool> AMP::Operator::Map3to1to3::d_own_mesh2
privateinherited

Definition at line 117 of file Map3to1to3.h.

◆ d_RequestList

std::vector<AMP_MPI::Request> AMP::Operator::AsynchronousOperator::d_RequestList
protectedinherited

A list of MPI_Requests for use in derived classes.

Definition at line 22 of file AsynchronousOperator.h.

◆ d_ResultVector

AMP::LinearAlgebra::Vector::shared_ptr AMP::Operator::Map3to1to3::d_ResultVector
privateinherited

The place to put the mapped values.

Definition at line 113 of file Map3to1to3.h.

◆ d_SendBuf1

std::vector<comm_data> AMP::Operator::Map3to1to3::d_SendBuf1
privateinherited

The buffer used to perform the asynchronous communication.

Definition at line 136 of file Map3to1to3.h.

◆ d_SendBuf2

std::vector<comm_data> AMP::Operator::Map3to1to3::d_SendBuf2
privateinherited

Definition at line 137 of file Map3to1to3.h.

◆ d_srcIterator1

AMP::Mesh::MeshIterator AMP::Operator::Map3to1to3::d_srcIterator1
protectedinherited

Iterators over the nodes on the boundary.

Definition at line 106 of file Map3to1to3.h.

◆ d_srcIterator2

AMP::Mesh::MeshIterator AMP::Operator::Map3to1to3::d_srcIterator2
protectedinherited

Definition at line 107 of file Map3to1to3.h.


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



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:44.
Comments on this page