Advanced Multi-Physics (AMP)
On-Line Documentation
MapOperator.h
Go to the documentation of this file.
1#ifndef included_AMP_MapOperator
2#define included_AMP_MapOperator
3
4
5#include "AMP/utils/Database.h"
6
7#include <memory>
8
9#include "AMP/operators/Operator.h"
10#include "AMP/operators/OperatorParameters.h"
11#include "AMP/operators/map/MapOperatorParameters.h"
12#include "AMP/vectors/Variable.h"
13#include "AMP/vectors/Vector.h"
14
15#include <string>
16
17
18namespace AMP::Operator {
19
20
27class MapOperator : public Operator
28{
29public:
33 explicit MapOperator( std::shared_ptr<const OperatorParameters> params ) : Operator( params )
34 {
35 auto myparams = std::dynamic_pointer_cast<const MapOperatorParameters>( params );
36 d_boundaryId = 0;
37 reset( myparams );
38 }
39
43 virtual ~MapOperator() {}
44
46 std::string type() const override { return "MapOperator"; }
47
48 void reset( std::shared_ptr<const OperatorParameters> params ) override;
49
50 virtual std::shared_ptr<AMP::LinearAlgebra::Variable> createInputVariable( const std::string &,
51 int )
52 {
53 // Implemented in derived classes
54 std::shared_ptr<AMP::LinearAlgebra::Variable> emptyPointer;
55 return emptyPointer;
56 }
57
58 virtual std::shared_ptr<AMP::LinearAlgebra::Variable> createOutputVariable( const std::string &,
59 int )
60 {
61 // Implemented in derived classes
62 std::shared_ptr<AMP::LinearAlgebra::Variable> emptyPointer;
63 return emptyPointer;
64 }
65
66 virtual void setInputVariableName( const std::string &, int )
67 {
68 // Implemented in derived classes.
69 }
70
71 virtual void setOutputVariableName( const std::string &, int )
72 {
73 // Implemented in derived classes.
74 }
75
76protected:
77 unsigned int d_boundaryId;
78
79 std::shared_ptr<AMP::Mesh::Mesh> d_MapMesh;
80
81 // Communicator for the Map
83
84private:
85};
86} // namespace AMP::Operator
87
88#endif
Provides C++ wrapper around MPI routines.
Definition AMP_MPI.h:63
std::shared_ptr< AMP::Mesh::Mesh > d_MapMesh
Definition MapOperator.h:79
virtual std::shared_ptr< AMP::LinearAlgebra::Variable > createOutputVariable(const std::string &, int)
Definition MapOperator.h:58
virtual std::shared_ptr< AMP::LinearAlgebra::Variable > createInputVariable(const std::string &, int)
Definition MapOperator.h:50
void reset(std::shared_ptr< const OperatorParameters > params) override
std::string type() const override
Return the name of the operator.
Definition MapOperator.h:46
MapOperator(std::shared_ptr< const OperatorParameters > params)
Definition MapOperator.h:33
virtual void setOutputVariableName(const std::string &, int)
Definition MapOperator.h:71
virtual void setInputVariableName(const std::string &, int)
Definition MapOperator.h:66
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