[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
PHiLiP::Parameters::AllParameters Class Reference

Main parameter class that contains the various other sub-parameter classes. More...

#include <all_parameters.h>

Collaboration diagram for PHiLiP::Parameters::AllParameters:

Public Types

enum  RunType { integration_test, flow_simulation }
 Run type.
 
enum  MeshType { default_triangulation, triangulation, parallel_shared_triangulation, parallel_distributed_triangulation }
 Mesh type to be used in defining the triangulation.
 
enum  FluxNodes { GL, GLL }
 Flux nodes type.
 
enum  TwoPointNumericalFlux { KG, IR, CH, Ra }
 Two point numerical flux type for split form.
 
enum  TestType {
  run_control, grid_refinement_study, stability_fr_parameter_range, advection_limiter,
  burgers_limiter, burgers_energy_stability, diffusion_exact_adjoint, euler_gaussian_bump,
  euler_gaussian_bump_enthalpy, euler_gaussian_bump_adjoint, euler_cylinder, euler_cylinder_adjoint,
  euler_vortex, euler_entropy_waves, euler_split_taylor_green, taylor_green_scaling,
  burgers_split_form, optimization_inverse_manufactured, euler_bump_optimization, euler_naca_optimization,
  shock_1d, euler_naca0012, reduced_order, unsteady_reduced_order,
  convection_diffusion_periodicity, POD_adaptation, POD_adaptive_sampling_run, adaptive_sampling_testing,
  finite_difference_sensitivity, advection_periodicity, dual_weighted_residual_mesh_adaptation, anisotropic_mesh_adaptation,
  taylor_green_vortex_energy_check, taylor_green_vortex_restart_check, time_refinement_study, time_refinement_study_reference,
  rrk_numerical_entropy_conservation_check, euler_entropy_conserving_split_forms_check, h_refinement_study_isentropic_vortex, khi_robustness,
  naca0012_unsteady_check_quick, homogeneous_isotropic_turbulence_initialization_check, turbulent_channel_flow_skin_friction_check, dipole_wall_collision_quantity_check,
  turbulent_channel_flow_quantity_check, build_NNLS_problem, hyper_reduction_comparison, hyper_adaptive_sampling_run,
  hyper_reduction_post_sampling, ROM_error_post_sampling, HROM_error_post_sampling, hyper_adaptive_sampling_new_error,
  halton_sampling_run, low_density, multi_species_vortex_advection, real_gas_split_taylor_green
}
 Possible integration tests to run.
 
enum  PartialDifferentialEquation {
  advection, diffusion, convection_diffusion, advection_vector,
  burgers_inviscid, burgers_viscous, burgers_rewienski, euler,
  mhd, navier_stokes, navier_stokes_channel_flow_constant_source_term, navier_stokes_channel_flow_constant_source_term_wall_model,
  physics_model, physics_model_filtered, real_gas
}
 Possible Partial Differential Equations to solve.
 
enum  ModelType { large_eddy_simulation, reynolds_averaged_navier_stokes, navier_stokes_model }
 Types of models available.
 
enum  BoundaryType { manufactured_dirichlet, manufactured_neumann, manufactured_inout_flow }
 Possible boundary types, NOT IMPLEMENTED YET.
 
enum  SourceTerm { zero, manufactured }
 Possible source terms, NOT IMPLEMENTED YET.
 
enum  ConvectiveNumericalFlux {
  lax_friedrichs, roe, l2roe, central_flux,
  two_point_flux, two_point_flux_with_lax_friedrichs_dissipation, two_point_flux_with_roe_dissipation, two_point_flux_with_l2roe_dissipation
}
 Possible convective numerical flux types.
 
enum  DissipativeNumericalFlux { symm_internal_penalty, bassi_rebay_2, central_visc_flux }
 Possible dissipative numerical flux types.
 
enum  Flux_Reconstruction {
  cDG, cSD, cHU, cNegative,
  cNegative2, cPlus, c10Thousand, cHULumped,
  user_specified_value
}
 Type of correction in Flux Reconstruction.
 
enum  Flux_Reconstruction_Aux {
  kDG, kSD, kHU, kNegative,
  kNegative2, kPlus, k10Thousand
}
 Type of correction in Flux Reconstruction for the auxiliary variables.
 
enum  NonPhysicalBehaviorEnum { return_big_number, abort_run, print_warning }
 Enum of nonphysical behavior.
 
enum  RenumberDofsType { CuthillMckee }
 Renumber dofs type.
 

Public Member Functions

 AllParameters ()
 Constructor.
 
void parse_parameters (dealii::ParameterHandler &prm)
 Retrieve parameters from dealii::ParameterHandler. More...
 
void modify_parameters ()
 Modify parameters after parsing for certain cases. More...
 

Static Public Member Functions

static void declare_parameters (dealii::ParameterHandler &prm)
 Declare parameters that can be set as inputs and set up the default options. More...
 

Public Attributes

ManufacturedConvergenceStudyParam manufactured_convergence_study_param
 Contains parameters for manufactured convergence study.
 
ODESolverParam ode_solver_param
 Contains parameters for ODE solver.
 
LinearSolverParam linear_solver_param
 Contains parameters for linear solver.
 
EulerParam euler_param
 Contains parameters for the Euler equations non-dimensionalization.
 
NavierStokesParam navier_stokes_param
 Contains parameters for the Navier-Stokes equations non-dimensionalization.
 
ReducedOrderModelParam reduced_order_param
 Contains parameters for the Reduced-Order model.
 
HyperReductionParam hyper_reduction_param
 Contains parameters for Hyperreduction.
 
BurgersParam burgers_param
 Contains parameters for Burgers equation.
 
PhysicsModelParam physics_model_param
 Contains parameters for Physics Model.
 
GridRefinementStudyParam grid_refinement_study_param
 Contains the parameters for grid refinement study.
 
ArtificialDissipationParam artificial_dissipation_param
 Contains parameters for artificial dissipation.
 
LimiterParam limiter_param
 Contains parameters for limiter.
 
FlowSolverParam flow_solver_param
 Contains the parameters for simulation cases (flow solver test)
 
MeshAdaptationParam mesh_adaptation_param
 Constains parameters for mesh adaptation.
 
FunctionalParam functional_param
 Contains parameters for functional.
 
TimeRefinementStudyParam time_refinement_study_param
 Contains the parameters for time refinement study.
 
unsigned int dimension
 Number of dimensions. Note that it has to match the executable PHiLiP_xD.
 
unsigned int number_of_species
 Number of species. Note that it has to match the CMake variable NUMBER_OF_SPECIES.
 
RunType run_type
 Selected RunType from the input file.
 
MeshType mesh_type
 Store selected MeshType from the input file.
 
int overintegration
 Number of additional quadrature points to use. More...
 
bool use_weak_form
 Flag to use weak or strong form of DG.
 
FluxNodes flux_nodes_type
 Store selected FluxNodes from the input file.
 
bool use_collocated_nodes
 Flag for using collocated nodes; determined based on flux_nodes_type and overintegration input parameters.
 
bool use_split_form
 Flag to use split form.
 
TwoPointNumericalFlux two_point_num_flux_type
 Store selected TwoPointNumericalFlux from the input file.
 
bool use_curvilinear_split_form
 Flag to use curvilinear metric split form.
 
bool store_residual_cpu_time
 Flag to store the residual local processor cpu time.
 
bool use_weight_adjusted_mass
 Flag to use weight-adjusted Mass Matrix for curvilinear elements.
 
bool all_boundaries_are_periodic
 Flag to signal that all boundaries are periodic; if true surface flux nodes will not be stored for efficiency.
 
bool check_same_coords_in_weak_dg
 
bool use_curvilinear_grid
 Flag to use curvilinear grid.
 
bool use_energy
 Flag to use an energy monotonicity test.
 
bool use_L2_norm
 Flag to use an L2 energy monotonicity test (for FR)
 
bool store_global_mass_matrix
 Flag to store global mass matrix.
 
double sipg_penalty_factor
 Scaling of Symmetric Interior Penalty term to ensure coercivity.
 
bool use_invariant_curl_form
 Flag to use invariant curl form for metric cofactor operator.
 
bool use_inverse_mass_on_the_fly
 Flag to use inverse mass matrix on-the-fly for explicit solves.
 
bool check_valid_metric_Jacobian
 Flag to check if the metric Jacobian is valid when high-order grid is constructed.
 
std::string energy_file
 Energy file.
 
int nstate
 Number of state variables. Will depend on PDE.
 
TestType test_type
 Store selected TestType from the input file.
 
PartialDifferentialEquation pde_type
 Store the PDE type to be solved.
 
ModelType model_type
 Store the model type.
 
ConvectiveNumericalFlux conv_num_flux_type
 Store convective flux type.
 
DissipativeNumericalFlux diss_num_flux_type
 Store diffusive flux type.
 
Flux_Reconstruction flux_reconstruction_type
 Store flux reconstruction type.
 
double FR_user_specified_correction_parameter_value
 User specified flux recontruction correction parameter value.
 
Flux_Reconstruction_Aux flux_reconstruction_aux_type
 Store flux reconstruction type for the auxiliary variables.
 
NonPhysicalBehaviorEnum non_physical_behavior_type
 Specify behavior on nonphysical results.
 
std::string solution_vtk_files_directory_name
 Name of directory for writing solution vtk files.
 
bool output_high_order_grid
 Flag for outputting the high-order grid vtk files.
 
bool enable_higher_order_vtk_output
 Enable writing of higher-order vtk results.
 
bool output_face_results_vtk
 Flag for outputting the surface solution vtk files.
 
bool do_renumber_dofs
 Flag for renumbering DOFs.
 
RenumberDofsType renumber_dofs_type
 Store selected RenumberDofsType from the input file.
 
double matching_surface_jac_det_tolerance
 
std::string chemistry_input_file
 Name of file containing NASA CAP data for species.
 
bool using_wall_model = false
 Flag for using wall model (initialized as false)
 
bool wall_model_input_from_second_element
 Flag for using second element as wall model input; if false, uses buffer (i.e. wall-adjacent) element.
 
bool use_projected_entropy_variables_for_nsfr_boundary_term
 Flag for using projected entropy variables for NSFR boundary term.
 

Protected Attributes

dealii::ConditionalOStream pcout
 Parallel std::cout that only outputs on mpi_rank==0.
 

Detailed Description

Main parameter class that contains the various other sub-parameter classes.

Definition at line 33 of file all_parameters.h.

Member Function Documentation

◆ declare_parameters()

void PHiLiP::Parameters::AllParameters::declare_parameters ( dealii::ParameterHandler &  prm)
static

Declare parameters that can be set as inputs and set up the default options.

This subroutine should call the sub-parameter classes static declare_parameters() such that each sub-parameter class is responsible to declare their own parameters.

Definition at line 34 of file all_parameters.cpp.

◆ modify_parameters()

void PHiLiP::Parameters::AllParameters::modify_parameters ( )

Modify parameters after parsing for certain cases.

Bulk velocity Reynolds number computed from friction velocity based Reynolds numbers (Empirical relation) Reference:

  • R. B. Dean, "Reynolds Number Dependence of Skin Friction and Other Bulk Flow Variables in Two-Dimensional Rectangular Duct Flow", Journal of Fluids Engineering, 1978

Definition at line 728 of file all_parameters.cpp.

◆ parse_parameters()

void PHiLiP::Parameters::AllParameters::parse_parameters ( dealii::ParameterHandler &  prm)

Retrieve parameters from dealii::ParameterHandler.

This subroutine should call the sub-parameter classes static parse_parameters() such that each sub-parameter class is responsible to parse their own parameters.

Definition at line 427 of file all_parameters.cpp.

Member Data Documentation

◆ check_same_coords_in_weak_dg

bool PHiLiP::Parameters::AllParameters::check_same_coords_in_weak_dg

Flag to check if the coordinates of two points are same where expected in weak DG. Default is true; set to false if you have periodic boundaries in your domain since it currently does not consider that case and will print large warning messages.

Definition at line 135 of file all_parameters.h.

◆ matching_surface_jac_det_tolerance

double PHiLiP::Parameters::AllParameters::matching_surface_jac_det_tolerance

Tolerance for checking that the determinant of surface jacobians at element faces matches. Note: Currently only used in weak dg.

Definition at line 331 of file all_parameters.h.

◆ overintegration

int PHiLiP::Parameters::AllParameters::overintegration

Number of additional quadrature points to use.

overintegration = 0 leads to number_quad_points = dg_solution_degree + 1

Definition at line 98 of file all_parameters.h.


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