Advanced Multi-Physics (AMP)
On-Line Documentation
IDATimeOperator.h
Go to the documentation of this file.
1#ifndef included_AMP_IDATimeOperator
2#define included_AMP_IDATimeOperator
3
4
5#include "AMP/operators/Operator.h"
6#include "AMP/operators/OperatorBuilder.h"
7#include "AMP/operators/OperatorParameters.h"
8#include "AMP/time_integrators/TimeOperator.h"
9#include "AMP/time_integrators/TimeOperatorParameters.h"
10#include "AMP/utils/Database.h"
11#include "AMP/utils/Utilities.h"
12#include "AMP/vectors/Vector.h"
13#include <memory>
14
15
16namespace AMP::TimeIntegrator {
17
19
31{
32public:
37 explicit IDATimeOperator( std::shared_ptr<AMP::Operator::OperatorParameters> params );
38
43
45 std::string type() const override { return "IDATimeOperator"; }
46
47 // virtual void reset( std::shared_ptr<const AMP::Operator::OperatorParameters> params);
48
56
57 void residual( std::shared_ptr<const AMP::LinearAlgebra::Vector> f,
58 std::shared_ptr<const AMP::LinearAlgebra::Vector> u,
59 std::shared_ptr<AMP::LinearAlgebra::Vector> r ) override;
60
61 std::shared_ptr<AMP::Operator::OperatorParameters>
62 getParameters( const std::string &type,
64 std::shared_ptr<AMP::Operator::OperatorParameters> params = nullptr ) override;
69 void registerIDATimeDerivative( std::shared_ptr<AMP::LinearAlgebra::Vector> vec )
70 {
72 }
73
78 void registerSourceTerm( std::shared_ptr<AMP::LinearAlgebra::Vector> vec )
79 {
80 d_pSourceTerm = vec;
81 }
82
88
89protected:
91
92 std::shared_ptr<AMP::LinearAlgebra::Vector> d_pIDATimeDerivative;
93
95
96 // JL
97 // The test we want to run has a source term which depends on time
98 // The time comes from TimeIntegrator
100
101private:
102};
103} // namespace AMP::TimeIntegrator
104
105#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::shared_ptr< AMP::Operator::Operator > shared_ptr
Definition Operator.h:29
operator class associated with IDATimeIntegrator
void residual(std::shared_ptr< const AMP::LinearAlgebra::Vector > f, std::shared_ptr< const AMP::LinearAlgebra::Vector > u, std::shared_ptr< AMP::LinearAlgebra::Vector > r) override
std::string type() const override
Return the name of the operator.
IDATimeOperator(std::shared_ptr< AMP::Operator::OperatorParameters > params)
void registerIDATimeDerivative(std::shared_ptr< AMP::LinearAlgebra::Vector > vec)
void registerCurrentTime(double currentTime)
void registerSourceTerm(std::shared_ptr< AMP::LinearAlgebra::Vector > vec)
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_pIDATimeDerivative
void apply(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
base class for operator class associated with ImplicitTimeIntegrator
std::shared_ptr< AMP::LinearAlgebra::Vector > d_pSourceTerm
TimeOperatorParameters IDATimeOperatorParameters



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