Advanced Multi-Physics (AMP)
On-Line Documentation
AsyncMapOperator.h
Go to the documentation of this file.
1#ifndef included_AMP_AsyncMapOperator
2#define included_AMP_AsyncMapOperator
3
4#include "AMP/mesh/Mesh.h"
5#include "AMP/operators/AsynchronousOperator.h"
6
7namespace AMP {
8namespace Operator {
9
19{
20public:
22 explicit AsyncMapOperator( std::shared_ptr<const OperatorParameters> );
23
25
27 std::string type() const override { return "AsyncMapOperator"; }
28
33
34 // Overload the apply operator to include makeConsistent
37
38 // Function to determine if a makeConsistentSet is required
40
45 std::shared_ptr<AMP::Mesh::Mesh> getMesh( int which );
46
47 std::shared_ptr<AMP::LinearAlgebra::Variable> getInputVariable() const override
48 {
49 return d_inpVariable;
50 }
51 std::shared_ptr<AMP::LinearAlgebra::Variable> getOutputVariable() const override
52 {
53 return d_outVariable;
54 }
55
56protected:
57 // Communicator for the Map
59
60 // Variables to store the individual meshes and the DOFManager
61 std::shared_ptr<AMP::Mesh::Mesh> d_mesh1;
62 std::shared_ptr<AMP::Mesh::Mesh> d_mesh2;
63 std::shared_ptr<AMP::Discretization::DOFManager> d_DOFManager;
64 std::shared_ptr<AMP::LinearAlgebra::Variable> d_inpVariable;
65 std::shared_ptr<AMP::LinearAlgebra::Variable> d_outVariable;
66
67 // Frozen vector for the output results
69};
70} // namespace Operator
71} // namespace AMP
72
73
74#endif
Provides C++ wrapper around MPI routines.
Definition AMP_MPI.h:63
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
Definition Vector.h:60
std::shared_ptr< const Vector > const_shared_ptr
Definition Vector.h:65
A base class for asynchronous map operations between meshes. A map operation involves two meshes and ...
virtual bool requiresMakeConsistentSet()
std::shared_ptr< AMP::LinearAlgebra::Variable > getInputVariable() const override
Return the input variable.
std::shared_ptr< AMP::Discretization::DOFManager > d_DOFManager
std::shared_ptr< AMP::Mesh::Mesh > d_mesh2
virtual void setVector(AMP::LinearAlgebra::Vector::shared_ptr p)=0
Set a frozen vector for results of the apply operation.
std::shared_ptr< AMP::Mesh::Mesh > d_mesh1
std::shared_ptr< AMP::LinearAlgebra::Variable > getOutputVariable() const override
Return the output variable.
AMP::LinearAlgebra::Vector::shared_ptr d_OutputVector
std::shared_ptr< AMP::LinearAlgebra::Variable > d_inpVariable
std::string type() const override
Return the name of the operator.
std::shared_ptr< AMP::Mesh::Mesh > getMesh(int which)
std::shared_ptr< AMP::LinearAlgebra::Variable > d_outVariable
void apply(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
Apply operation.
AsyncMapOperator(std::shared_ptr< const OperatorParameters >)
Constructor.
A class that allows for overlapped communication.
std::shared_ptr< AMP::Operator::Operator > shared_ptr
Definition Operator.h:29



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:41.
Comments on this page