12#include <prismspf/config.h>
16template <
unsigned int dim,
unsigned int degree,
typename number>
22template <
unsigned int dim,
unsigned int degree,
typename number>
35 :
SolverBase<dim, degree, number>(_solve_block, _solve_context)
39 init(
const std::list<DependencyMap> &all_dependeny_sets)
override
42 unsigned int num_levels =
solve_context->get_dof_manager().get_dof_handlers().size();
45 for (
unsigned int relative_level = 0; relative_level < num_levels; ++relative_level)
72 solutions.zero_out_ghosts(relative_level);
76 solutions.get_solution_full_vector(relative_level));
79 solutions.apply_constraints(relative_level);
94PRISMS_PF_END_NAMESPACE
ExplicitSolver(SolveBlock _solve_block, const SolveContext< dim, degree, number > &_solve_context)
Constructor.
Definition explicit_solver.h:33
std::vector< MFOperator< dim, degree, number > > rhs_operators
Matrix free operators for each level.
Definition explicit_solver.h:91
void init(const std::list< DependencyMap > &all_dependeny_sets) override
Initialize the solver.
Definition explicit_solver.h:39
void solve_level(unsigned int relative_level) override
Solve for a single update step.
Definition explicit_solver.h:68
virtual void compute_rhs(FieldContainer< dim, degree, number > &variable_list, const SimulationTimer &sim_timer, unsigned int solver_id) const
User-implemented class for the RHS of explicit equations.
Definition pde_operator_base.h:76
Structure to hold the attributes of a solve-block.
Definition solve_block.h:56
This class provides context for a solver with ptrs to all the relevant dependencies.
Definition solve_context.h:36
SolverBase(SolveBlock _solve_block, const SolveContext< dim, degree, number > &_solve_context)
Constructor.
Definition solver_base.h:37
virtual void init(const std::list< DependencyMap > &all_dependeny_sets)
Initialize the solver.
Definition solver_base.h:83
GroupSolutionHandler< dim, number > solutions
Solution vectors for fields handled by this solver.
Definition solver_base.h:274
const SolveContext< dim, degree, number > * solve_context
Solver context provides access to external information.
Definition solver_base.h:269
SolveBlock solve_block
Information about the solve block this handler is responsible for.
Definition solver_base.h:264
static void start_section(const char *name)
Start a new timer section.
Definition timer.cc:116
static void end_section(const char *name)
End the timer section.
Definition timer.cc:127
Definition conditional_ostreams.cc:20