1#ifndef included_AMP_IDATimeOperator
2#define included_AMP_IDATimeOperator
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"
37 explicit IDATimeOperator( std::shared_ptr<AMP::Operator::OperatorParameters> params );
45 std::string
type()
const override {
return "IDATimeOperator"; }
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;
61 std::shared_ptr<AMP::Operator::OperatorParameters>
64 std::shared_ptr<AMP::Operator::OperatorParameters> params =
nullptr )
override;
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr
std::shared_ptr< AMP::Operator::Operator > shared_ptr
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)
virtual ~IDATimeOperator()
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