Advanced Multi-Physics (AMP)
On-Line Documentation
MapSurface.h
Go to the documentation of this file.
1#ifndef included_AMP_MapSurface
2#define included_AMP_MapSurface
3
4#include "AMP/operators/Operator.h"
5#include "AMP/operators/OperatorParameters.h"
6#include "AMP/operators/map/libmesh/Map1Dto3D.h"
7#include "AMP/operators/map/libmesh/Map3Dto1D.h"
8#include "AMP/vectors/Variable.h"
9#include "AMP/vectors/Vector.h"
10
11#include <memory>
12#include <string>
13
14
15namespace AMP::Operator {
16
17class MapSurface : public MapOperator
18{
19public:
20 explicit MapSurface( std::shared_ptr<const OperatorParameters> params );
21 virtual ~MapSurface() {}
22
23 std::string type() const override { return "MapSurface"; }
24
27
28 std::shared_ptr<AMP::LinearAlgebra::Vector>
30 {
31 return ( u->subsetVectorForVariable( d_outVariable ) );
32 }
33
34 std::shared_ptr<AMP::LinearAlgebra::Variable> getInputVariable() const override
35 {
36 return d_inpVariable;
37 }
38
39 std::shared_ptr<AMP::LinearAlgebra::Variable> getOutputVariable() const override
40 {
41 return d_outVariable;
42 }
43
49
50protected:
51 std::shared_ptr<AMP::LinearAlgebra::Vector> gap1DVec;
52 std::shared_ptr<AMP::LinearAlgebra::Variable> gapVariable;
53
54 std::shared_ptr<AMP::LinearAlgebra::Variable> d_inpVariable;
55 std::shared_ptr<AMP::LinearAlgebra::Variable> d_outVariable;
56
59
60private:
61 std::shared_ptr<Map3Dto1D> mapMaster;
62 std::shared_ptr<MapOperatorParameters> mapMasterParams;
63 std::shared_ptr<Map1Dto3D> mapTarget;
64 std::shared_ptr<MapOperatorParameters> mapTargetParams;
65};
66} // namespace AMP::Operator
67
68#endif
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
AMP::LinearAlgebra::Vector::shared_ptr outVec
Definition MapSurface.h:58
std::string type() const override
Return the name of the operator.
Definition MapSurface.h:23
MapSurface(std::shared_ptr< const OperatorParameters > params)
std::shared_ptr< Map1Dto3D > mapTarget
Definition MapSurface.h:63
std::shared_ptr< AMP::LinearAlgebra::Variable > gapVariable
Definition MapSurface.h:52
virtual void apply(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
std::shared_ptr< AMP::LinearAlgebra::Vector > gap1DVec
Definition MapSurface.h:51
std::shared_ptr< Map3Dto1D > mapMaster
Definition MapSurface.h:61
AMP::LinearAlgebra::Vector::const_shared_ptr inpVec
Definition MapSurface.h:57
std::shared_ptr< AMP::LinearAlgebra::Variable > d_inpVariable
Definition MapSurface.h:54
std::shared_ptr< AMP::LinearAlgebra::Variable > d_outVariable
Definition MapSurface.h:55
std::shared_ptr< MapOperatorParameters > mapMasterParams
Definition MapSurface.h:62
std::shared_ptr< AMP::LinearAlgebra::Variable > getOutputVariable() const override
Return the output variable.
Definition MapSurface.h:39
std::shared_ptr< AMP::LinearAlgebra::Variable > getInputVariable() const override
Return the input variable.
Definition MapSurface.h:34
std::shared_ptr< AMP::LinearAlgebra::Vector > getBoundaryVector(const AMP::LinearAlgebra::Vector::shared_ptr &u)
Definition MapSurface.h:29
void setVector(AMP::LinearAlgebra::Vector::shared_ptr scratchVec)
Definition MapSurface.h:44
std::shared_ptr< MapOperatorParameters > mapTargetParams
Definition MapSurface.h:64
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