23 : exec_(
exec), temporalOperators_(), implicitOperators_(), explicitOperators_()
27 : exec_(exp.exec_), temporalOperators_(exp.temporalOperators_),
28 implicitOperators_(exp.implicitOperators_), explicitOperators_(exp.explicitOperators_)
33 for (
auto& op : temporalOperators_)
37 for (
auto& op : implicitOperators_)
41 for (
auto& op : explicitOperators_)
57 for (
auto& oper : explicitOperators_)
59 oper.explicitOperation(source);
69 temporalOperators_.push_back(oper);
72 implicitOperators_.push_back(oper);
75 explicitOperators_.push_back(oper);
82 for (
auto& oper : equation.temporalOperators_)
84 temporalOperators_.push_back(oper);
86 for (
auto& oper : equation.implicitOperators_)
88 implicitOperators_.push_back(oper);
90 for (
auto& oper : equation.explicitOperators_)
92 explicitOperators_.push_back(oper);
100 return temporalOperators_.size() + implicitOperators_.size() + explicitOperators_.size();
122 std::vector<Operator> temporalOperators_;
124 std::vector<Operator> implicitOperators_;
126 std::vector<Operator> explicitOperators_;
A class representing a dictionary that stores key-value pairs.
A class to contain the data and executors for a field and define some basic operations.
A class that represents a coefficient for the NeoFOAM dsl.
void addOperator(const Operator &oper)
const std::vector< Operator > & temporalOperators() const
const std::vector< Operator > & implicitOperators() const
Field< scalar > explicitOperation(size_t nCells)
std::vector< Operator > & implicitOperators()
const Executor & exec() const
std::vector< Operator > & explicitOperators()
Expression(const Expression &exp)
const std::vector< Operator > & explicitOperators() const
Field< scalar > explicitOperation(Field< scalar > &source)
std::vector< Operator > & temporalOperators()
void build(const NeoFOAM::Dictionary &input)
Expression(const Executor &exec)
void addExpression(const Expression &equation)
Operator::Type getType() const
const Executor & exec() const
Expression operator+(Expression lhs, const Expression &rhs)
Expression operator-(Expression lhs, const Expression &rhs)
Coeff operator*(const Coeff &lhs, const Coeff &rhs)
std::variant< SerialExecutor, CPUExecutor, GPUExecutor > Executor