Advanced Multi-Physics (AMP)
On-Line Documentation
CoupledFlowFrapconOperator.h
Go to the documentation of this file.
1#ifndef included_AMP_CoupledFlowFrapconOperator
2#define included_AMP_CoupledFlowFrapconOperator
3
4#include "AMP/operators/ColumnOperator.h"
5#include "AMP/operators/map/libmesh/Map1Dto3D.h"
6#include "AMP/operators/map/libmesh/Map3Dto1D.h"
7#include "AMP/operators/subchannel/CoupledFlowFrapconOperatorParameters.h"
8#include "AMP/operators/subchannel/FlowFrapconOperator.h"
9#include "AMP/vectors/Vector.h"
10
11#include <vector>
12
13namespace AMP::Operator {
14
16{
17public:
18 explicit CoupledFlowFrapconOperator( std::shared_ptr<const OperatorParameters> params );
19
20 void reset( std::shared_ptr<const OperatorParameters> params ) override
21 {
22 AMP_ASSERT( params );
23 d_operators[2]->reset( params );
24 }
25
26 std::shared_ptr<AMP::LinearAlgebra::Variable> getInputVariable() const override
27 {
28 return d_operators[4]->getOutputVariable();
29 }
30
31 std::shared_ptr<AMP::LinearAlgebra::Variable> getOutputVariable() const override
32 {
33 return d_operators[4]->getOutputVariable();
34 }
35
38
39 void append( std::shared_ptr<Operator> op ) override
40 {
41 AMP_ASSERT( d_operators.size() < 3 );
42 AMP_ASSERT( op.get() != NULL );
43 d_operators.push_back( op );
44 }
45
46 std::shared_ptr<OperatorParameters>
47 getParameters( const std::string &type,
49 std::shared_ptr<OperatorParameters> params = NULL ) override
50 {
51 return ( d_operators[2]->getParameters( type, u, params ) );
52 }
53
55
56 std::string type() const override { return "CoupledFlowFrapconOperator"; }
57
58protected:
59private:
60 std::shared_ptr<AMP::LinearAlgebra::Variable> d_SimpleVariable;
64 std::vector<double> d_zPoints;
68
71};
72} // namespace AMP::Operator
73
74#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
std::vector< std::shared_ptr< Operator > > d_operators
std::shared_ptr< AMP::LinearAlgebra::Variable > d_SimpleVariable
void append(std::shared_ptr< Operator > op) override
AMP::LinearAlgebra::Vector::shared_ptr d_flowOutput
AMP::Operator::MapOperator::shared_ptr d_flowInternal1to3
CoupledFlowFrapconOperator(std::shared_ptr< const OperatorParameters > params)
std::shared_ptr< AMP::LinearAlgebra::Variable > getOutputVariable() const override
void apply(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
AMP::LinearAlgebra::Vector::shared_ptr d_flowInput
AMP::LinearAlgebra::Vector::shared_ptr d_localCladVec
std::shared_ptr< AMP::LinearAlgebra::Variable > getInputVariable() const override
Return the input variable.
void reset(std::shared_ptr< const OperatorParameters > params) override
AMP::Operator::MapOperator::shared_ptr d_flowInternal3to1
std::shared_ptr< OperatorParameters > getParameters(const std::string &type, AMP::LinearAlgebra::Vector::const_shared_ptr u, std::shared_ptr< OperatorParameters > params=NULL) override
std::string type() const override
Return the name of the operator.
std::shared_ptr< AMP::Operator::Operator > shared_ptr
Definition Operator.h:29
#define AMP_ASSERT(EXP)
Assert error.



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