1#ifndef included_AMP_NeutronicsRhs
2#define included_AMP_NeutronicsRhs
4#include "AMP/operators/Operator.h"
5#include "AMP/operators/OperatorParameters.h"
6#include "AMP/utils/Database.h"
7#include "AMP/vectors/Variable.h"
29 explicit NeutronicsRhs( std::shared_ptr<OperatorParameters> parameters );
37 std::string
type()
const override {
return "NeutronicsRhs"; }
62 void reset( std::shared_ptr<const OperatorParameters> parameters )
override;
85 std::shared_ptr<AMP::Database>
d_db;
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr
A class for representing the neutronics source operator.
std::shared_ptr< AMP::LinearAlgebra::Variable > d_outputVariable
double d_timeStepInSeconds
void setOutputVariableName(const std::string &name, int varId=-1)
void reset(std::shared_ptr< const OperatorParameters > parameters) override
std::shared_ptr< AMP::LinearAlgebra::Variable > getOutputVariable() const override
Return the output variable.
void putToDatabase(std::shared_ptr< AMP::Database > db)
SourceType
Neutronics Input Types.
std::vector< double > d_fixedValues
std::vector< double > d_timeStepsInDays
std::vector< std::vector< double > > d_values
NeutronicsRhs(std::shared_ptr< OperatorParameters > parameters)
void setTimeStep(int tStep)
std::shared_ptr< AMP::Database > d_db
SourceType str2id(const std::string &str)
std::string type() const override
Return the name of the operator.
void printClassData(std::ostream &os) const
void setTimeInSeconds(double seconds)
void apply(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
void getFromInput(std::shared_ptr< AMP::Database > db)
void setTimeInDays(double days)
std::shared_ptr< AMP::Operator::Operator > shared_ptr