forked from PHengLEI/PHengLEI-TestCases
697 lines
31 KiB
Plaintext
697 lines
31 KiB
Plaintext
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|||
|
// 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";
|