1 #ifndef __ALL_PARAMETERS_H__ 2 #define __ALL_PARAMETERS_H__ 4 #include <deal.II/base/conditional_ostream.h> 5 #include <deal.II/base/parameter_handler.h> 6 #include <deal.II/base/tensor.h> 8 #include "parameters.h" 9 #include "parameters/parameters_ode_solver.h" 10 #include "parameters/parameters_linear_solver.h" 11 #include "parameters/parameters_manufactured_convergence_study.h" 13 #include "parameters/parameters_euler.h" 14 #include "parameters/parameters_navier_stokes.h" 15 #include "parameters/parameters_physics_model.h" 17 #include "parameters/parameters_reduced_order.h" 18 #include "parameters/parameters_hyper_reduction.h" 19 #include "parameters/parameters_burgers.h" 20 #include "parameters/parameters_grid_refinement_study.h" 21 #include "parameters/parameters_grid_refinement.h" 22 #include "parameters/parameters_artificial_dissipation.h" 23 #include "parameters/parameters_limiter.h" 24 #include "parameters/parameters_flow_solver.h" 25 #include "parameters/parameters_mesh_adaptation.h" 26 #include "parameters/parameters_functional.h" 27 #include "parameters/parameters_time_refinement_study.h" 30 namespace Parameters {
87 default_triangulation,
89 parallel_shared_triangulation,
90 parallel_distributed_triangulation,
170 grid_refinement_study,
171 stability_fr_parameter_range,
174 burgers_energy_stability,
175 diffusion_exact_adjoint,
177 euler_gaussian_bump_enthalpy,
178 euler_gaussian_bump_adjoint,
180 euler_cylinder_adjoint,
183 euler_split_taylor_green,
184 taylor_green_scaling,
186 optimization_inverse_manufactured,
187 euler_bump_optimization,
188 euler_naca_optimization,
192 unsteady_reduced_order,
193 convection_diffusion_periodicity,
195 POD_adaptive_sampling_run,
196 adaptive_sampling_testing,
197 finite_difference_sensitivity,
198 advection_periodicity,
199 dual_weighted_residual_mesh_adaptation,
200 anisotropic_mesh_adaptation,
201 taylor_green_vortex_energy_check,
202 taylor_green_vortex_restart_check,
203 time_refinement_study,
204 time_refinement_study_reference,
205 rrk_numerical_entropy_conservation_check,
206 euler_entropy_conserving_split_forms_check,
207 h_refinement_study_isentropic_vortex,
209 naca0012_unsteady_check_quick,
210 homogeneous_isotropic_turbulence_initialization_check,
211 turbulent_channel_flow_skin_friction_check,
212 dipole_wall_collision_quantity_check,
213 turbulent_channel_flow_quantity_check,
215 hyper_reduction_comparison,
216 hyper_adaptive_sampling_run,
217 hyper_reduction_post_sampling,
218 ROM_error_post_sampling,
219 HROM_error_post_sampling,
220 hyper_adaptive_sampling_new_error,
223 multi_species_vortex_advection,
224 real_gas_split_taylor_green
233 convection_diffusion,
241 navier_stokes_channel_flow_constant_source_term,
242 navier_stokes_channel_flow_constant_source_term_wall_model,
244 physics_model_filtered,
252 large_eddy_simulation,
253 reynolds_averaged_navier_stokes,
261 manufactured_dirichlet,
262 manufactured_neumann,
263 manufactured_inout_flow,
279 two_point_flux_with_lax_friedrichs_dissipation,
280 two_point_flux_with_roe_dissipation,
281 two_point_flux_with_l2roe_dissipation
292 enum Flux_Reconstruction {cDG, cSD, cHU, cNegative, cNegative2, cPlus, c10Thousand, cHULumped, user_specified_value};
TwoPointNumericalFlux two_point_num_flux_type
Store selected TwoPointNumericalFlux from the input file.
PartialDifferentialEquation pde_type
Store the PDE type to be solved.
bool use_curvilinear_grid
Flag to use curvilinear grid.
LimiterParam limiter_param
Contains parameters for limiter.
bool all_boundaries_are_periodic
Flag to signal that all boundaries are periodic; if true surface flux nodes will not be stored for ef...
Parameters related to the linear solver.
TimeRefinementStudyParam time_refinement_study_param
Contains the parameters for time refinement study.
NonPhysicalBehaviorEnum non_physical_behavior_type
Specify behavior on nonphysical results.
AllParameters()
Constructor.
unsigned int number_of_species
Number of species. Note that it has to match the CMake variable NUMBER_OF_SPECIES.
std::string chemistry_input_file
Name of file containing NASA CAP data for species.
FlowSolverParam flow_solver_param
Contains the parameters for simulation cases (flow solver test)
TestType
Possible integration tests to run.
Parameters related to the manufactured convergence study.
bool output_face_results_vtk
Flag for outputting the surface solution vtk files.
double matching_surface_jac_det_tolerance
Parameters related to time refinement studies.
bool use_energy
Flag to use an energy monotonicity test.
PartialDifferentialEquation
Possible Partial Differential Equations to solve.
Files for the baseline physics.
GridRefinementStudyParam grid_refinement_study_param
Contains the parameters for grid refinement study.
bool use_weak_form
Flag to use weak or strong form of DG.
dealii::ConditionalOStream pcout
Parallel std::cout that only outputs on mpi_rank==0.
bool use_invariant_curl_form
Flag to use invariant curl form for metric cofactor operator.
Parameters related to reduced-order model.
ReducedOrderModelParam reduced_order_param
Contains parameters for the Reduced-Order model.
Flux_Reconstruction
Type of correction in Flux Reconstruction.
Flux_Reconstruction_Aux flux_reconstruction_aux_type
Store flux reconstruction type for the auxiliary variables.
EulerParam euler_param
Contains parameters for the Euler equations non-dimensionalization.
ModelType
Types of models available.
Parameters related to the limiter.
unsigned int dimension
Number of dimensions. Note that it has to match the executable PHiLiP_xD.
Main parameter class that contains the various other sub-parameter classes.
RunType run_type
Selected RunType from the input file.
MeshAdaptationParam mesh_adaptation_param
Constains parameters for mesh adaptation.
std::string energy_file
Energy file.
NonPhysicalBehaviorEnum
Enum of nonphysical behavior.
ManufacturedConvergenceStudyParam manufactured_convergence_study_param
Contains parameters for manufactured convergence study.
void modify_parameters()
Modify parameters after parsing for certain cases.
bool enable_higher_order_vtk_output
Enable writing of higher-order vtk results.
Flux_Reconstruction flux_reconstruction_type
Store flux reconstruction type.
ODESolverParam ode_solver_param
Contains parameters for ODE solver.
Parameters related to reduced-order model.
TwoPointNumericalFlux
Two point numerical flux type for split form.
NavierStokesParam navier_stokes_param
Contains parameters for the Navier-Stokes equations non-dimensionalization.
DissipativeNumericalFlux
Possible dissipative numerical flux types.
LinearSolverParam linear_solver_param
Contains parameters for linear solver.
bool do_renumber_dofs
Flag for renumbering DOFs.
Parameters related to the flow solver.
TestType test_type
Store selected TestType from the input file.
bool check_valid_metric_Jacobian
Flag to check if the metric Jacobian is valid when high-order grid is constructed.
bool use_L2_norm
Flag to use an L2 energy monotonicity test (for FR)
double FR_user_specified_correction_parameter_value
User specified flux recontruction correction parameter value.
Parameters related to the Navier Stokes equations.
bool use_split_form
Flag to use split form.
bool check_same_coords_in_weak_dg
Parameterse related to the functional object.
ConvectiveNumericalFlux
Possible convective numerical flux types.
Parameters for Mesh Adaptation.
MeshType
Mesh type to be used in defining the triangulation.
Parameters related to Physics Models.
Flux_Reconstruction_Aux
Type of correction in Flux Reconstruction for the auxiliary variables.
ConvectiveNumericalFlux conv_num_flux_type
Store convective flux type.
bool use_inverse_mass_on_the_fly
Flag to use inverse mass matrix on-the-fly for explicit solves.
RenumberDofsType
Renumber dofs type.
int nstate
Number of state variables. Will depend on PDE.
void parse_parameters(dealii::ParameterHandler &prm)
Retrieve parameters from dealii::ParameterHandler.
std::string solution_vtk_files_directory_name
Name of directory for writing solution vtk files.
Parameters related to collection of grid refinement runs.
FluxNodes flux_nodes_type
Store selected FluxNodes from the input file.
Parameters related to the ODE solver.
BoundaryType
Possible boundary types, NOT IMPLEMENTED YET.
bool use_projected_entropy_variables_for_nsfr_boundary_term
Flag for using projected entropy variables for NSFR boundary term.
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...
FunctionalParam functional_param
Contains parameters for functional.
DissipativeNumericalFlux diss_num_flux_type
Store diffusive flux type.
Parameters related to the artificial dissipation.
static void declare_parameters(dealii::ParameterHandler &prm)
Declare parameters that can be set as inputs and set up the default options.
double sipg_penalty_factor
Scaling of Symmetric Interior Penalty term to ensure coercivity.
bool use_weight_adjusted_mass
Flag to use weight-adjusted Mass Matrix for curvilinear elements.
bool store_global_mass_matrix
Flag to store global mass matrix.
SourceTerm
Possible source terms, NOT IMPLEMENTED YET.
ModelType model_type
Store the model type.
HyperReductionParam hyper_reduction_param
Contains parameters for Hyperreduction.
ArtificialDissipationParam artificial_dissipation_param
Contains parameters for artificial dissipation.
bool output_high_order_grid
Flag for outputting the high-order grid vtk files.
RenumberDofsType renumber_dofs_type
Store selected RenumberDofsType from the input file.
bool use_curvilinear_split_form
Flag to use curvilinear metric split form.
PhysicsModelParam physics_model_param
Contains parameters for Physics Model.
MeshType mesh_type
Store selected MeshType from the input file.
BurgersParam burgers_param
Contains parameters for Burgers equation.
bool use_collocated_nodes
Flag for using collocated nodes; determined based on flux_nodes_type and overintegration input parame...
Parameters related to the linear solver.
FluxNodes
Flux nodes type.
int overintegration
Number of additional quadrature points to use.
bool store_residual_cpu_time
Flag to store the residual local processor cpu time.
Parameters related to reduced-order model.
bool using_wall_model
Flag for using wall model (initialized as false)