4#ifndef explicit_constant_solver_h
5#define explicit_constant_solver_h
7#include <prismspf/config.h>
8#include <prismspf/core/constraint_handler.h>
9#include <prismspf/core/dof_handler.h>
10#include <prismspf/core/invm_handler.h>
11#include <prismspf/core/matrix_free_handler.h>
12#include <prismspf/core/solution_handler.h>
13#include <prismspf/core/type_enums.h>
14#include <prismspf/solvers/explicit_base.h>
15#include <prismspf/user_inputs/user_input_parameters.h>
17#ifdef PRISMS_PF_WITH_CALIPER
18# include <caliper/cali.h>
21PRISMS_PF_BEGIN_NAMESPACE
26template <
int dim,
int degree>
38 const dealii::MappingQ1<dim> &_mapping,
59template <
int dim,
int degree>
66 const dealii::MappingQ1<dim> &_mapping,
77template <
int dim,
int degree>
81 this->compute_subset_attributes(fieldSolveType::EXPLICIT_CONSTANT);
84 if (this->subset_attributes.empty())
89 this->set_initial_condition();
92template <
int dim,
int degree>
97PRISMS_PF_END_NAMESPACE
The class handles the generation and application of boundary conditions based on the user-inputs.
Definition constraint_handler.h:25
Class that manages the deal.II DoFHandlers.
Definition dof_handler.h:25
Base class for explicit solves.
Definition explicit_base.h:34
This class handles the explicit solves of all constant fields.
Definition explicit_constant_solver.h:28
void solve() override
Solve a single update step.
Definition explicit_constant_solver.h:94
explicitConstantSolver(const userInputParameters< dim > &_user_inputs, const matrixfreeHandler< dim > &_matrix_free_handler, const invmHandler< dim, degree > &_invm_handler, const constraintHandler< dim > &_constraint_handler, const dofHandler< dim > &_dof_handler, const dealii::MappingQ1< dim > &_mapping, solutionHandler< dim > &_solution_handler)
Constructor.
Definition explicit_constant_solver.h:60
~explicitConstantSolver()=default
Destructor.
void init() override
Initialize system.
Definition explicit_constant_solver.h:79
This class handles the computation and access of the inverted mass matrix for explicit solves.
Definition invm_handler.h:25
This class handlers the management and access of the matrix-free objects.
Definition matrix_free_handler.h:25
Class that manages solution initialization and swapping with old solutions.
Definition solution_handler.h:22