//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // 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 常规精度 , 1 DG 高阶精度 int iapplication = 0; int nm = 5; //MHD相关 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";