37template<
typename VectorType>
57 fvSchemes.subDict(
"ddtSchemes"), fvSchemes
59 timeIntegrator.
solve(exp, solution, t, dt);
64 using ValueType =
typename VectorType::ElementType;
75 auto [vol, expSource, rhs] =
spans(solution.mesh().cellVolumes(), expTmp, ls.rhs());
81 KOKKOS_LAMBDA(
const localIdx i) { rhs[i] -= expSource[i] * vol[i]; }
85 solver.solve(ls, solution.internalVector());
A class representing a dictionary that stores key-value pairs.
const std::vector< TemporalOperator< ValueType > > & temporalOperators() const
void implicitOperation(la::LinearSystem< ValueType, localIdx > &ls)
Vector< ValueType > explicitOperation(localIdx nCells) const
const std::vector< SpatialOperator< ValueType > > & spatialOperators() const
void build(const Dictionary &input)
void solve(Expression &eqn, SolutionVectorType &sol, scalar t, scalar dt)
#define NF_ERROR_EXIT(message)
Macro for printing an error message and aborting the program.
void solve(Expression< typename VectorType::ElementType > &exp, VectorType &solution, scalar t, scalar dt, const Dictionary &fvSchemes, const Dictionary &fvSolution)
LinearSystem< ValueType, IndexType > createEmptyLinearSystem(const SparsityType &sparsity)
void parallelFor(const Executor &exec, std::pair< localIdx, localIdx > range, Kernel kernel, std::string name="parallelFor")
auto spans(Args &... fields)