1 #ifndef __BOUND_PRESERVING_LIMITER__ 2 #define __BOUND_PRESERVING_LIMITER__ 4 #include <deal.II/dofs/dof_handler.h> 5 #include <deal.II/base/parameter_handler.h> 7 #include "parameters/all_parameters.h" 8 #include "operators/operators.h" 9 #include "physics/euler.h" 22 template<
int dim,
typename real>
28 const int nstate_input,
42 dealii::LinearAlgebra::distributed::Vector<double>& solution,
43 const dealii::DoFHandler<dim>& dof_handler,
44 const dealii::hp::FECollection<dim>& fe_collection,
45 const dealii::hp::QCollection<dim>& volume_quadrature_collection,
46 const unsigned int grid_degree,
47 const unsigned int max_degree,
48 const dealii::hp::FECollection<1> oneD_fe_collection_1state,
49 const dealii::hp::QCollection<1> oneD_quadrature_collection) = 0;
53 template<
int dim,
int nstate,
typename real>
69 dealii::LinearAlgebra::distributed::Vector<double>& solution,
70 const dealii::DoFHandler<dim>& dof_handler,
71 const dealii::hp::FECollection<dim>& fe_collection,
72 const dealii::hp::QCollection<dim>& volume_quadrature_collection,
73 const unsigned int grid_degree,
74 const unsigned int max_degree,
75 const dealii::hp::FECollection<1> oneD_fe_collection_1state,
76 const dealii::hp::QCollection<1> oneD_quadrature_collection) = 0;
79 std::array<real, nstate> get_soln_cell_avg(
80 const std::array<std::vector<real>,
nstate>& soln_at_q,
81 const unsigned int n_quad_pts,
82 const std::vector<real>& quad_weights);
~BoundPreservingLimiter()=default
Destructor.
Base Class for bound preserving limiters templated on state.
const int nstate
Number of states.
Files for the baseline physics.
BoundPreservingLimiter(const int nstate_input, const Parameters::AllParameters *const parameters_input)
Constructor.
Main parameter class that contains the various other sub-parameter classes.
Base Class for implementation of bound preserving limiters.
virtual void limit(dealii::LinearAlgebra::distributed::Vector< double > &solution, const dealii::DoFHandler< dim > &dof_handler, const dealii::hp::FECollection< dim > &fe_collection, const dealii::hp::QCollection< dim > &volume_quadrature_collection, const unsigned int grid_degree, const unsigned int max_degree, const dealii::hp::FECollection< 1 > oneD_fe_collection_1state, const dealii::hp::QCollection< 1 > oneD_quadrature_collection)=0
Function to limit the solution.
const Parameters::AllParameters *const all_parameters
Pointer to parameters object.