6#include <deal.II/base/exceptions.h>
20#include <prismspf/config.h>
32template <
unsigned int dim,
unsigned int degree,
typename number>
60 [[nodiscard]]
const std::vector<FieldAttributes> &
72 Assert(
user_inputs !=
nullptr, dealii::ExcNotInitialized());
102 Assert(
dof_manager !=
nullptr, dealii::ExcNotInitialized());
112 Assert(
dof_manager !=
nullptr, dealii::ExcNotInitialized());
206 Assert(
pde_operator !=
nullptr, dealii::ExcNotInitialized());
216 Assert(
pde_operator !=
nullptr, dealii::ExcNotInitialized());
272PRISMS_PF_END_NAMESPACE
The class handles the generation and application of boundary conditions based on the user-inputs.
Definition constraint_manager.h:51
Class that manages the deal.II DoFHandlers.
Definition dof_manager.h:25
A little class that computes the element volume for our triangulation.
Definition invm_manager.h:22
Containers for matrix free objects.
Definition matrix_free_manager.h:45
This class contains the user implementation of each PDE operator.
Definition pde_operator_base.h:27
Definition simulation_timer.h:13
Class that provides access to solution vectors spread across different blocks.
Definition solution_indexer.h:20
PDEOperatorBase< dim, degree, number > * pde_operator
PDE operator.
Definition solve_context.h:269
DoFManager< dim, degree > & get_dof_manager()
Get the dof manager.
Definition solve_context.h:110
ConstraintManager< dim, degree, number > & get_constraint_manager()
Get the constraint manager.
Definition solve_context.h:130
const DoFManager< dim, degree > & get_dof_manager() const
Get the dof manager.
Definition solve_context.h:100
const std::vector< FieldAttributes > & get_field_attributes() const
Get the field attributes.
Definition solve_context.h:61
SimulationTimer sim_timer
Simulation timer.
Definition solve_context.h:264
SimulationTimer & get_simulation_timer()
Get the simulation timer.
Definition solve_context.h:195
SolutionIndexer< dim, number > & get_solution_indexer() const
Get the solution manager.
Definition solve_context.h:158
const UserInputParameters< dim > * user_inputs
User-inputs.
Definition solve_context.h:229
PDEOperatorBase< dim, degree, number > & get_pde_operator()
Get a shared pointer to the pde operator.
Definition solve_context.h:214
const ConstraintManager< dim, degree, number > & get_constraint_manager() const
Get the constraint manager.
Definition solve_context.h:120
TriangulationManager< dim > & get_triangulation_manager()
Get the triangulation manager.
Definition solve_context.h:90
const UserInputParameters< dim > & get_user_inputs() const
Get the user-inputs.
Definition solve_context.h:70
const PDEOperatorBase< dim, degree, number > & get_pde_operator() const
Get a shared pointer to the pde operator.
Definition solve_context.h:204
TriangulationManager< dim > * triangulation_manager
Triangulation manager.
Definition solve_context.h:234
const SimulationTimer & get_simulation_timer() const
Get the simulation timer.
Definition solve_context.h:186
SolveContext(std::vector< FieldAttributes > _field_attributes, const UserInputParameters< dim > &_user_inputs, TriangulationManager< dim > &_triangulation_manager, DoFManager< dim, degree > &_dof_manager, ConstraintManager< dim, degree, number > &_constraint_manager, SolutionIndexer< dim, number > &_solution_indexer, PDEOperatorBase< dim, degree, number > &_pde_operator)
Constructor.
Definition solve_context.h:39
SolutionIndexer< dim, number > * solution_indexer
Solution manager.
Definition solve_context.h:254
const InvMManager< dim, degree, number > & get_invm_manager() const
Get the invm manager.
Definition solve_context.h:168
std::vector< FieldAttributes > field_attributes
Field attributes.
Definition solve_context.h:224
InvMManager< dim, degree, number > invm_manager
Solution manager.
Definition solve_context.h:259
ConstraintManager< dim, degree, number > * constraint_manager
Constraint manager.
Definition solve_context.h:244
DoFManager< dim, degree > * dof_manager
DoF manager.
Definition solve_context.h:239
MatrixFreeManager< dim, number > & get_matrix_free_manager()
Get the MatrixFree manager.
Definition solve_context.h:149
const TriangulationManager< dim > & get_triangulation_manager() const
Get the triangulation manager.
Definition solve_context.h:80
MatrixFreeManager< dim, number > matrix_free_manager
MatrixFree object shared for all the fields.
Definition solve_context.h:249
const MatrixFreeManager< dim, number > & get_matrix_free_manager() const
Get the MatrixFree manager.
Definition solve_context.h:140
InvMManager< dim, degree, number > & get_invm_manager()
Get the invm manager.
Definition solve_context.h:177
This class handlers the generation and manipulation of triangulations.
Definition triangulation_manager.h:24
Definition conditional_ostreams.cc:20
Definition vectorized_operations.h:17