[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
PHiLiP::Tests::ConvectionDiffusionPeriodic< dim, nstate > Class Template Reference

Convection Diffusion periodic unsteady test (currently only diffusion) More...

#include <convection_diffusion_explicit_periodic.h>

Inheritance diagram for PHiLiP::Tests::ConvectionDiffusionPeriodic< dim, nstate >:
Collaboration diagram for PHiLiP::Tests::ConvectionDiffusionPeriodic< dim, nstate >:

Public Member Functions

 ConvectionDiffusionPeriodic (const Parameters::AllParameters *const parameters_input)
 Constructor.
 
int run_test () const override
 Run test.
 
- Public Member Functions inherited from PHiLiP::Tests::TestsBase
 TestsBase ()=delete
 Constructor. Deleted the default constructor since it should not be used.
 
 TestsBase (const Parameters::AllParameters *const parameters_input)
 Constructor. More...
 
virtual ~TestsBase ()=default
 Destructor.
 

Private Member Functions

double compute_energy_derivative_norm (std::shared_ptr< PHiLiP::DGBase< dim, double > > &dg) const
 Function computes the energy bound. More...
 
double compute_conservation (std::shared_ptr< PHiLiP::DGBase< dim, double > > &dg, const double poly_degree) const
 Function computes the conservation.
 

Additional Inherited Members

- Public Attributes inherited from PHiLiP::Tests::TestsBase
const Parameters::AllParameters *const all_parameters
 Pointer to all parameters.
 
- Protected Member Functions inherited from PHiLiP::Tests::TestsBase
std::vector< int > get_number_1d_cells (const int ngrids) const
 Evaluates the number of cells to generate the grids for 1D grid based on input file. More...
 
std::string get_pde_string (const Parameters::AllParameters *const param) const
 Returns a string describing which PDE is being used.
 
std::string get_conv_num_flux_string (const Parameters::AllParameters *const param) const
 Returns a string describing which convective numerical flux is being used.
 
std::string get_diss_num_flux_string (const Parameters::AllParameters *const param) const
 Returns a string describing which dissipative numerical flux is being used.
 
std::string get_manufactured_solution_string (const Parameters::AllParameters *const param) const
 Returns a string describing which manufactured solution is being used.
 
- Protected Attributes inherited from PHiLiP::Tests::TestsBase
const MPI_Comm mpi_communicator
 MPI communicator.
 
const int mpi_rank
 MPI rank.
 
const int n_mpi
 
dealii::ConditionalOStream pcout
 ConditionalOStream. More...
 

Detailed Description

template<int dim, int nstate>
class PHiLiP::Tests::ConvectionDiffusionPeriodic< dim, nstate >

Convection Diffusion periodic unsteady test (currently only diffusion)

Definition at line 13 of file convection_diffusion_explicit_periodic.h.

Member Function Documentation

◆ compute_energy_derivative_norm()

template<int dim, int nstate>
double PHiLiP::Tests::ConvectionDiffusionPeriodic< dim, nstate >::compute_energy_derivative_norm ( std::shared_ptr< PHiLiP::DGBase< dim, double > > &  dg) const
private

Function computes the energy bound.

Note that for convection-diffusion, we have a proof on the norm of the time rate of change of the energy with respect to the norm of the auxiliary variable. Explicitly, \( \frac{1}{2}\frac{d}{dt}\| U\|^2 + b\|Q\|^2 \leq 0\). The energy dissipation is related to the auxiliary variable. Thus, for a central flux, we can prove the above is equal to 0 within machine precision. This is not the same as the energy being conserved.

Definition at line 37 of file convection_diffusion_explicit_periodic.cpp.


The documentation for this class was generated from the following files: