1 #ifndef __CHANNEL_FLOW_H__ 2 #define __CHANNEL_FLOW_H__ 4 #include "periodic_turbulence.h" 5 #include "dg/dg_base.hpp" 11 using Triangulation = dealii::Triangulation<PHILIP_DIM>;
13 using Triangulation = dealii::parallel::distributed::Triangulation<PHILIP_DIM>;
16 template <
int dim,
int nspecies,
int nstate>
27 std::shared_ptr<Triangulation>
generate_grid()
const override;
105 const std::shared_ptr<dealii::TableHandler> unsteady_data_table,
106 const bool do_write_unsteady_data_table_file)
override;
double get_adaptive_time_step_initial(std::shared_ptr< DGBase< dim, nspecies, double >> dg) override
Function to compute the initial adaptive time step.
const double half_channel_height
Half channel height.
const double channel_height
Channel height.
double bulk_density
Bulk density.
const double channel_bulk_velocity_reynolds_number
double get_skin_friction_coefficient_from_average_wall_shear_stress(const double avg_wall_shear_stress) const
Get the skin friction coefficient from the average wall shear stress.
double get_bulk_velocity() const
Getter for the bulk velocity.
~ChannelFlow()
Destructor.
const double domain_length_x
Domain length in x-direction.
std::shared_ptr< Physics::NavierStokes_ChannelFlowConstantSourceTerm_WallModel< dim, nspecies, dim+2, double > > navier_stokes_channel_flow_constant_source_term_wall_model_physics
Pointer to Navier-Stokes physics object for computing things on the fly.
std::shared_ptr< Triangulation > generate_grid() const override
Function to generate the grid.
const double domain_length_y
Domain length in y-direction.
Files for the baseline physics.
const double pi_val
Value of pi.
double get_average_wall_shear_stress_from_wall_model(DGBase< dim, nspecies, double > &dg) const
Get the average wall shear stress from wall model.
ChannelFlow(const Parameters::AllParameters *const parameters_input)
Constructor.
unsigned int get_number_of_degrees_of_freedom_per_state_from_poly_degree(const unsigned int poly_degree_input) const override
Get the number of degrees of freedom per state from a given poly degree.
void display_grid_parameters() const override
Display grid parameters.
double bulk_velocity
Bulk velocity.
double get_adaptive_time_step(std::shared_ptr< DGBase< dim, nspecies, double >> dg) const override
Function to compute the adaptive time step.
Main parameter class that contains the various other sub-parameter classes.
double get_stretched_mesh_size(const int i) const
Get the stretched mesh size.
const double domain_length_z
Domain length in z-direction.
const double domain_volume
Domain volume.
const int number_of_cells_y_direction
Number of cells in y-direction.
double get_bulk_mass_flow_rate() const
Getter for the bulk mass flow rate.
double get_bulk_density() const
Getter for the bulk density.
const int number_of_cells_z_direction
Number of cells in z-direction.
dealii::Tensor< 2, dim, double > zero_tensor
Tensor of zeros.
std::vector< double > get_mesh_step_size_y_direction_HOPW() const
const int number_of_cells_x_direction
Number of cells in x-direction.
double get_average_wall_shear_stress(DGBase< dim, nspecies, double > &dg) const
Get the average wall shear stress.
double minimum_approximate_grid_spacing
Minimum approximate grid spacing.
void set_bulk_flow_quantities(DGBase< dim, nspecies, double > &dg)
Set the bulk flow quantities.
std::vector< double > get_mesh_step_size_y_direction_Gullbrand() const
std::vector< double > get_mesh_step_size_y_direction_carton_de_wiart_et_al() const
void set_higher_order_grid(std::shared_ptr< DGBase< dim, nspecies, double >> dg) const override
Function to set the higher order grid.
const double channel_friction_velocity_reynolds_number
Channel Reynolds number based on wall friction velocity.
DGBase is independent of the number of state variables.
std::vector< double > get_mesh_step_size_y_direction() const
Return a vector of mesh step sizes in the y-direction based on the desired stretching function...
void display_additional_flow_case_specific_parameters() const override
Display additional more specific flow case parameters.
double bulk_mass_flow_rate
Bulk mass flow rate.
void compute_unsteady_data_and_write_to_table(const std::shared_ptr< ODE::ODESolverBase< dim, nspecies, double >> ode_solver, const std::shared_ptr< DGBase< dim, nspecies, double >> dg, const std::shared_ptr< dealii::TableHandler > unsteady_data_table, const bool do_write_unsteady_data_table_file) override
Compute the desired unsteady data and write it to a table.
const double channel_centerline_velocity_reynolds_number