1 #ifndef __MAXIMUM_PRINCIPLE_LIMITER__     2 #define __MAXIMUM_PRINCIPLE_LIMITER__     4 #include "bound_preserving_limiter.h"    13 template<
int dim, 
int nstate, 
typename real>
    30     std::shared_ptr<BoundPreservingLimiter<dim, real>> 
tvbLimiter;
    35         const dealii::LinearAlgebra::distributed::Vector<double>&       solution,
    36         const dealii::DoFHandler<dim>&                                  dof_handler,
    37         const dealii::hp::FECollection<dim>&                            fe_collection);
    45         dealii::LinearAlgebra::distributed::Vector<double>&      solution,
    46         const std::array<std::vector<real>, 
nstate>&             soln_coeff,
    47         const unsigned int                                       n_shape_fns,
    48         const std::vector<dealii::types::global_dof_index>&      current_dofs_indices);
    54         dealii::LinearAlgebra::distributed::Vector<double>&     solution,
    55         const dealii::DoFHandler<dim>&                          dof_handler,
    56         const dealii::hp::FECollection<dim>&                    fe_collection,
    57         const dealii::hp::QCollection<dim>&                     volume_quadrature_collection,
    58         const unsigned int                                      grid_degree,
    59         const unsigned int                                      max_degree,
    60         const dealii::hp::FECollection<1>                       oneD_fe_collection_1state,
    61         const dealii::hp::QCollection<1>                        oneD_quadrature_collection,
 std::vector< real > global_max
Maximum of initial solution for each state in domain. 
~MaximumPrincipleLimiter()=default
Destructor. 
Base Class for bound preserving limiters templated on state. 
Class for implementation of Maximum-Principle-Satisfying limiter derived from BoundPreservingLimiterS...
const int nstate
Number of states. 
Files for the baseline physics. 
Main parameter class that contains the various other sub-parameter classes. 
MaximumPrincipleLimiter(const Parameters::AllParameters *const parameters_input)
Constructor. 
std::vector< real > global_min
Minimum of initial solution for each state in domain. 
void get_global_max_and_min_of_solution(const dealii::LinearAlgebra::distributed::Vector< double > &solution, const dealii::DoFHandler< dim > &dof_handler, const dealii::hp::FECollection< dim > &fe_collection)
Function to obtain the maximum and minimum of the initial solution for each state. 
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, double dt) override
void write_limited_solution(dealii::LinearAlgebra::distributed::Vector< double > &solution, const std::array< std::vector< real >, nstate > &soln_coeff, const unsigned int n_shape_fns, const std::vector< dealii::types::global_dof_index > ¤t_dofs_indices)
std::shared_ptr< BoundPreservingLimiter< dim, real > > tvbLimiter
Pointer to TVB limiter class (TVB limiter can be applied in conjunction with this limiter) ...