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

Public Member Functions

 PeriodicEntropyTests (const Parameters::AllParameters *const parameters_input)
 Constructor.
 
double compute_entropy (const std::shared_ptr< DGBase< dim, double >> dg) const
 
double get_constant_time_step (std::shared_ptr< DGBase< dim, double >> dg) const override
 Function to compute the constant time step. More...
 
- Public Member Functions inherited from PHiLiP::FlowSolver::PeriodicCubeFlow< dim, nstate >
 PeriodicCubeFlow (const Parameters::AllParameters *const parameters_input)
 Constructor.
 
std::shared_ptr< Triangulation > generate_grid () const override
 Function to generate the grid.
 
- Public Member Functions inherited from PHiLiP::FlowSolver::CubeFlow_UniformGrid< dim, nstate >
 CubeFlow_UniformGrid (const Parameters::AllParameters *const parameters_input)
 
double get_adaptive_time_step (std::shared_ptr< DGBase< dim, double >> dg) const override
 Function to compute the adaptive time step.
 
double get_adaptive_time_step_initial (std::shared_ptr< DGBase< dim, double >> dg) override
 Function to compute the initial adaptive time step.
 
void update_maximum_local_wave_speed (DGBase< dim, double > &dg)
 Updates the maximum local wave speed.
 
- Public Member Functions inherited from PHiLiP::FlowSolver::FlowSolverCaseBase< dim, nstate >
 FlowSolverCaseBase (const Parameters::AllParameters *const parameters_input)
 Constructor.
 
virtual ~FlowSolverCaseBase ()=default
 Destructor.
 
void display_flow_solver_setup (std::shared_ptr< DGBase< dim, double >> dg) const
 Displays the flow setup parameters.
 
virtual void set_higher_order_grid (std::shared_ptr< DGBase< dim, double >> dg) const
 Set higher order grid.
 
virtual void compute_unsteady_data_and_write_to_table (const unsigned int current_iteration, const double current_time, const std::shared_ptr< DGBase< dim, double >> dg, const std::shared_ptr< dealii::TableHandler > unsteady_data_table)
 Virtual function to write unsteady snapshot data to table.
 
virtual void steady_state_postprocessing (std::shared_ptr< DGBase< dim, double >> dg) const
 Virtual function for postprocessing when solving for steady state.
 
void set_time_step (const double time_step_input)
 Setter for time step.
 

Protected Types

enum  IntegratedQuantityEnum { kinetic_energy, max_wave_speed, numerical_entropy }
 Enum of integrated quantities to calculate.
 

Protected Member Functions

double compute_integrated_quantities (DGBase< dim, double > &dg, IntegratedQuantityEnum quantity, const int overintegrate=10) const
 Compute and update integrated quantities. More...
 
void compute_unsteady_data_and_write_to_table (const std::shared_ptr< ODE::ODESolverBase< dim, double >> ode_solver, const std::shared_ptr< DGBase< dim, double >> dg, const std::shared_ptr< dealii::TableHandler > unsteady_data_table) override
 Compute the desired unsteady data and write it to a table.
 
- Protected Member Functions inherited from PHiLiP::FlowSolver::PeriodicCubeFlow< dim, nstate >
virtual void display_additional_flow_case_specific_parameters () const override
 Display additional more specific flow case parameters.
 
void display_grid_parameters () const
 Display grid parameters.
 
- Protected Member Functions inherited from PHiLiP::FlowSolver::FlowSolverCaseBase< dim, nstate >
void add_value_to_data_table (const double value, const std::string value_string, const std::shared_ptr< dealii::TableHandler > data_table) const
 Add a value to a given data table with scientific format.
 
double get_time_step () const
 Getter for time step.
 

Protected Attributes

std::string unsteady_data_table_filename_with_extension
 Filename for unsteady data.
 
double initial_entropy
 Storing entropy at first step.
 
double previous_numerical_entropy
 Store previous entropy.
 
double previous_time =0
 Last time (for calculating relaxation factor)
 
std::shared_ptr< Physics::Euler< dim, nstate, double > > euler_physics
 
- Protected Attributes inherited from PHiLiP::FlowSolver::PeriodicCubeFlow< dim, nstate >
const int number_of_cells_per_direction
 Number of cells per direction for the grid.
 
const double domain_left
 Domain left-boundary value for generating the grid.
 
const double domain_right
 Domain right-boundary value for generating the grid.
 
const double domain_size
 Domain size (length in 1D, area in 2D, and volume in 3D)
 
- Protected Attributes inherited from PHiLiP::FlowSolver::CubeFlow_UniformGrid< dim, nstate >
double maximum_local_wave_speed
 Maximum local wave speed (i.e. convective eigenvalue)
 
std::shared_ptr< Physics::PhysicsBase< dim, nstate, double > > pde_physics
 Pointer to Physics object for computing things on the fly.
 
- Protected Attributes inherited from PHiLiP::FlowSolver::FlowSolverCaseBase< dim, nstate >
const Parameters::AllParameters all_param
 All parameters.
 
const MPI_Comm mpi_communicator
 MPI communicator.
 
const int mpi_rank
 MPI rank.
 
const int n_mpi
 Number of MPI processes.
 
dealii::ConditionalOStream pcout
 ConditionalOStream. More...
 

Additional Inherited Members

- Public Attributes inherited from PHiLiP::FlowSolver::FlowSolverCaseBase< dim, nstate >
std::shared_ptr< InitialConditionFunction< dim, nstate, double > > initial_condition_function
 Initial condition function.
 

Detailed Description

template<int dim, int nstate>
class PHiLiP::FlowSolver::PeriodicEntropyTests< dim, nstate >

Definition at line 11 of file periodic_entropy_tests.h.

Member Function Documentation

◆ compute_entropy()

template<int dim, int nstate>
double PHiLiP::FlowSolver::PeriodicEntropyTests< dim, nstate >::compute_entropy ( const std::shared_ptr< DGBase< dim, double >>  dg) const

Calculate numerical entropy Calls compute_integrated_quantities

Definition at line 233 of file periodic_entropy_tests.cpp.

◆ compute_integrated_quantities()

template<int dim, int nstate>
double PHiLiP::FlowSolver::PeriodicEntropyTests< dim, nstate >::compute_integrated_quantities ( DGBase< dim, double > &  dg,
IntegratedQuantityEnum  quantity,
const int  overintegrate = 10 
) const
protected

Compute and update integrated quantities.

Same function as in periodic_turbulence. Has some computational inefficiency due to inclusion of solution gradient, but leaving to make it easier to add other integrated quantities if needed in the future. This only returns one quantity, specified by the second argument Will need to be modified in the future if multiple quantites are needed See structure in periodic_turbulence

Definition at line 54 of file periodic_entropy_tests.cpp.

◆ get_constant_time_step()

template<int dim, int nstate>
double PHiLiP::FlowSolver::PeriodicEntropyTests< dim, nstate >::get_constant_time_step ( std::shared_ptr< DGBase< dim, double >>  dg) const
overridevirtual

Function to compute the constant time step.

Calculates based on CFL for Euler, and from parameters otherwise

Reimplemented from PHiLiP::FlowSolver::FlowSolverCaseBase< dim, nstate >.

Definition at line 22 of file periodic_entropy_tests.cpp.


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