6#include <deal.II/base/exceptions.h>
20#include <prismspf/config.h>
32template <
unsigned int dim,
unsigned int degree,
typename number>
63 [[nodiscard]]
const std::vector<FieldAttributes> &
75 Assert(
user_inputs !=
nullptr, dealii::ExcNotInitialized());
105 Assert(
dof_manager !=
nullptr, dealii::ExcNotInitialized());
115 Assert(
dof_manager !=
nullptr, dealii::ExcNotInitialized());
209 Assert(
pde_operator !=
nullptr, dealii::ExcNotInitialized());
219 Assert(
pde_operator !=
nullptr, dealii::ExcNotInitialized());
275PRISMS_PF_END_NAMESPACE
The class handles the generation and application of boundary conditions based on the user-inputs.
Definition constraint_manager.h:50
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:28
Containers for matrix free objects.
Definition matrix_free_manager.h:28
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 groups.
Definition solution_indexer.h:20
PDEOperatorBase< dim, degree, number > * pde_operator
PDE operator.
Definition solve_context.h:272
DoFManager< dim, degree > & get_dof_manager()
Get the dof manager.
Definition solve_context.h:113
ConstraintManager< dim, degree, number > & get_constraint_manager()
Get the constraint manager.
Definition solve_context.h:133
const DoFManager< dim, degree > & get_dof_manager() const
Get the dof manager.
Definition solve_context.h:103
const std::vector< FieldAttributes > & get_field_attributes() const
Get the field attributes.
Definition solve_context.h:64
SimulationTimer sim_timer
Simulation timer.
Definition solve_context.h:267
SimulationTimer & get_simulation_timer()
Get the simulation timer.
Definition solve_context.h:198
SolutionIndexer< dim, number > & get_solution_indexer() const
Get the solution manager.
Definition solve_context.h:161
const UserInputParameters< dim > * user_inputs
User-inputs.
Definition solve_context.h:232
PDEOperatorBase< dim, degree, number > & get_pde_operator()
Get a shared pointer to the pde operator.
Definition solve_context.h:217
const ConstraintManager< dim, degree, number > & get_constraint_manager() const
Get the constraint manager.
Definition solve_context.h:123
TriangulationManager< dim > & get_triangulation_manager()
Get the triangulation manager.
Definition solve_context.h:93
const UserInputParameters< dim > & get_user_inputs() const
Get the user-inputs.
Definition solve_context.h:73
const PDEOperatorBase< dim, degree, number > & get_pde_operator() const
Get a shared pointer to the pde operator.
Definition solve_context.h:207
TriangulationManager< dim > * triangulation_manager
Triangulation manager.
Definition solve_context.h:237
const SimulationTimer & get_simulation_timer() const
Get the simulation timer.
Definition solve_context.h:189
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:257
const InvMManager< dim, degree, number > & get_invm_manager() const
Get the invm manager.
Definition solve_context.h:171
std::vector< FieldAttributes > field_attributes
Field attributes.
Definition solve_context.h:227
InvMManager< dim, degree, number > invm_manager
Solution manager.
Definition solve_context.h:262
ConstraintManager< dim, degree, number > * constraint_manager
Constraint manager.
Definition solve_context.h:247
DoFManager< dim, degree > * dof_manager
DoF manager.
Definition solve_context.h:242
MatrixFreeManager< dim, number > & get_matrix_free_manager()
Get the MatrixFree manager.
Definition solve_context.h:152
const TriangulationManager< dim > & get_triangulation_manager() const
Get the triangulation manager.
Definition solve_context.h:83
MatrixFreeManager< dim, number > matrix_free_manager
MatrixFree object shared for all the fields.
Definition solve_context.h:252
const MatrixFreeManager< dim, number > & get_matrix_free_manager() const
Get the MatrixFree manager.
Definition solve_context.h:143
InvMManager< dim, degree, number > & get_invm_manager()
Get the invm manager.
Definition solve_context.h:180
This class handlers the generation and manipulation of triangulations.
Definition triangulation_manager.h:26
Definition conditional_ostreams.cc:20
Definition vectorized_operations.h:17