PHengLEI-TestCases/Y02_ThreeD_M6_Unstruct_Bran.../bin/cfd_para.hypara

697 lines
31 KiB
Plaintext
Raw Permalink Normal View History

2023-06-28 18:11:30 +08:00
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// PPPPP H H EEEEE N N GGGGG L EEEEE III +
// P P H H E NN N G L E I +
// PPPPP HHHHH EEEEE N N N G GG L EEEEE I +
// P H H E N N N G G L E I +
// P H H EEEEE N N GGGGG LLLLL EEEEE III +
//------------------------------------------------------------------------+
// Platform for Hybrid Engineering Simulation of Flows +
// China Aerodynamics Research and Development Center +
// (C) Copyright, Since 2010 +
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#########################################################################
# Default parameters for Grid conversion #
#########################################################################
// gridtype: Grid type for generation, conversion, reconstruction, merging.
// 0 -- Unstructured grid.
// 1 -- Structured grid.
// 2 -- Hybrid grid, include both of unstructured and structured grid.
// gridobj: Task type of grid treatment.
// 0 -- Grid generation of typical case, such as cylinder, flat plate, etc.
// 1 -- Grid conversion, from other grid data to PHenglEI( HyperFLOW ), such as Fluent, CGNS.
// 2 -- Grid refinement.
// 3 -- Grid merging, merge two blocks into one block.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells.
// 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
// grid_database_index: Case of typical case, only for gridobj=0.
// 1 - Laminar flat plate of subsonic flow.
// 2 - Laminar flat plate of supersonic flow.
// 3 - Turbulent flat plate of subsonic flow.
// 4 - Turbulent flat plate of supersonic flow.
// iadapt: Adaptation number for unstructure grid.
// iovrlap: Overlapping( overset ) grid or not.
// 0 -- NON-overlapping grid.
// 1 -- Overlapping grid.
// SymmetryFaceVector: The vector of symmetry face.
// 0 -- X axis.
// 1 -- Y axis.
// 2 -- Z axis.
int gridtype = 0;
int gridobj = 1;
int multiblock = 1;
int grid_database_index = 3;
int iadapt = 0;
int iovrlap = 0;
int SymmetryFaceVector = 1;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
int axisup = 1;
// omit_no_bound_bc: What's boundary condition for the type of "no_boundary_condition".
// 0 -- Interface. (default)
// 1 -- Physical boundary condition, used in Hybrid solver.
int omit_no_bound_bc = 0;
//-----------------------------------------------------------------------
# Grid data type #
//-----------------------------------------------------------------------
// from_gtype/to_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE
// 1 -- HyperFLOW( PHengLEI ), *.fts.
// 2 -- CGNS, *.cgns.
// 3 -- Plot3D type of structured grid, *.dat/*.grd.
// 4 -- Fieldview type of unstructured grid, *.dat/*.inp.
// 5 -- Fluent, *.cas/*.msh.
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int from_gtype = 2;
int to_gtype = 1;
//-----------------------------------------------------------------------
# File path #
//-----------------------------------------------------------------------
// from_gfile: path of original data file for unstructure grid convert from.
// out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/rae2822_hybrid2d.cas";
string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ---------------- some advanced choices -----------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int iale = 0;
// fileformat : Ustar Grid file format.
// 0 --- ASCII
// 1 --- BINARY
int fileformat = 0;
// .skl meaning skeleton.
string original_grid_info_file = "./grid/FLUENT_test.skl";
// Parameters for hybrid solver.
string mixgrid_uns = "./grid/rae2822_uns2d_4.fts";
string mixgrid_str = "./grid/flat_laminr_133_85_2d.fts";
string mixgrid_str_bc = "./grid/flat_laminr_133_85_2d.inp";
// Some parameters for structured overlapping grid of GuoYongHeng start.
int codeOfDigHoles = 1;
string holeBasicFileName = "./oversetGridView/holeBasicFile.inp";
string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
#########################################################################
# Default parameters for Partition #
#########################################################################
// pgridtype: The grid type.
// 0 -- unstruct grid
// 1 -- struct grid
// 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into.
int pgridtype = 0;
int maxproc = 4;
//-----------------------------------------------------------------------
# File path #
//-----------------------------------------------------------------------
// original_grid_file : original grid file that want to be divided(HyperFLOW/PHengLEI type, *.fts).
// partition_grid_file : target partition grid file(HyperFLOW/PHengLEI type, *.fts).
string original_grid_file = "./grid/rae2822_hybrid2d.fts";
string partition_grid_file = "./grid/rae2822_hybrid2d__4.fts";
// ------------------ Sompe advanced parameters ------------------------
// omit_no_bound_bc: What's boundary condition for the type of "no_boundary_condition".
// 0 -- Interface. (default)
// 1 -- Physical boundary condition, used in Hybrid solver.
// npartmethod: Method of interface reconstruction, default 1.
// parallelPartMethod: Method of parallel partition, this is set only when execute parallel partition.It would be skipped when serial partition.
// 1 -- Using ParMetis for homogeneous MPI.
// 2 -- Using Metis for homogeneous MPI.
// 3 -- using METIS partition for homogeneous OpenMP.
// parmetisBalance: is used to specify the imbalance tolerance.
// 1 -- perfect balance;
// maxproc -- perfect imbalance;
// 1.05 -- recommended.
int omit_no_bound_bc = 0;
int npartmethod = 1;
int parallelPartitionMethod = 2;
double parmetisBalance = 1.05;
// Number of multi-grid levels, ONLY used for structured grid.
// 1 -- single level, 2 -- 2 level, N -- N level, ..., et all.
int numberOfMultigrid = 1;
#########################################################################
# Default parameters for CFD simulation #
#########################################################################
// maxsimustep: the max simulation step, don't care simulation is restart or not.
// ndisk: the step intervals for 'flow.dat ' saved.
// nplotsave: the step intervals for 'tecflow.dat ' saved.
// nforcsave: the step intervals for 'aircoef.dat ' saved.
// nressave: the step intervals for 'res.dat ' saved.
// precon: precondition process to accelerate convergence for low speed flow.
// 0 -- no precondition process. (default)
// 1 -- carry out precondition process.
int ndisk = 1000;
int maxsimustep = 20000;
int nplotsave = 1000;
int nforcsave = 100;
int nressave = 10;
int precon = 0;
// m_block_proc: Method of grid zone distribution among different processors.
// 0 -- Each zone is distributed by grid partition. (default)
// 1 -- Each zone is distributed randomly.
//compressible: 0 for incompressible flow, 1 for compressible flow (default).
int compressible = 1;
//-----------------------------------------------------------------------
# CFD Control Parameter #
//-----------------------------------------------------------------------
// attackd: Angle of attack.
// sideslipd: Angle of yaw.
// reference_mach_number: Mach number.
// reynolds: Reynolds number, which is based unit length, unit of 1/m.
// reference_temperature_dimensional: dimensional reference temperature, or the total temperature only for the experiment condition.
// reference_pressure_dimensional: dimensional reference pressure , or the total pressure only for the experiment condition.
// height: Fly height, unit of km.
// inflowParaType: the type of inflow parameters.
// 0 - the nondimensional conditions.
// 1 - the flight conditions.
// 2 - the experiment conditions.
// 3 - the subsonic boundary conditions.
// twall: Temprature of the solid wall, minus value is for adiabatic boundary condition.
// dump_Q: Dump out thermal flux Q of solid wall.
// 0 - no dump out.
// 1 - dump out wall Q only.
// 2 - dump out wall Q & the typical position Q of ball.
// 3 - dump out wall Q & the typical position Q of cone.
// 4 - dump out wall Q & the typical position Q of double sphere.
// Qstag: The Q of the stagnation point, calculated by Fay-Riddle formula.
// gridUnit: The unit of the grid.
// 0 - meter.
// 1 - decimeter, 1 dm = 0.1 m.
// 2 - centimeter, 1 cm = 0.01 m.
// 3 - millimeter, 1 mm = 0.001m.
// 4 - inch, 1 inch = 0.0254m.
// 5 - foot, 1 foot = 12 inches = 0.3048m.
// 6 - yard, 1 yard = 3 feet = 0.9144m.
// forceRefenenceLength, forceRefenenceArea: Reference length and area, independent of grid unit.
// forceRefenenceX, forceRefenenceY, forceRefenenceZ: Reference point, independent of grid unit.
double reference_mach_number = 0.73;
double attackd = 2.79;
double sideslipd = 0.00;
int inflowParaType = 0;
double reynolds = 6.5e6;
double reference_temperature_dimensional = 288.15;
//int inflowParaType = 1;
//double height = 0.001;
//int inflowParaType = 2;
//double reference_temperature_dimensional = 6051.024; //the total temperature, T*(1+(gama0-1)*M*M/2).
//double reference_pressure_dimensional = 4.299696E09; //the total pressure, p*(T0/T)^(gama0/(gama0-1)).
//int inflowParaType = 3;
//int nsubsonicInlet = 1;
//int nsubsonicOutlet = 1;
//string inLetFileName = "./bin/subsonicInlet.hypara";
//string outLetFileName = "./bin/subsonicOutlet.hypara";
//double reference_temperature_dimensional = 288.144;
//double reference_pressure_dimensional = 1.01313E05;
double twall = -1.0 ;
int dump_Q = 0;
double Qstag = 1.825e-3;
int gridUnit = 0;
double forceRefenenceLength = 1.0;
double forceRefenenceLengthSpanWise = 1.0;
double forceRefenenceArea = 1.0;
double forceRefenenceX = 0.0;
double forceRefenenceY = 0.0;
double forceRefenenceZ = 0.0;
int directionMethod = 2; // 1 -- using direciton; 2 -- using face normal.
double totalP_inlet = 1.2e6;
double totalT_inlet = 1300;
double direction_inlet[3] = 1, 0, 0;
double totalP_outlet = 17.8571428;
double totalT_outlet = 1.0;
double direction_outlet[3] = 1, 0, 0;
//-----------------------------------------------------------------------
# Spatial Discretisation #
//-----------------------------------------------------------------------
#*******************************************************************
# Struct Solver *
#*******************************************************************
// str_scheme_name: Spatial discretisation scheme of struct grid
// Using this when solve structered grid or hybrid.
// - "vanleer", "steger", "hlle", "lax_f"
// - "roe","modified_roe"
// - "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw"
// str_limiter_name: Limiter of struct grid
// - "vanalbada", "vanleer", "minmod", "smooth" "minvan" "3rdsmooth" "3rd_minmod_smooth"
// - "nolim" - no limiter
// - "vanalbada_clz" clz supersonic version
string str_scheme_name = "roe";
string str_limiter_name = "vanalbada";
#*******************************************************************
# UnStruct Solver or Common *
#*******************************************************************
// iviscous: Viscous model
// 0 - Euler
// 1 - Lamilar
// 2 - Algebraic
// 3 - 1eq turbulent
// 4 - 2eq turbulent
// visname : Laminar or tubulent model
// - "0eq-bl"
// - "1eq-sa"
// - "2eq-kw-menter-sst"
// - "2eq-kw-menter-bsl"
// - "2eq-kw-wilcox-1988"
// - "2eq-kw-wilcox-1998"
// - "2eq-kw-kok-tnt"
// - "2eq-kw-wilcox-2006"
// - "easm-kw-2003"
// - "easm-kw-2005"
// codeofDES : Type of DES
// 0 - RANS (default);
// 1 - DES;
// 2 - DDES;
// 3 - IDDES;
// uns_scheme_name: Spatial discretisation scheme of Unstruct grid
// Using this when solve Unstructered grid or hybrid.
// - "vanleer", "roe", "steger", "kfvs", "lax_f", "hlle"
// - "ausm+", "ausmdv", "ausm+w", "ausmpw", "ausmpwplus"
// uns_limiter_name: Limiter of Unstruct grid
// - "barth", "vencat", "vanleer", "minmod"
// - "vanalbada", "smooth", "nnd", "lpz", "1st",
// - "nolim" - no limiter
// uns_vis_name: Discretisation method of viscous term.
// - "std", "test", "aver", "new1", "new2"
// uns_gradient: Gradient reconstruction method
// - "default", "ggcell", "ggnode", "lsq"
// ivencat: Variation of vencat limiter
// 0 - org method, it is independent of grid scale
// 1 - new method, it is dependent of grid scale
// 4 - Ustar limiter model, without grid size unitary.
// 7 - default used.
// eps_vencat: Cofficient of vencat, when using vencat limter
// limit_mode: limit model.
// 0 - limit only for pressure and denstiny, then get the min value
// 1 - limit for every variables, then get the min value
// limiter_vec:
// 0 - Each variable use the same limiter coefficient.
// 1 - Each variable use the respective limiter coefficients.
// reconmeth:
// 0 - When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 - Q+, Q- use the min limiter coefficients of left and right cell.
// nentrfix: Entropy fix.
// 1 - common entropy fix.
// 2 - Harte's method, to be continued.
// 3 - Method in ZYB 's Doctor thesis, to be continued.
// 4 - Method in Ustar.
// alf_l, alf_n: Entropy fix cofficient for Roe scheme.
//int iviscous = 0;
//string visname = "Euler";
//int iviscous = 1;
//string visname = "laminar";
int iviscous = 3;
string visname = "1eq-sa";
//int iviscous = 4;
//string visname = "2eq-kw-menter-sst";
int codeofDES = 0;
string uns_scheme_name = "roe";
string uns_limiter_name = "vencat";
string uns_vis_name = "test";
string uns_gradient_name = "ggnode";
int ivencat = 7;
double eps_vencat = 5.0;
int reconmeth = 1;
int limit_mode = 0;
int limiter_vec = 0;
double limit_angle = 0;
double skewnessAngle = 60.0;
int nentrfix = 1;
double alf_l = 0.0001;
double alf_n = 0.0001;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
// iunsteady: Steady or unsteady.
// 0 - steady
// 1 - unsteay
// physicalTimeStep: the nondimensional physical time step.
// startFromSteady: the unsteady simulation is start from steady flowfield or not, 0 is for no and else is for yes.
// statisticsDES: Statistical variables for DES simulation.
// startStatisticStep: Outer step when start statistics.
// when the value is larger than "maxsimustep", it is useless.
// min_sub_iter: the min sub iteration of unsteady simulation.
// max_sub_iter: the max sub iteration of unsteady simulation.
// tol_sub_iter: the tolerance of sub iteration of unsteady simulation.
// tscheme: Temporal Discretisation method
// 1 - Runge-Kutta Multi-State
// 2 - Point implicit
// 3 - Full implicit
// 4 - LU-SGS
// 5 - Block LU-SGS
// 6 - Jacobian iteration
// 7 - Lower G-S iteration
// 8 - Upper G-S iteration
// 9 - Lower/Upper G-S iteration
// iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation.
// Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// cfl_start: Started cfl
// cfl_end: End cfl
// cfl_nstep: The number of step when cfl increase from cfl_start to cfl_end
// ktmax: Dtratio. dt[i] = MIN( dt[i], ktmax * dtmin / vol[i] )
// swapDq: Communication dq between forward/backward sweep of LUSGS or not, default 0.
// sweeps: Sub iteration of LU-SGS or Block LU-SGS.
// epsilon: Sub iter tolerance of LU-SGS or Block LU-SGS.
// ntmst: Time step method
// 0 - Local
// 1 - Gloable
// n_state: The number of Runge-Kutta step
// lamda: Cofficient of Runge-Kutta step
int iunsteady = 0;
double physicalTimeStep = 0.01;
int startFromSteady = 0;
int statisticsDES = 0;
int startStatisticStep = 800000;
int min_sub_iter = 50;
int max_sub_iter = 50;
double tol_sub_iter = 0.01;
int tscheme = 1;
int iSimplifyViscousTerm = 1;
double cfl_start = 0.001;
double cfl_end = 0.1;
int cfl_nstep = 500;
double ktmax = 1.0e10;
int swapDq = 1;
int sweeps = 1;
double epsilon = 0.1;
int turb_sweeps = 1;
double turb_epsilon = 0.1;
int ismooth_ns = 0;
int icalvis = 1;
int vis_run = 1;
int iupdate = 1;
int order = 2;
double limit_p = 3.0;
double limit_r = 3.0;
double visl_min = 0.01;
int nnegtive_max = 0;
double cflturb = 1.0;
double timemax = 1.0e10;
double dtsave = -1.0;
int iale = 0;
int ialetype = 2;
int maxale = 10;
int ntmst = 0;
double dtau = 0.001;
double dtau_max = 1E-01;
int iwallfunction = 0;
int n_stage = 2;
double lamda[2] = 0.5, 1.0;
//int n_stage = 1;
//double lamda[1] = 1.0;
//int n_stage = 4;
//double lamda[4] = 0.25,0.33333333333,0.5,1.0;
//-----------------------------------------------------------------------
# File In or Out #
//-----------------------------------------------------------------------
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
// IMPORTANT WARNNING: the file index should be ignored,
// e.g. if the partitioned grid is rae2822_hybrid2d__4_0.fts,
// Please use 'rae2822_hybrid2d__4.fts' here!
// visual_field: If dump out the field results to visulization
// walldistMethod: The method to compute wall distance.
// 0 - accurate but not fast enough.
// 1 - fast but not accurate enough.
// 2 - Super fast but more non-accurate!
int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
int walldistMethod = 1;
string resfile = "results/res.dat";
string turbresfile = "results/turbres.dat";
string aircoeffile = "results/aircoef.dat";
string flowfile = "results/flow.dat";
string turbfile = "results/turb.dat";
string visualfile = "results/tecflow.plt";
string Qwall_file = "results/Qwall.dat";
string wall_aircoefile = "results/wall_aircoef.dat";
string surfacefile = "";
string wall_varfile = "";
string componentDefineFile = "bin/component.hypara";
string jetDefineFile = "bin/jet.hypara";
string componentforcefile = "results/component_aircoef.dat";
string overset_gridfile = "iblank.ovs";
int visual_field = 0;
//visualSlice: The slice of tecflow
// 0 - Do not save slice data
// 1 - comput and save it to sliceFile
//sliceAxis: Normal vector of slice
// 1 - X_DIR
// 2 - Y_DIR
// 3 - Z_DIR
//slicePostion: Coordinate of slice
int visualSlice = 0;
int sliceAxis = 1;
double slicePostion = -0.5;
string sliceFile = "results/Slice.plt";
// min-max box of the visual block.
double visual_block_min[3] = [0.0 0.0 0.0];
double visual_block_max[3] = [1.0 1.0 1.0];
// nVisualVariables: number of variables want to be dumped for tecplot visualization.
// visualVariables : variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6)
// -- viscosityLaminar(7), viscosityTurbulent(8)
// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12), strain_rate(13), Q_criteria(14)
// -- Cp(15), timeStep(16), volume(17)
// -- modeledTKE(18),modeleddissipationrate(19), SSTF1(20), SSTF2(21)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!.
// Arriables order must from small to larger.
int nVisualVariables = 8;
int visualVariables[8] = 0, 1, 2, 3, 4, 5, 6, 15;
//-----------------------------------------------------------------------
# Turbulence Parameter #
//-----------------------------------------------------------------------
//turb_vis_kind :
// const int VIS_STD = 0;
// const int VIS_AVER = 1;
// const int VIS_TEST = 2;
// const int VIS_NEW1 = 3;
// const int VIS_NEW2 = 4;
// const int VIS_ERIC = 5;
int turbInterval = 1;
int turb_vis_kind = 2;
int turb_s_kind = 0; //turb_s_kind = 0:original 1:edwards 2:new
int mod_turb_res = 0;
double turb_relax = 1.0;
double turb_min_coef = 1.0e-1;
double vistoo = 1.0e-3;
double muoo = 1.0e-1;
double kwoo = 1.0;
# maximum eddy viscosity (myt/my)max
double mytmax = 1.0e10;
double sdilim = 1.0e20;
double coef_kvist = 1.0;
int monitor_vistmax = 0;
//-----------------------------------------------------------------------
# Other Parameter #
//-----------------------------------------------------------------------
// iapplication: 0 - NS
// 1 - MHD
// nm: equation number of the physics , but is out of commision now.
// 4 - for 2D
// 5 - for 3D
//ncatamod: 0 - full non-catalytic wall boundary condition;
// 1 - full catalytic wall boundary condition;
int dg_high_order = 0; //0 <20><><EFBFBD><EFBFBD><E6BEAB> <20><> 1 DG <20>߽׾<DFBD><D7BE><EFBFBD>
int iapplication = 0;
int nm = 5;
//MHD<48><44><EFBFBD><EFBFBD>
double bxoo = 0.0;
double byoo = 0.0;
double bzoo = 0.0;
double gama0 = 1.4;
double prl = 0.72;
double prt = 0.90;
double sc_l = 0.5;
double sc_t = 0.5;
int nchem = 0;
int nchemsrc = 0;
int nchemrad = 0;
int ntmodel = 1;
string gasfile = "./chemical/Gupta_air5s6r.dat";
int ncatamod = 0;
#########################################################################
// Multi-Grid parameters.
// mgrid: The number of level of Multi-Grid
// <= 1 : Single level.
// > 1 : multi-level.
// npre : for each grid, the number of pre-smoothing steps
// npost : for each grid, the number of post-smoothing steps
// n_solve: for the coarest grid the number of smoothing steps
// n_fas : V-multi cycle or W-multi cycle.
// 1 : V-multi cycle
// 2 : W-multi cycle
// mgvisl : If calculate the viscous term on coarse grid
// 0 : No
// 1 : Yes
// mgvist : If consideration the turbulent model on coarse grid.
// 0 : No
// 1 : Yes
// mgInitStep: Number of step computing on coarse grid, during flow initialization.
// cflMGTimes: CFL number enlarge times for coarse grid.
// mprol: Multi-grid interpolation method, interpolation from coarse cell to fine grid:
// 1: zero order;
// 2: first-order(default).
int mgrid = 1;
int n_solve = 1;
int n_pre = 1;
int n_fas = 1;
int n_post = 0;
int mgvisl = 1;
int mgvist = 0;
int mgInitStep = 100;
int mprol = 2;
double cflMGTimes = 1.0;
double correctionLimit= 0.01;
//----------------------- Some parameter for turbulent model. -----------------------------
int neasm = -3; // the variation of kw turbulent model
int ivortsource = 0;
int ismooth_turb = 0; // Residual smooth for turb or not.
int isplt = 2;
int inflowtype = 0;
//string n_turb_scheme = "roe","center","nnd";
string n_turb_scheme = "nnd";
// ---------------- Overset Grid parameter -------------------------------------
int codeOfDigHoles = 1;
int codeOfTurbulentModel = 0;
string masterFileName = "./grid/searchFile.inp";
string holeBasicFileName = "./grid/holeBasicFile.inp";
string holeFullFileName = "./grid/holeFullFile.dat";
string linkFileName = "./grid/topology.dat";
string zoneInverseFileName = "./grid/zoneInverseMapping.inp";
#########################################################################
# High Order Struct Solver #
#########################################################################
// ifvfd : 0 - NSSolverStruct using Finite Volume Method;
// 1 - NSSolverStruct using Finite Differ Method;
// =0 default
// SolverStructOrder: Spatial discretisation order of NS equations with struct grid
// =<2 finite volume method
// >=3 finite difference order (to be completed)
// =0 default
// str_highorder_interpolation_name: interpolation method: "prim", "char"
// str_highorder_flux_name: flux evaluation method: "roe", "steger", "godunov", "hllc"
int ifvfd = 0;
int SolverStructOrder = 0;
string str_highorder_interpolation_name = "char";
string str_highorder_flux_name = "steger";
// ---------------- advanced choices -------------------------------------------
// xkmuscl: the parameter of MUSCL interpolations, belongs to [-1,1].
// -1 - seconde-order fully-upwind differencing
// 0 - seconde-order upwind-biased differencing
// 0.333333 - third-order upwind-biased differencing
// 1 - seconde-order central differencing
// xbmuscl: the limiter parameter.
// 0 - the effect of the limiter is cancelled, means the first-order interpolations.
// allReduceStep: iteration intervals for MPI AllReduce operation, default '1'.
string outtimesc = "impbd2";
double unxk1 = 1.0;
double unxk2 = 0.0;
double xkmuscl = -1;
double xbmuscl = 1.0;
int allReduceStep = 1;
// --------------- ATP read ----------------------------------------------------
//@int inflowParaType = 0;
//@double reynolds = 2.329418E08;
//@double reference_temperature_dimensional = 288.144;
//@double reference_pressure_dimensional = 1.01313E05;
//@double height = -0.001;
//@int nsubsonicInlet = 0;
//@int nsubsonicOutlet = 0;
//@string inLetFileName = "./bin/subsonicInlet.hypara";
//@string outLetFileName = "./bin/subsonicOutlet.hypara";