Advanced Multi-Physics (AMP)
On-Line Documentation
LinearTimeOperator.h
Go to the documentation of this file.
1#ifndef included_AMP_LinearTimeOperator
2#define included_AMP_LinearTimeOperator
3
4#include "AMP/operators/LinearOperator.h"
5#include "AMP/operators/OperatorParameters.h"
6#include "AMP/utils/Utilities.h"
7#include "AMP/vectors/Vector.h"
8#include <memory>
9
10
11namespace AMP::TimeIntegrator {
12
25{
26public:
27 explicit LinearTimeOperator( std::shared_ptr<const AMP::Operator::OperatorParameters> params );
29
35 void reset( std::shared_ptr<const AMP::Operator::OperatorParameters> params ) override;
36
37 void registerRhsOperator( std::shared_ptr<AMP::Operator::LinearOperator> op )
38 {
40 }
41 void registerMassOperator( std::shared_ptr<AMP::Operator::LinearOperator> op )
42 {
44 }
45
46 std::shared_ptr<Operator> getRhsOperator( void ) { return d_pRhsOperator; }
47 std::shared_ptr<Operator> getMassOperator( void ) { return d_pMassOperator; }
48
49 void setDt( double dt ) { d_dCurrentDt = dt; }
50
51 // added by JL
53
54 // added by JL //correction by RS
55 std::shared_ptr<AMP::LinearAlgebra::Variable> getInputVariable() const override
56 {
57 return d_pRhsOperator->getInputVariable();
58 }
59
63 std::shared_ptr<AMP::LinearAlgebra::Variable> getOutputVariable() const override
64 {
65 return d_pRhsOperator->getOutputVariable();
66 }
67 // JL
69
70 std::shared_ptr<AMP::Operator::OperatorParameters>
71 getParameters( const std::string &type,
73 std::shared_ptr<AMP::Operator::OperatorParameters> params = nullptr ) override;
74
75protected:
77
78 void getFromInput( std::shared_ptr<AMP::Database> db );
79
81
86
89
90 std::shared_ptr<AMP::Operator::LinearOperator> d_pRhsOperator;
91
92 std::shared_ptr<AMP::Operator::LinearOperator> d_pMassOperator;
93
94 std::shared_ptr<AMP::LinearAlgebra::Vector> d_pScratchVector;
95
97 double d_beta;
98
99private:
100};
101} // namespace AMP::TimeIntegrator
102
103#endif
std::shared_ptr< const Vector > const_shared_ptr
Definition Vector.h:65
std::string type() const override
Return the name of the operator.
std::shared_ptr< AMP::Operator::Operator > shared_ptr
Definition Operator.h:29
base class for operator class associated with ImplicitTimeIntegrator
std::shared_ptr< AMP::Operator::OperatorParameters > getParameters(const std::string &type, AMP::LinearAlgebra::Vector::const_shared_ptr u, std::shared_ptr< AMP::Operator::OperatorParameters > params=nullptr) override
std::shared_ptr< AMP::LinearAlgebra::Vector > d_pScratchVector
std::shared_ptr< AMP::LinearAlgebra::Variable > getInputVariable() const override
Return the input variable.
std::shared_ptr< Operator > getMassOperator(void)
void getFromInput(std::shared_ptr< AMP::Database > db)
std::shared_ptr< AMP::Operator::LinearOperator > d_pRhsOperator
void reset(std::shared_ptr< const AMP::Operator::OperatorParameters > params) override
std::shared_ptr< Operator > getRhsOperator(void)
LinearTimeOperator(std::shared_ptr< const AMP::Operator::OperatorParameters > params)
std::shared_ptr< AMP::LinearAlgebra::Variable > getOutputVariable() const override
void registerMassOperator(std::shared_ptr< AMP::Operator::LinearOperator > op)
void registerRhsOperator(std::shared_ptr< AMP::Operator::LinearOperator > op)
std::shared_ptr< AMP::Operator::LinearOperator > d_pMassOperator
void setScalingFactor(double scalingFactor)



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