forked from PHengLEI/PHengLEI-TestCases
新添B25、B26、F12、Y03算例;部分算例参数及文档更新
This commit is contained in:
parent
188d76d348
commit
f674abb75a
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,195 @@
|
||||||
|
#########################################################################
|
||||||
|
# General Control Parameter #
|
||||||
|
#########################################################################
|
||||||
|
// maxSimuStep: The max simulation step, don't care simulation is restart or not.
|
||||||
|
// intervalStepFlow: The step intervals for flow variables file 'flow.dat' saved.
|
||||||
|
// intervalStepPlot: The step intervals for tecplot visual file 'tecflow.dat' saved.
|
||||||
|
// intervalStepForce: The step intervals for aerodynamics coefficients file 'aircoef.dat' saved.
|
||||||
|
// intervalStepRes: The step intervals for residual 'res.dat' saved.
|
||||||
|
|
||||||
|
int maxSimuStep = 80000;
|
||||||
|
|
||||||
|
int intervalStepFlow = 2000;
|
||||||
|
int intervalStepPlot = 1000;
|
||||||
|
int intervalStepForce = 10;
|
||||||
|
int intervalStepRes = 10;
|
||||||
|
// ifLowSpeedPrecon: Precondition process to accelerate convergence for low speed flow.
|
||||||
|
// 0 -- no precondition process. (default, mach > 0.3)
|
||||||
|
// 1 -- carry out precondition process. (mach number <= 0.3)
|
||||||
|
#########################################################################
|
||||||
|
# Inflow Parameter #
|
||||||
|
#########################################################################
|
||||||
|
// refMachNumber: Mach number.
|
||||||
|
// attackd: Angle of attack.
|
||||||
|
// angleSlide: Angle of sideslip.
|
||||||
|
// inflowParaType: The type of inflow parameters.
|
||||||
|
// 0 -- the nondimensional conditions.
|
||||||
|
// 1 -- the flight conditions.
|
||||||
|
// 2 -- the experiment conditions.
|
||||||
|
// 3 -- the subsonic boundary conditions.
|
||||||
|
// refReNumber: Reynolds number, which is based unit length, unit of 1/m.
|
||||||
|
// refDimensionalTemperature: Dimensional reference temperature, or the total temperature only for the experiment condition.
|
||||||
|
// refDimensionalPressure: Dimensional reference pressure, or the total pressure only for the experiment condition.
|
||||||
|
// height: Fly height, unit of km.
|
||||||
|
// gridScaleFactor: The customizable unit of the grid, default value is 1.0 for meter.Common dimensions like:
|
||||||
|
// 1 dm = 0.1 m.
|
||||||
|
// 1 cm = 0.01 m.
|
||||||
|
// 1 mm = 0.001m.
|
||||||
|
// 1 inch = 0.0254m.
|
||||||
|
// 1 foot = 12 inches = 0.3048m.
|
||||||
|
// 1 yard = 3 feet = 0.9144m.
|
||||||
|
// forceRefenenceLength, forceRefenenceLengthSpanWise, forceRefenenceArea: Reference length, SpanWise length and area, independent of grid unit.
|
||||||
|
// TorqueRefX, TorqueRefY, TorqueRefZ: Reference point, independent of grid unit.
|
||||||
|
|
||||||
|
double refMachNumber = 0.1;
|
||||||
|
double attackd = 0.0;
|
||||||
|
double angleSlide = 0.00;
|
||||||
|
|
||||||
|
int inflowParaType = 0;
|
||||||
|
double refReNumber = 20.0;
|
||||||
|
double refDimensionalTemperature = 288.15;
|
||||||
|
|
||||||
|
//int inflowParaType = 1;
|
||||||
|
//double height = 0.001;
|
||||||
|
|
||||||
|
double gridScaleFactor = 1.0;
|
||||||
|
|
||||||
|
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
|
||||||
|
double forceReferenceLength = 1.0; // unit of meter.
|
||||||
|
double forceReferenceArea = 1.0; // unit of meter^2.
|
||||||
|
double TorqueRefX = 0.0; // unit of meter.
|
||||||
|
double TorqueRefY = 0.0; // unit of meter.
|
||||||
|
double TorqueRefZ = 0.0; // unit of meter.
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# Physical models #
|
||||||
|
#########################################################################
|
||||||
|
// iviscous: Viscous model.
|
||||||
|
// 0 -- Euler.
|
||||||
|
// 1 -- Lamilar.
|
||||||
|
// 3 -- 1eq turbulent.
|
||||||
|
// 4 -- 2eq turbulent.
|
||||||
|
// viscousName: Laminar or tubulent model.
|
||||||
|
// -- "1eq-sa", when iviscous = 3.
|
||||||
|
// -- "2eq-kw-menter-sst", when iviscous = 4.
|
||||||
|
// DESType: Type of DES.
|
||||||
|
// 0 -- RANS.(default)
|
||||||
|
// 1 -- DES.
|
||||||
|
// 2 -- DDES.
|
||||||
|
// 3 -- IDDES.
|
||||||
|
|
||||||
|
//int viscousType = 0;
|
||||||
|
//string viscousName = "Euler";
|
||||||
|
|
||||||
|
int viscousType = 1;
|
||||||
|
string viscousName = "laminar";
|
||||||
|
|
||||||
|
//int viscousType = 3;
|
||||||
|
//string viscousName = "1eq-sa";
|
||||||
|
|
||||||
|
//int viscousType = 4;
|
||||||
|
//string viscousName = "2eq-kw-menter-sst";
|
||||||
|
|
||||||
|
int DESType = 0;
|
||||||
|
|
||||||
|
int roeEntropyFixMethod = 6;
|
||||||
|
double roeEntropyScale = 1.0;
|
||||||
|
#########################################################################
|
||||||
|
# Spatial Discretisation #
|
||||||
|
#########################################################################
|
||||||
|
#*******************************************************************
|
||||||
|
# Struct Solver *
|
||||||
|
#*******************************************************************
|
||||||
|
// str_limiter_name: Limiter of struct grid.
|
||||||
|
// -- "3rdsmooth", "smooth".
|
||||||
|
// -- "nolim", no limiter.
|
||||||
|
|
||||||
|
string str_limiter_name = "smooth";
|
||||||
|
|
||||||
|
#*******************************************************************
|
||||||
|
# UnStruct Solver *
|
||||||
|
#*******************************************************************
|
||||||
|
// uns_limiter_name: Limiter of Unstruct grid.
|
||||||
|
// -- "vencat".
|
||||||
|
// -- "1st", meaning accuracy of first-order.
|
||||||
|
// -- "nolim", no limiter.
|
||||||
|
// venkatCoeff: Coefficient of vencat limiter, when uns_limiter_name = 'vencat'.
|
||||||
|
// The smaller the value, the more robust it is.
|
||||||
|
|
||||||
|
string uns_limiter_name = "vencat";
|
||||||
|
double venkatCoeff = 5.0;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# Temporal Discretisation #
|
||||||
|
#########################################################################
|
||||||
|
// iunsteady: Steady or unsteady.
|
||||||
|
// 0 -- steady.
|
||||||
|
// 1 -- unsteay.
|
||||||
|
// CFLEnd: The CFL number, [0.1, 100].
|
||||||
|
// The bigger the value, the convergence faster but lower robustness.
|
||||||
|
// nLUSGSSweeps: Number of Sub-iteration of LU-SGS.
|
||||||
|
// 0 -- is recommended for structured solver.
|
||||||
|
// 1-3 -- is recommended for unstructured solver.
|
||||||
|
int ifLowSpeedPrecon = 1;
|
||||||
|
int iunsteady = 0;
|
||||||
|
|
||||||
|
int ifLocalTimeStep = 0;
|
||||||
|
int CFLMethod = 1;
|
||||||
|
double CFLStart = 1.0;
|
||||||
|
double CFLEnd = 30.0;
|
||||||
|
int CFLVaryStep = 200;
|
||||||
|
double turbCFLScale = 2.0;
|
||||||
|
#########################################################################
|
||||||
|
# Multi-Grid parameters #
|
||||||
|
#########################################################################
|
||||||
|
// nMGLevel: The number of Multi-Grid level.
|
||||||
|
// = 1 -- single-level.
|
||||||
|
// > 1 -- multi-level.
|
||||||
|
// flowInitStep: Flow initialization step, 0 - 500 is suggested.
|
||||||
|
// Multi-Grid : Number of steps computing on coarse grid, during flow initialization.
|
||||||
|
// Single-Grid: Number of steps computing using first-order with vanleer, during flow initialization.
|
||||||
|
|
||||||
|
int nMGLevel = 1;
|
||||||
|
int flowInitStep = 0;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# File In or Out #
|
||||||
|
#########################################################################
|
||||||
|
// gridfile: The partitioned Grid file path, using relative path,
|
||||||
|
// which is relative to the working directory.
|
||||||
|
// IMPORTANT WARNING: 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!
|
||||||
|
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
|
||||||
|
|
||||||
|
string gridfile = "./grid/cylinderUnstr_steady__4.fts";
|
||||||
|
int plotFieldType = 1;
|
||||||
|
int visualfileType = 0;
|
||||||
|
// ----------------- Advanced Parameters, DO NOT care it ----------------
|
||||||
|
// 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!!!
|
||||||
|
// Variables order must from small to big.
|
||||||
|
|
||||||
|
int nVisualVariables = 8;
|
||||||
|
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
|
||||||
|
|
||||||
|
// limitVariables: Limit model (It is useful only if limitVector is 0).
|
||||||
|
// 0 -- limit only for pressure and denstiny, then get the min value.
|
||||||
|
// 1 -- limit for every variables, then get the min value.
|
||||||
|
// limitVector:
|
||||||
|
// 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.
|
||||||
|
|
||||||
|
int reconmeth = 1;
|
||||||
|
int limitVariables = 0;
|
||||||
|
int limitVector = 0;
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
#########################################################################
|
||||||
|
# Grid data type #
|
||||||
|
#########################################################################
|
||||||
|
// gridtype: Grid type for generation, conversion, reconstruction, merging.
|
||||||
|
// 0 -- Unstructured grid.
|
||||||
|
// 1 -- Structured grid.
|
||||||
|
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
|
||||||
|
// axisRotateOrder : axis rotating order.
|
||||||
|
// 1 -- X-axis.
|
||||||
|
// 2 -- Y-axis.
|
||||||
|
// 3 -- Z-axis.
|
||||||
|
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
|
||||||
|
// from_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 gridtype = 0;
|
||||||
|
int nAxisRotateTimes = 0;
|
||||||
|
int axisRotateOrder[] = [1, 2, 3];
|
||||||
|
double axisRotateAngles[] = [0.0, 0.0, 0.0];
|
||||||
|
int from_gtype = 2;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# 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/cylinderUnstr_steady.cgns";
|
||||||
|
string out_gfile = "./grid/cylinderUnstr_steady.fts";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
string title = "PHengLEI Main Parameter Control File";
|
||||||
|
// IMPORTANT NOTICE:DON NOT MODIFY THE FOWLLOWING LINE
|
||||||
|
string defaultParaFile = "./bin/cfd_para.hypara";
|
||||||
|
// ndim: Dimensional of the grid: 2 or 3.
|
||||||
|
// nparafile: the number of the parameter file.
|
||||||
|
// nsimutask: simulation task type.
|
||||||
|
// 0 -- CFD Solver of NS or Turbulation.
|
||||||
|
// 1 -- Grid generation: for special typical cases, such as cylinder, flat plate, etc.
|
||||||
|
// Grid conversion: from other format to HyperFLOW format (.fts).
|
||||||
|
// Grid reconstruction: such as grid adaptation.
|
||||||
|
// Grid merging: merge two blocks into one block.
|
||||||
|
// Grid repairing: repair the original grid in order to remove the negative volume cells.
|
||||||
|
// 2 -- Wall distance computation for turb-solver.
|
||||||
|
// 3 -- Grid partition.
|
||||||
|
// 4 -- Knowledge repository / examples of PHengLEI-API.
|
||||||
|
int ndim = 2;
|
||||||
|
int nparafile = 1;
|
||||||
|
|
||||||
|
int nsimutask = 0;
|
||||||
|
string parafilename = "./bin/cfd_para_subsonic.hypara";
|
||||||
|
//string parafilename = "./bin/cfd_para_transonic.hypara";
|
||||||
|
//string parafilename = "./bin/cfd_para_supersonic.hypara";
|
||||||
|
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
|
||||||
|
//string parafilename = "./bin/cfd_para_incompressible.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 1;
|
||||||
|
//string parafilename = "./bin/grid_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 2;
|
||||||
|
//string parafilename = "./bin/cfd_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 3;
|
||||||
|
//string parafilename = "./bin/partition.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 1;
|
||||||
|
//string parafilename = "./bin/grid_deform_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 1;
|
||||||
|
//string parafilename = "./bin/grid_refine_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 14;
|
||||||
|
//string parafilename = "./bin/integrative_solver.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 99;
|
||||||
|
//string parafilename = "./bin/post_processing.hypara";
|
||||||
|
|
||||||
|
// ---------------- Advanced Parameters, DO NOT care it ----------------
|
||||||
|
int numberOfGridProcessor = 0;
|
||||||
|
// ATP read
|
||||||
|
//string parafilename2 = "./bin/overset_config.hypara";
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
// pgridtype: The grid type.
|
||||||
|
// 0 -- unstruct grid
|
||||||
|
// 1 -- struct grid
|
||||||
|
// maxproc: The number of partition zones that want to be divided into,
|
||||||
|
// which is equal to the number of CPU processors you want.
|
||||||
|
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
|
||||||
|
// 30~70 thousands unstructured cells per CPU-Core is suggested.
|
||||||
|
// 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).
|
||||||
|
|
||||||
|
int pgridtype = 0;
|
||||||
|
int maxproc = 4;
|
||||||
|
|
||||||
|
string original_grid_file = "./grid/cylinderUnstr_steady.fts";
|
||||||
|
string partition_grid_file = "./grid/cylinderUnstr_steady__4.fts";
|
||||||
|
|
||||||
|
|
||||||
|
// Number of multi-grid levels, ONLY used for structured grid.
|
||||||
|
// 1 -- single level, 2 -- 2 level, N -- N level, ..., et al.
|
||||||
|
int numberOfMultigrid = 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
红山开源风雷算例库原始网格获取百度网盘链接:
|
||||||
|
链接:http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
|
||||||
|
提取码:w47m
|
||||||
|
|
||||||
|
注:plot3D格式网格需同时下载.grd和.inp文件
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,201 @@
|
||||||
|
#########################################################################
|
||||||
|
# General Control Parameter #
|
||||||
|
#########################################################################
|
||||||
|
// maxSimuStep: The max simulation step, don't care simulation is restart or not.
|
||||||
|
// intervalStepFlow: The step intervals for flow variables file 'flow.dat' saved.
|
||||||
|
// intervalStepPlot: The step intervals for tecplot visual file 'tecflow.dat' saved.
|
||||||
|
// intervalStepForce: The step intervals for aerodynamics coefficients file 'aircoef.dat' saved.
|
||||||
|
// intervalStepRes: The step intervals for residual 'res.dat' saved.
|
||||||
|
|
||||||
|
int maxSimuStep = 6000;
|
||||||
|
|
||||||
|
int intervalStepFlow = 1000;
|
||||||
|
int intervalStepPlot = 200;
|
||||||
|
int intervalStepForce = 1;
|
||||||
|
int intervalStepRes = 1;
|
||||||
|
// ifLowSpeedPrecon: Precondition process to accelerate convergence for low speed flow.
|
||||||
|
// 0 -- no precondition process. (default, mach > 0.3)
|
||||||
|
// 1 -- carry out precondition process. (mach number <= 0.3)
|
||||||
|
#########################################################################
|
||||||
|
# Inflow Parameter #
|
||||||
|
#########################################################################
|
||||||
|
// refMachNumber: Mach number.
|
||||||
|
// attackd: Angle of attack.
|
||||||
|
// angleSlide: Angle of sideslip.
|
||||||
|
// inflowParaType: The type of inflow parameters.
|
||||||
|
// 0 -- the nondimensional conditions.
|
||||||
|
// 1 -- the flight conditions.
|
||||||
|
// 2 -- the experiment conditions.
|
||||||
|
// 3 -- the subsonic boundary conditions.
|
||||||
|
// refReNumber: Reynolds number, which is based unit length, unit of 1/m.
|
||||||
|
// refDimensionalTemperature: Dimensional reference temperature, or the total temperature only for the experiment condition.
|
||||||
|
// refDimensionalPressure: Dimensional reference pressure, or the total pressure only for the experiment condition.
|
||||||
|
// height: Fly height, unit of km.
|
||||||
|
// gridScaleFactor: The customizable unit of the grid, default value is 1.0 for meter.Common dimensions like:
|
||||||
|
// 1 dm = 0.1 m.
|
||||||
|
// 1 cm = 0.01 m.
|
||||||
|
// 1 mm = 0.001m.
|
||||||
|
// 1 inch = 0.0254m.
|
||||||
|
// 1 foot = 12 inches = 0.3048m.
|
||||||
|
// 1 yard = 3 feet = 0.9144m.
|
||||||
|
// forceRefenenceLength, forceRefenenceLengthSpanWise, forceRefenenceArea: Reference length, SpanWise length and area, independent of grid unit.
|
||||||
|
// TorqueRefX, TorqueRefY, TorqueRefZ: Reference point, independent of grid unit.
|
||||||
|
|
||||||
|
double refMachNumber = 0.02;
|
||||||
|
double attackd = 0.0;
|
||||||
|
double angleSlide = 0.00;
|
||||||
|
|
||||||
|
int inflowParaType = 0;
|
||||||
|
double refReNumber = 200.0;
|
||||||
|
double refDimensionalTemperature = 288.15;
|
||||||
|
|
||||||
|
//int inflowParaType = 1;
|
||||||
|
//double height = 0.001;
|
||||||
|
|
||||||
|
double gridScaleFactor = 1.0;
|
||||||
|
|
||||||
|
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
|
||||||
|
double forceReferenceLength = 1.0; // unit of meter.
|
||||||
|
double forceReferenceArea = 1.0; // unit of meter^2.
|
||||||
|
double TorqueRefX = 0.0; // unit of meter.
|
||||||
|
double TorqueRefY = 0.0; // unit of meter.
|
||||||
|
double TorqueRefZ = 0.0; // unit of meter.
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# Physical models #
|
||||||
|
#########################################################################
|
||||||
|
// iviscous: Viscous model.
|
||||||
|
// 0 -- Euler.
|
||||||
|
// 1 -- Lamilar.
|
||||||
|
// 3 -- 1eq turbulent.
|
||||||
|
// 4 -- 2eq turbulent.
|
||||||
|
// viscousName: Laminar or tubulent model.
|
||||||
|
// -- "1eq-sa", when iviscous = 3.
|
||||||
|
// -- "2eq-kw-menter-sst", when iviscous = 4.
|
||||||
|
// DESType: Type of DES.
|
||||||
|
// 0 -- RANS.(default)
|
||||||
|
// 1 -- DES.
|
||||||
|
// 2 -- DDES.
|
||||||
|
// 3 -- IDDES.
|
||||||
|
|
||||||
|
//int viscousType = 0;
|
||||||
|
//string viscousName = "Euler";
|
||||||
|
|
||||||
|
int viscousType = 1;
|
||||||
|
string viscousName = "laminar";
|
||||||
|
|
||||||
|
//int viscousType = 3;
|
||||||
|
//string viscousName = "1eq-sa";
|
||||||
|
|
||||||
|
//int viscousType = 4;
|
||||||
|
//string viscousName = "2eq-kw-menter-sst";
|
||||||
|
|
||||||
|
int DESType = 0;
|
||||||
|
|
||||||
|
int roeEntropyFixMethod = 6;
|
||||||
|
double roeEntropyScale = 1.0;
|
||||||
|
#########################################################################
|
||||||
|
# Spatial Discretisation #
|
||||||
|
#########################################################################
|
||||||
|
#*******************************************************************
|
||||||
|
# Struct Solver *
|
||||||
|
#*******************************************************************
|
||||||
|
// str_limiter_name: Limiter of struct grid.
|
||||||
|
// -- "3rdsmooth", "smooth".
|
||||||
|
// -- "nolim", no limiter.
|
||||||
|
|
||||||
|
string str_limiter_name = "smooth";
|
||||||
|
|
||||||
|
#*******************************************************************
|
||||||
|
# UnStruct Solver *
|
||||||
|
#*******************************************************************
|
||||||
|
// uns_limiter_name: Limiter of Unstruct grid.
|
||||||
|
// -- "vencat".
|
||||||
|
// -- "1st", meaning accuracy of first-order.
|
||||||
|
// -- "nolim", no limiter.
|
||||||
|
// venkatCoeff: Coefficient of vencat limiter, when uns_limiter_name = 'vencat'.
|
||||||
|
// The smaller the value, the more robust it is.
|
||||||
|
|
||||||
|
string uns_limiter_name = "vencat";
|
||||||
|
double venkatCoeff = 5.0;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# Temporal Discretisation #
|
||||||
|
#########################################################################
|
||||||
|
// iunsteady: Steady or unsteady.
|
||||||
|
// 0 -- steady.
|
||||||
|
// 1 -- unsteay.
|
||||||
|
// CFLEnd: The CFL number, [0.1, 100].
|
||||||
|
// The bigger the value, the convergence faster but lower robustness.
|
||||||
|
// nLUSGSSweeps: Number of Sub-iteration of LU-SGS.
|
||||||
|
// 0 -- is recommended for structured solver.
|
||||||
|
// 1-3 -- is recommended for unstructured solver.
|
||||||
|
int ifLowSpeedPrecon = 1;
|
||||||
|
int iunsteady = 1;
|
||||||
|
double physicalTimeStep = 0.017;
|
||||||
|
int min_sub_iter = 60;
|
||||||
|
int max_sub_iter = 60;
|
||||||
|
double tol_sub_iter = 0.001;
|
||||||
|
int aleStartStrategy = 1;
|
||||||
|
int ifStartFromSteadyResults = 0;
|
||||||
|
|
||||||
|
int ifLocalTimeStep = 0;
|
||||||
|
int CFLMethod = 1;
|
||||||
|
double CFLStart = 1.0;
|
||||||
|
double CFLEnd = 100.0;
|
||||||
|
int CFLVaryStep = 30;
|
||||||
|
double turbCFLScale = 2.0;
|
||||||
|
#########################################################################
|
||||||
|
# Multi-Grid parameters #
|
||||||
|
#########################################################################
|
||||||
|
// nMGLevel: The number of Multi-Grid level.
|
||||||
|
// = 1 -- single-level.
|
||||||
|
// > 1 -- multi-level.
|
||||||
|
// flowInitStep: Flow initialization step, 0 - 500 is suggested.
|
||||||
|
// Multi-Grid : Number of steps computing on coarse grid, during flow initialization.
|
||||||
|
// Single-Grid: Number of steps computing using first-order with vanleer, during flow initialization.
|
||||||
|
|
||||||
|
int nMGLevel = 1;
|
||||||
|
int flowInitStep = 0;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# File In or Out #
|
||||||
|
#########################################################################
|
||||||
|
// gridfile: The partitioned Grid file path, using relative path,
|
||||||
|
// which is relative to the working directory.
|
||||||
|
// IMPORTANT WARNING: 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!
|
||||||
|
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
|
||||||
|
|
||||||
|
string gridfile = "./grid/cylinderUnstr_unsteady__4.fts";
|
||||||
|
int plotFieldType = 1;
|
||||||
|
int visualfileType = 0;
|
||||||
|
// ----------------- Advanced Parameters, DO NOT care it ----------------
|
||||||
|
// 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!!!
|
||||||
|
// Variables order must from small to big.
|
||||||
|
|
||||||
|
int nVisualVariables = 8;
|
||||||
|
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
|
||||||
|
|
||||||
|
// limitVariables: Limit model (It is useful only if limitVector is 0).
|
||||||
|
// 0 -- limit only for pressure and denstiny, then get the min value.
|
||||||
|
// 1 -- limit for every variables, then get the min value.
|
||||||
|
// limitVector:
|
||||||
|
// 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.
|
||||||
|
|
||||||
|
int reconmeth = 1;
|
||||||
|
int limitVariables = 0;
|
||||||
|
int limitVector = 0;
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
#########################################################################
|
||||||
|
# Grid data type #
|
||||||
|
#########################################################################
|
||||||
|
// gridtype: Grid type for generation, conversion, reconstruction, merging.
|
||||||
|
// 0 -- Unstructured grid.
|
||||||
|
// 1 -- Structured grid.
|
||||||
|
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
|
||||||
|
// axisRotateOrder : axis rotating order.
|
||||||
|
// 1 -- X-axis.
|
||||||
|
// 2 -- Y-axis.
|
||||||
|
// 3 -- Z-axis.
|
||||||
|
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
|
||||||
|
// from_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 gridtype = 0;
|
||||||
|
int nAxisRotateTimes = 0;
|
||||||
|
int axisRotateOrder[] = [1, 2, 3];
|
||||||
|
double axisRotateAngles[] = [0.0, 0.0, 0.0];
|
||||||
|
int from_gtype = 2;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# 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/cylinderUnstr_unsteady.cgns";
|
||||||
|
string out_gfile = "./grid/cylinderUnstr_unsteady.fts";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
string title = "PHengLEI Main Parameter Control File";
|
||||||
|
// IMPORTANT NOTICE:DON NOT MODIFY THE FOWLLOWING LINE
|
||||||
|
string defaultParaFile = "./bin/cfd_para.hypara";
|
||||||
|
// ndim: Dimensional of the grid: 2 or 3.
|
||||||
|
// nparafile: the number of the parameter file.
|
||||||
|
// nsimutask: simulation task type.
|
||||||
|
// 0 -- CFD Solver of NS or Turbulation.
|
||||||
|
// 1 -- Grid generation: for special typical cases, such as cylinder, flat plate, etc.
|
||||||
|
// Grid conversion: from other format to HyperFLOW format (.fts).
|
||||||
|
// Grid reconstruction: such as grid adaptation.
|
||||||
|
// Grid merging: merge two blocks into one block.
|
||||||
|
// Grid repairing: repair the original grid in order to remove the negative volume cells.
|
||||||
|
// 2 -- Wall distance computation for turb-solver.
|
||||||
|
// 3 -- Grid partition.
|
||||||
|
// 4 -- Knowledge repository / examples of PHengLEI-API.
|
||||||
|
int ndim = 2;
|
||||||
|
int nparafile = 1;
|
||||||
|
|
||||||
|
int nsimutask = 0;
|
||||||
|
string parafilename = "./bin/cfd_para_subsonic.hypara";
|
||||||
|
//string parafilename = "./bin/cfd_para_transonic.hypara";
|
||||||
|
//string parafilename = "./bin/cfd_para_supersonic.hypara";
|
||||||
|
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
|
||||||
|
//string parafilename = "./bin/cfd_para_incompressible.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 1;
|
||||||
|
//string parafilename = "./bin/grid_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 2;
|
||||||
|
//string parafilename = "./bin/cfd_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 3;
|
||||||
|
//string parafilename = "./bin/partition.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 1;
|
||||||
|
//string parafilename = "./bin/grid_deform_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 1;
|
||||||
|
//string parafilename = "./bin/grid_refine_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 14;
|
||||||
|
//string parafilename = "./bin/integrative_solver.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 99;
|
||||||
|
//string parafilename = "./bin/post_processing.hypara";
|
||||||
|
|
||||||
|
// ---------------- Advanced Parameters, DO NOT care it ----------------
|
||||||
|
int numberOfGridProcessor = 0;
|
||||||
|
// ATP read
|
||||||
|
//string parafilename2 = "./bin/overset_config.hypara";
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
// pgridtype: The grid type.
|
||||||
|
// 0 -- unstruct grid
|
||||||
|
// 1 -- struct grid
|
||||||
|
// maxproc: The number of partition zones that want to be divided into,
|
||||||
|
// which is equal to the number of CPU processors you want.
|
||||||
|
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
|
||||||
|
// 30~70 thousands unstructured cells per CPU-Core is suggested.
|
||||||
|
// 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).
|
||||||
|
|
||||||
|
int pgridtype = 0;
|
||||||
|
int maxproc = 4;
|
||||||
|
|
||||||
|
string original_grid_file = "./grid/cylinderUnstr_unsteady.fts";
|
||||||
|
string partition_grid_file = "./grid/cylinderUnstr_unsteady__4.fts";
|
||||||
|
|
||||||
|
|
||||||
|
// Number of multi-grid levels, ONLY used for structured grid.
|
||||||
|
// 1 -- single level, 2 -- 2 level, N -- N level, ..., et al.
|
||||||
|
int numberOfMultigrid = 1;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
红山开源风雷算例库原始网格获取百度网盘链接:
|
||||||
|
链接:http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
|
||||||
|
提取码:w47m
|
||||||
|
|
||||||
|
注:plot3D格式网格需同时下载.grd和.inp文件
|
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,66 @@
|
||||||
|
# nBoundaryConditions: Number of global boundary conditions.
|
||||||
|
# bcName : Boundary condition name.
|
||||||
|
# bcType(in PHengLEI): Boundary condition type.
|
||||||
|
|
||||||
|
# How to set boundary condition, for example:
|
||||||
|
# string bcName = "Wall";
|
||||||
|
# {
|
||||||
|
# int bcType = 2;
|
||||||
|
# int viscousType = 1;
|
||||||
|
# double wallTemperature = -1.0;
|
||||||
|
# double uWall = 0.0;
|
||||||
|
# double vWall = 0.0;
|
||||||
|
# double wWall = 0.0;
|
||||||
|
# }
|
||||||
|
# string bcName = "Inflow";
|
||||||
|
# {
|
||||||
|
# int bcType = 5;
|
||||||
|
# int inflowParaType = 0;
|
||||||
|
# double refMachNumber = 0.73;
|
||||||
|
# double attackd = 2.79;
|
||||||
|
# double angleSlide = 0.0;
|
||||||
|
# double refReNumber = 6.5e6;
|
||||||
|
# double refDimensionalTemperature = 288.15;
|
||||||
|
# }
|
||||||
|
|
||||||
|
# For more information, see examples/bin/boundary_condition.hypara file!!!
|
||||||
|
|
||||||
|
int nBoundaryConditions = 5;
|
||||||
|
string bcName = "Overset_left";
|
||||||
|
{
|
||||||
|
int bcType = 1000;
|
||||||
|
}
|
||||||
|
string bcName = "Overset_right";
|
||||||
|
{
|
||||||
|
int bcType = 1000;
|
||||||
|
}
|
||||||
|
string bcName = "Wall_left";
|
||||||
|
{
|
||||||
|
string bodyName = "body1";
|
||||||
|
int bcType = 2;
|
||||||
|
}
|
||||||
|
string bcName = "Wall_right";
|
||||||
|
{
|
||||||
|
string bodyName = "body2";
|
||||||
|
int bcType = 2;
|
||||||
|
}
|
||||||
|
string bcName = "Farfield";
|
||||||
|
{
|
||||||
|
string bodyName = "body0";
|
||||||
|
int bcType = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
# 'bcType' is defined as following:
|
||||||
|
# -2: WAKE
|
||||||
|
# -1: INTERFACE
|
||||||
|
# 0 : NO_BOUNDARY_CONDITION
|
||||||
|
# 1 : EXTRAPOLATION
|
||||||
|
# 2 : SOLID_SURFACE
|
||||||
|
# 3 : SYMMETRY
|
||||||
|
# 4 : FARFIELD
|
||||||
|
# 5 : INFLOW
|
||||||
|
# 6 : OUTFLOW
|
||||||
|
# 52: PRESSURE_INLET
|
||||||
|
# 62: PRESSURE_OUTLET
|
||||||
|
# 61: OUTFLOW_CONFINED
|
||||||
|
# 7 : POLE
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,209 @@
|
||||||
|
#########################################################################
|
||||||
|
# General Control Parameter #
|
||||||
|
#########################################################################
|
||||||
|
// maxSimuStep: The max simulation step, don't care simulation is restart or not.
|
||||||
|
// intervalStepFlow: The step intervals for flow variables file 'flow.dat' saved.
|
||||||
|
// intervalStepPlot: The step intervals for tecplot visual file 'tecflow.dat' saved.
|
||||||
|
// intervalStepForce: The step intervals for aerodynamics coefficients file 'aircoef.dat' saved.
|
||||||
|
// intervalStepRes: The step intervals for residual 'res.dat' saved.
|
||||||
|
|
||||||
|
int maxSimuStep = 600;
|
||||||
|
int intervalStepFlow = 200;
|
||||||
|
int intervalStepPlot = 20;
|
||||||
|
int intervalStepForce = 1;
|
||||||
|
int intervalStepRes = 1;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# Inflow Parameter #
|
||||||
|
#########################################################################
|
||||||
|
// refMachNumber: Mach number.
|
||||||
|
// attackd: Angle of attack.
|
||||||
|
// angleSlide: Angle of sideslip.
|
||||||
|
// inflowParaType: The type of inflow parameters.
|
||||||
|
// 0 -- the nondimensional conditions.
|
||||||
|
// 1 -- the flight conditions.
|
||||||
|
// 2 -- the experiment conditions.
|
||||||
|
// 3 -- the subsonic boundary conditions.
|
||||||
|
// refReNumber: Reynolds number, which is based unit length, unit of 1/m.
|
||||||
|
// refDimensionalTemperature: Dimensional reference temperature, or the total temperature only for the experiment condition.
|
||||||
|
// refDimensionalPressure: Dimensional reference pressure, or the total pressure only for the experiment condition.
|
||||||
|
// height: Fly height, unit of km.
|
||||||
|
// gridScaleFactor: The customizable unit of the grid, default value is 1.0 for meter.Common dimensions like:
|
||||||
|
// 1 dm = 0.1 m.
|
||||||
|
// 1 cm = 0.01 m.
|
||||||
|
// 1 mm = 0.001m.
|
||||||
|
// 1 inch = 0.0254m.
|
||||||
|
// 1 foot = 12 inches = 0.3048m.
|
||||||
|
// 1 yard = 3 feet = 0.9144m.
|
||||||
|
// forceRefenenceLength, forceRefenenceLengthSpanWise, forceRefenenceArea: Reference length, SpanWise length and area, independent of grid unit.
|
||||||
|
// TorqueRefX, TorqueRefY, TorqueRefZ: Reference point, independent of grid unit.
|
||||||
|
|
||||||
|
int ifLowSpeedPrecon = 1;
|
||||||
|
double refMachNumber = 0.02058;
|
||||||
|
double attackd = 0.00;
|
||||||
|
double angleSlide = 0.00;
|
||||||
|
|
||||||
|
int inflowParaType = 0;
|
||||||
|
double refReNumber = 4.71229E5;
|
||||||
|
double refDimensionalTemperature = 293.15;
|
||||||
|
|
||||||
|
//int inflowParaType = 1;
|
||||||
|
//double height = 8.0;
|
||||||
|
|
||||||
|
//int inflowParaType = 2;
|
||||||
|
//double refDimensionalTemperature = 6051.024; // The total temperature, T*(1+(refGama-1)*M*M/2).
|
||||||
|
//double refDimensionalPressure = 4.299696E09; // The total pressure, p*(T0/T)^(refGama/(refGama-1)).
|
||||||
|
|
||||||
|
double gridScaleFactor = 1;
|
||||||
|
|
||||||
|
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
|
||||||
|
double forceReferenceLength = 1.0; // unit of meter.
|
||||||
|
double forceReferenceArea = 1.0; // unit of meter^2.
|
||||||
|
double TorqueRefX = 0.0; // unit of meter.
|
||||||
|
double TorqueRefY = 0.0; // unit of meter.
|
||||||
|
double TorqueRefZ = 0.0; // unit of meter.
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# Physical models #
|
||||||
|
#########################################################################
|
||||||
|
// viscousType : Viscous model.
|
||||||
|
// 0 -- Euler.
|
||||||
|
// 1 -- Lamilar.
|
||||||
|
// 3 -- 1eq turbulent.
|
||||||
|
// 4 -- 2eq turbulent.
|
||||||
|
// viscousName: Laminar or tubulent model.
|
||||||
|
// -- "1eq-sa", when viscousType = 3.
|
||||||
|
// -- "2eq-kw-menter-sst", when viscousType = 4.
|
||||||
|
// DESType: Type of DES.
|
||||||
|
// 0 -- RANS.(default)
|
||||||
|
// 1 -- DES.
|
||||||
|
// 2 -- DDES.
|
||||||
|
// 3 -- IDDES.
|
||||||
|
|
||||||
|
//int viscousType = 0;
|
||||||
|
//string viscousName = "Euler";
|
||||||
|
|
||||||
|
int viscousType = 1;
|
||||||
|
string viscousName = "laminar";
|
||||||
|
|
||||||
|
//int viscousType = 3;
|
||||||
|
//string viscousName = "1eq-sa";
|
||||||
|
|
||||||
|
//int viscousType = 4;
|
||||||
|
//string viscousName = "2eq-kw-menter-sst";
|
||||||
|
|
||||||
|
int DESType = 0;
|
||||||
|
|
||||||
|
int roeEntropyFixMethod = 3;
|
||||||
|
double roeEntropyScale = 1.0;
|
||||||
|
#########################################################################
|
||||||
|
# Spatial Discretisation #
|
||||||
|
#########################################################################
|
||||||
|
#*******************************************************************
|
||||||
|
# Struct Solver *
|
||||||
|
#*******************************************************************
|
||||||
|
// inviscidSchemeName: Spatial discretisation scheme of struct grid.
|
||||||
|
// Using this when solve structered grid or hybrid.
|
||||||
|
// -- "roe", "vanleer", "ausm+up", "ausmpw".
|
||||||
|
// str_limiter_name: Limiter of struct grid.
|
||||||
|
// -- "3rdsmooth", "smooth".
|
||||||
|
// -- "nolim", no limiter.
|
||||||
|
|
||||||
|
string inviscidSchemeName = "roe";
|
||||||
|
string str_limiter_name = "smooth";
|
||||||
|
|
||||||
|
#*******************************************************************
|
||||||
|
# UnStruct Solver *
|
||||||
|
#*******************************************************************
|
||||||
|
// 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.
|
||||||
|
// -- "vencat", "barth".
|
||||||
|
// -- "1st", meaning accuracy of first-order.
|
||||||
|
// -- "nolim", no limiter.
|
||||||
|
// venkatCoeff: Coefficient of vencat limiter, when uns_limiter_name = 'vencat'.
|
||||||
|
// The smaller the value, the more robust it is.
|
||||||
|
|
||||||
|
string uns_scheme_name = "roe";
|
||||||
|
string uns_limiter_name = "vencat";
|
||||||
|
double venkatCoeff = 5;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# Temporal Discretisation #
|
||||||
|
#########################################################################
|
||||||
|
// iunsteady: Steady or unsteady.
|
||||||
|
// 0 -- steady.
|
||||||
|
// 1 -- unsteay.
|
||||||
|
// CFLEnd: The CFL number, [0.1, 100].
|
||||||
|
// The bigger the value, the convergence faster but lower robustness.
|
||||||
|
// nLUSGSSweeps: Number of Sub-iteration of LU-SGS.
|
||||||
|
// 1 -- is recommended for structured solver.
|
||||||
|
// 1-3 -- is recommended for unstructured solver.
|
||||||
|
|
||||||
|
int iunsteady = 1;
|
||||||
|
double physicalTimeStep = 0.01944;
|
||||||
|
int min_sub_iter = 30;
|
||||||
|
int max_sub_iter = 30;
|
||||||
|
double tol_sub_iter = 1.0e-5;
|
||||||
|
int aleStartStrategy = 1;
|
||||||
|
int ifStartFromSteadyResults = 0;
|
||||||
|
|
||||||
|
int nLUSGSSweeps = 1;
|
||||||
|
int CFLMethod = 1;
|
||||||
|
double CFLStart = 0.1;
|
||||||
|
double CFLEnd = 100.0;
|
||||||
|
int CFLVaryStep = 20;
|
||||||
|
#########################################################################
|
||||||
|
# Multi-Grid parameters #
|
||||||
|
#########################################################################
|
||||||
|
// nMGLevel: The number of Multi-Grid level.
|
||||||
|
// = 1 -- single-level.
|
||||||
|
// > 1 -- multi-level.
|
||||||
|
// flowInitStep: Flow initialization step, 0 - 500 is suggested.
|
||||||
|
// Multi-Grid : Number of steps computing on coarse grid, during flow initialization.
|
||||||
|
// Single-Grid: Number of steps computing using first-order with vanleer, during flow initialization.
|
||||||
|
|
||||||
|
int nMGLevel = 1;
|
||||||
|
int flowInitStep = 0;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# File In or Out #
|
||||||
|
#########################################################################
|
||||||
|
// gridfile: The partitioned Grid file path, using relative path,
|
||||||
|
// which is relative to the working directory.
|
||||||
|
// IMPORTANT WARNING: 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!
|
||||||
|
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
|
||||||
|
|
||||||
|
int plotFieldType = 1;
|
||||||
|
int visualfileType = 0;
|
||||||
|
// ----------------- Advanced Parameters, DO NOT care it ----------------
|
||||||
|
// 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!!!
|
||||||
|
// Variables order must from small to big.
|
||||||
|
|
||||||
|
int nVisualVariables = 9;
|
||||||
|
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 14, 15];
|
||||||
|
|
||||||
|
// limitVariables: Limit model (It is useful only if limitVector is 0).
|
||||||
|
// 0 -- limit only for pressure and denstiny, then get the min value.
|
||||||
|
// 1 -- limit for every variables, then get the min value.
|
||||||
|
// limitVector:
|
||||||
|
// 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.
|
||||||
|
|
||||||
|
int reconmeth = 1;
|
||||||
|
int limitVariables = 0;
|
||||||
|
int limitVector = 0;
|
|
@ -0,0 +1,40 @@
|
||||||
|
#########################################################################
|
||||||
|
# Grid data type #
|
||||||
|
#########################################################################
|
||||||
|
// gridtype: Grid type for generation, conversion, reconstruction, merging.
|
||||||
|
// 0 -- Unstructured grid.
|
||||||
|
// 1 -- Structured grid.
|
||||||
|
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
|
||||||
|
// axisRotateOrder : axis rotating order.
|
||||||
|
// 1 -- X-axis.
|
||||||
|
// 2 -- Y-axis.
|
||||||
|
// 3 -- Z-axis.
|
||||||
|
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
|
||||||
|
// from_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 gridtype = 0;
|
||||||
|
int nAxisRotateTimes = 0;
|
||||||
|
int axisRotateOrder[] = [1, 2, 3];
|
||||||
|
double axisRotateAngles[] = [0.0, 0.0, 0.0];
|
||||||
|
int from_gtype = 2;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# 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.
|
||||||
|
//int numberOfGridFile = 3;
|
||||||
|
//string from_gfile = "./grid/background-unstr.cgns";
|
||||||
|
//string from_gfile1 = "./grid/downLeft-unstr.cgns";
|
||||||
|
string from_gfile = "./grid/upRight-unstr.cgns";
|
||||||
|
string out_gfile = "./grid/upRight-unstr.fts";
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
#########################################################################
|
||||||
|
# Grid data type #
|
||||||
|
#########################################################################
|
||||||
|
// gridtype: Grid type for generation, conversion, reconstruction, merging.
|
||||||
|
// 0 -- Unstructured grid.
|
||||||
|
// 1 -- Structured grid.
|
||||||
|
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
|
||||||
|
// axisRotateOrder : axis rotating order.
|
||||||
|
// 1 -- X-axis.
|
||||||
|
// 2 -- Y-axis.
|
||||||
|
// 3 -- Z-axis.
|
||||||
|
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
|
||||||
|
// from_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 gridtype = 0;
|
||||||
|
int nAxisRotateTimes = 0;
|
||||||
|
int axisRotateOrder[] = [1, 2, 3];
|
||||||
|
double axisRotateAngles[] = [0.0, 0.0, 0.0];
|
||||||
|
int from_gtype = 2;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# 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.
|
||||||
|
//int numberOfGridFile = 3;
|
||||||
|
//string from_gfile = "./grid/background-unstr.cgns";
|
||||||
|
//string from_gfile1 = "./grid/downLeft-unstr.cgns";
|
||||||
|
string from_gfile = "./grid/upRight-unstr.cgns";
|
||||||
|
string out_gfile = "./grid/upRight-unstr.fts";
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
#########################################################################
|
||||||
|
# Grid data type #
|
||||||
|
#########################################################################
|
||||||
|
// gridtype: Grid type for generation, conversion, reconstruction, merging.
|
||||||
|
// 0 -- Unstructured grid.
|
||||||
|
// 1 -- Structured grid.
|
||||||
|
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
|
||||||
|
// axisRotateOrder : axis rotating order.
|
||||||
|
// 1 -- X-axis.
|
||||||
|
// 2 -- Y-axis.
|
||||||
|
// 3 -- Z-axis.
|
||||||
|
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
|
||||||
|
// from_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 gridobj = 3;
|
||||||
|
int gridtype = 0;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# 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/upRight-unstr.fts";
|
||||||
|
//string out_gfile = "./grid/upRight-unstr_merge.fts";
|
||||||
|
string from_gfile = "./grid/downLeft-unstr.fts";
|
||||||
|
string out_gfile = "./grid/downLeft-unstr_merge.fts";
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
string title = "PHengLEI Main Parameter Control File";
|
||||||
|
|
||||||
|
// IMPORTANT NOTICE: DON NOT MODIFY THE FOWLLOWING LINE.
|
||||||
|
string defaultParaFile = "./bin/cfd_para.hypara";
|
||||||
|
|
||||||
|
// ndim: Dimensional of the grid, 2 or 3.
|
||||||
|
// nparafile: the number of parameter files.
|
||||||
|
// nsimutask: simulation task type.
|
||||||
|
// 0 -- CFD Solver of NS or Turbulation.
|
||||||
|
// 1 -- Grid generation: for special typical cases, such as cylinder, flat plate, etc.
|
||||||
|
// Grid conversion: from other format to PHengLEI format (.fts).
|
||||||
|
// Grid reconstruction: such as grid adaptation.
|
||||||
|
// Grid merging: merge two blocks into one block.
|
||||||
|
// Grid repairing: repair the original grid in order to remove the negative volume cells.
|
||||||
|
// 2 -- Wall distance computation for turb-solver.
|
||||||
|
// 3 -- Grid partition.
|
||||||
|
// 4 -- Knowledge repository / examples of PHengLEI-API.
|
||||||
|
int ndim = 3;
|
||||||
|
int nparafile = 3;
|
||||||
|
|
||||||
|
int nsimutask = 0;
|
||||||
|
//string parafilename = "./bin/cfd_para_subsonic.hypara";
|
||||||
|
string parafilename = "./bin/cfd_para_transonic.hypara";
|
||||||
|
//string parafilename = "./bin/cfd_para_supersonic.hypara";
|
||||||
|
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
|
||||||
|
//string parafilename = "./bin/incompressible.hypara";
|
||||||
|
|
||||||
|
string parafilename1 = "./bin/overset_config.hypara";
|
||||||
|
string parafilename2 = "./bin/kinetic_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 1;
|
||||||
|
//string parafilename = "./bin/grid_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 2;
|
||||||
|
//string parafilename = "./bin/cfd_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 3;
|
||||||
|
//string parafilename = "./bin/partition.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 1;
|
||||||
|
//string parafilename = "./bin/grid_deform_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 4;
|
||||||
|
//string parafilename = "./bin/repository.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 5;
|
||||||
|
//string parafilename = "./bin/overset_grid_view.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 6;
|
||||||
|
//string parafilename = "./bin/overset_config.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 13;
|
||||||
|
//string parafilename = "./bin/lbm_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 14;
|
||||||
|
//string parafilename = "./bin/integrative_solver.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 99;
|
||||||
|
//string parafilename = "./bin/post_processing.hypara";
|
||||||
|
|
||||||
|
// ---------------- Advanced Parameters, DO NOT care it ----------------
|
||||||
|
int numberOfGridProcessor = 0;
|
||||||
|
// ATP read
|
||||||
|
//@string parafilename1 = ""
|
||||||
|
//@string parafilename2 = "";
|
|
@ -0,0 +1,119 @@
|
||||||
|
#########################################################################
|
||||||
|
# Parameter for RBD #
|
||||||
|
#########################################################################
|
||||||
|
int codeOfAleModel = 1;
|
||||||
|
|
||||||
|
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# motive information #
|
||||||
|
#########################################################################
|
||||||
|
//0:1st-Admas-Bashforth; 1:2nd-Admas-Bashforth; 2:1st-Implicit-Euler; 3:2nd-Implicit Euler; 4:2nd-Adams-Moulton; 5:3rd-Adams-Moulton
|
||||||
|
int methodForKineticEquation = 0;
|
||||||
|
double relaxParameterOfKinetic = 1.0;
|
||||||
|
int numberOfMovingBodies = 3;
|
||||||
|
|
||||||
|
############################## body0 ##############################
|
||||||
|
// mass of parts.
|
||||||
|
double mass_0 = 1.0;
|
||||||
|
// mass matrix of parts Ixx Iyy Izz Ixy Ixz Iyz
|
||||||
|
double massMatrix_0[] = 1e-7, 1e-6, 1e-6, 0.0, 0.0, 0.0;
|
||||||
|
// initial six DOF position information of parts. xc yc zc.
|
||||||
|
double massCenter_0[] = 0.0 , 0.0, 0.0;
|
||||||
|
// initial six DOF position information of parts. angleX angleY angleZ.
|
||||||
|
double attitudeAngle_0[] = 0.0 , 0.0, 0.0;
|
||||||
|
// initial six DOF move information of parts. vc vy vz.
|
||||||
|
double massCenterVelocity_0[] = 0.0, 0.0, 0.0;
|
||||||
|
// initial six DOF move information of parts. omigX omigY omigZ.
|
||||||
|
double angularVelocity_0[] = 0.0, 0.0, 0.0;
|
||||||
|
// the object that the parts belong to.
|
||||||
|
int fartherIndex_0 = -1;
|
||||||
|
// the assembly position of the parts. xc yc zc angleX angleY angleZ.
|
||||||
|
double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0;
|
||||||
|
// the moving method of parts.
|
||||||
|
int RBDMethod_0 = 0;
|
||||||
|
double amplitude_0 = 0.0;
|
||||||
|
double reduceFrequency_0 = 0.0;
|
||||||
|
// additional force(inertia system) fX fY fZ.
|
||||||
|
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
|
||||||
|
// additional moment(inertia system) mX mY mZ.
|
||||||
|
double addedMoment_0[] = 0.0 ,0.0 ,0.0 ;
|
||||||
|
// the deformation method of the parts.
|
||||||
|
int morphing_0 = 0;
|
||||||
|
|
||||||
|
############################## body1 ##############################
|
||||||
|
// mass of parts.
|
||||||
|
double mass_1 = 1.0;
|
||||||
|
// mass matrix of parts Ixx Iyy Izz Ixy Ixz Iyz
|
||||||
|
double massMatrix_1[] = 1e-7, 1e-6, 1e-6, 0.0, 0.0, 0.0;
|
||||||
|
// initial six DOF position information of parts. xc yc zc.
|
||||||
|
double massCenter_1[] = 0.0, 0.0, 0.0;
|
||||||
|
// initial six DOF position information of parts. angleX angleY angleZ.
|
||||||
|
double attitudeAngle_1[] = 0.0 , 0.0, 0.0;
|
||||||
|
// initial six DOF move information of parts. vc vy vz.
|
||||||
|
double massCenterVelocity_1[] = 0.0, 0.0, 0.0;
|
||||||
|
// initial six DOF move information of parts. omigX omigY omigZ.
|
||||||
|
double angularVelocity_1[] = 0.0, 0.0, 0.0;
|
||||||
|
// the object that the parts belong to.
|
||||||
|
int fartherIndex_1 = -1;
|
||||||
|
// the assembly position of the parts. xc yc zc angleX angleY angleZ.
|
||||||
|
double configPamameter_1[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0;
|
||||||
|
// the moving method of parts.
|
||||||
|
int RBDMethod_1 = 17;
|
||||||
|
int direction_1 = -1;
|
||||||
|
//Angle = rotateFrequency/refDimensionalVelocity*physicalTimeStep*360 per step
|
||||||
|
//RPM-r/min = rotateFrequency*60
|
||||||
|
double rotateFrequency_1 = 1.2;
|
||||||
|
|
||||||
|
// gravity of parts (along negative direction in Y-axis, eg. 9.8).
|
||||||
|
double gravity_1 = 0.0;
|
||||||
|
|
||||||
|
// dimensional physical time for additional force(s).
|
||||||
|
double addedForceTime_1[] = 0.0;
|
||||||
|
|
||||||
|
// dimensional massCenterPosition for additional force(s).
|
||||||
|
double addedForcePosition_1[] = 0.0, 0.0, 0.0;
|
||||||
|
// additional force(inertia system) fX fY fZ.
|
||||||
|
double addedForce_1[] = 0.0 ,0.0 ,0.0 ;
|
||||||
|
// additional moment(inertia system) mX mY mZ.
|
||||||
|
double addedMoment_1[] = 0.0 ,0.0 ,0.0 ;
|
||||||
|
// the deformation method of the parts.
|
||||||
|
int morphing_1 = 0;
|
||||||
|
############################## body2 ##############################
|
||||||
|
// mass of parts.
|
||||||
|
double mass_2 = 1.0;
|
||||||
|
// mass matrix of parts Ixx Iyy Izz Ixy Ixz Iyz
|
||||||
|
double massMatrix_2[] = 1e-7, 1e-6, 1e-6, 0.0, 0.0, 0.0;
|
||||||
|
// initial six DOF position information of parts. xc yc zc.
|
||||||
|
double massCenter_2[] = 0.0, 0.0, 0.0;
|
||||||
|
// initial six DOF position information of parts. angleX angleY angleZ.
|
||||||
|
double attitudeAngle_2[] = 0.0 , 0.0, 0.0;
|
||||||
|
// initial six DOF move information of parts. vc vy vz.
|
||||||
|
double massCenterVelocity_2[] = 0.0, 0.0, 0.0;
|
||||||
|
// initial six DOF move information of parts. omigX omigY omigZ.
|
||||||
|
double angularVelocity_2[] = 0.0, 0.0, 0.0;
|
||||||
|
// the object that the parts belong to.
|
||||||
|
int fartherIndex_2 = -1;
|
||||||
|
// the assembly position of the parts. xc yc zc angleX angleY angleZ.
|
||||||
|
double configPamameter_2[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 ,0.0;
|
||||||
|
// the moving method of parts.
|
||||||
|
int RBDMethod_2 = 17;
|
||||||
|
int direction_2 = -1;
|
||||||
|
// Angle = rotateFrequency/refDimensionalVelocity*physicalTimeStep*360 per step
|
||||||
|
// RPM-r/min = rotateFrequency*60
|
||||||
|
double rotateFrequency_2 = 1.2;
|
||||||
|
|
||||||
|
// gravity of parts (along negative direction in Y-axis, eg. 9.8).
|
||||||
|
double gravity_2 = 0.0;
|
||||||
|
|
||||||
|
// dimensional physical time for additional force(s).
|
||||||
|
double addedForceTime_2[] = 0.0;
|
||||||
|
|
||||||
|
// dimensional massCenterPosition for additional force(s).
|
||||||
|
double addedForcePosition_2[] = 0.0, 0.0, 0.0;
|
||||||
|
// additional force(inertia system) fX fY fZ.
|
||||||
|
double addedForce_2[] = 0.0 ,0.0 ,0.0 ;
|
||||||
|
// additional moment(inertia system) mX mY mZ.
|
||||||
|
double addedMoment_2[] = 0.0 ,0.0 ,0.0 ;
|
||||||
|
// the deformation method of the parts.
|
||||||
|
int morphing_2 = 0;
|
|
@ -0,0 +1,49 @@
|
||||||
|
// ----------------- overlap configuration ------------------------------
|
||||||
|
// numberOfGridGroups: The number of grid groups.
|
||||||
|
// codeOfOversetGrid: Overlapping(overset) grid or not.
|
||||||
|
// 0 -- NON-overlapping grid.
|
||||||
|
// 1 -- Overlapping grid.
|
||||||
|
// oversetInterpolationMethod: the method of overset interpolation while field simulation.
|
||||||
|
// 0 -- set the acceptor cell value by donor cell value.
|
||||||
|
// 1 -- set the acceptor cell value by distance weight of donor cell value.
|
||||||
|
// readOversetFileOrNo: Whether to read overset-file(.ovs) that has been generated.
|
||||||
|
// 0 -- no.
|
||||||
|
// 1 -- yes.
|
||||||
|
// symetryOrNot: If there exist symetryplanes(XY plane, the coordinate of Z direction is 0) in
|
||||||
|
// the current overset grid(only for three dimension).
|
||||||
|
// 0 -- no.
|
||||||
|
// 1 -- yes.
|
||||||
|
// readInAuxiliaryInnerGrid: Whether to read auxiliary inner grid.
|
||||||
|
// 0 -- no.
|
||||||
|
// 1 -- yes.
|
||||||
|
// walldistMainZone: The initial value of background grid which does not exist wall boundary condition.
|
||||||
|
// toleranceForOversetSearch: The tolerance of overset searching zone to judge whether the obtained node is in the current computing cell.
|
||||||
|
// toleranceForOversetBox: The tolerance of building the minimum box of computing cells in the overlapping region.
|
||||||
|
// twoOrderInterpolationOrNot: The number of interpolated cell layers in the overlapping boundary.
|
||||||
|
// 0 -- one layer.
|
||||||
|
// 1 -- two layers.
|
||||||
|
// keyEnlargeOfActiveNodes: The number of enlarged overset-boundary layers in the buffer region.
|
||||||
|
// outTecplotOverset: Whether to dump out the flowfield data after the progress of overset configure.
|
||||||
|
// 0 -- no.
|
||||||
|
// 1 -- yes.
|
||||||
|
int codeOfOversetGrid = 1;
|
||||||
|
int numberOfGridGroups = 3;
|
||||||
|
|
||||||
|
string gridfile = "./grid/background-unstr__64.fts";
|
||||||
|
string gridfile1 = "./grid/downLeft-unstr_merge__64.fts";
|
||||||
|
string gridfile2 = "./grid/upRight-unstr_merge__64.fts";
|
||||||
|
|
||||||
|
double toleranceForOversetBox = 0.00001;
|
||||||
|
int symetryOrNot = 0;
|
||||||
|
int readInAuxiliaryInnerGrid = 0;
|
||||||
|
int twoOrderInterpolationOrNot = 0;
|
||||||
|
int keyEnlargeOfActiveNodes = 0;
|
||||||
|
|
||||||
|
int nCommunicateCellIBlank = 2;
|
||||||
|
int outTecplotOverset = 0;
|
||||||
|
int outPutOversetVisualization = 0;
|
||||||
|
|
||||||
|
int oversetInterpolationMethod = 0;
|
||||||
|
int oversetGridConfigMethod = 1;
|
||||||
|
int nLayerOfCellsOfCutting = 3;
|
||||||
|
double walldistMainZone = 5.0;
|
|
@ -0,0 +1,28 @@
|
||||||
|
// pgridtype: The grid type.
|
||||||
|
// 0 -- unstruct grid.
|
||||||
|
// 1 -- struct grid.
|
||||||
|
// maxproc: The number of partition zones that want to be divided into,
|
||||||
|
// which is equal to the number of CPU processors you want.
|
||||||
|
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
|
||||||
|
// 30~70 thousands unstructured cells per CPU-Core is suggested.
|
||||||
|
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
|
||||||
|
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
|
||||||
|
|
||||||
|
int numberOfGridFile = 3;
|
||||||
|
int pgridtype = 0;
|
||||||
|
int pgridtype1 = 0;
|
||||||
|
int pgridtype2 = 0;
|
||||||
|
int maxproc = 64;
|
||||||
|
int maxproc1 = 64;
|
||||||
|
int maxproc2 = 64;
|
||||||
|
|
||||||
|
string original_grid_file = "./grid/background-unstr.fts";
|
||||||
|
string original_grid_file1 = "./grid/downLeft-unstr_merge.fts";
|
||||||
|
string original_grid_file2 = "./grid/upRight-unstr_merge.fts";
|
||||||
|
|
||||||
|
|
||||||
|
// numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid.
|
||||||
|
// 1 -- single level.
|
||||||
|
// 2 -- 2 level.
|
||||||
|
// N -- N level,..., et al.
|
||||||
|
int numberOfMultigrid = 1;
|
|
@ -0,0 +1,5 @@
|
||||||
|
红山开源风雷算例库原始网格获取百度网盘链接:
|
||||||
|
链接:http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
|
||||||
|
提取码:w47m
|
||||||
|
|
||||||
|
注:plot3D格式网格需同时下载.grd和.inp文件
|
Binary file not shown.
37
README.md
37
README.md
|
@ -76,11 +76,13 @@ B 非结构
|
||||||
| 二维非结构S-K低速平板转捩模拟 | B17_TwoD_Plate_S-KSR_SST_Unstruct_4CPU |
|
| 二维非结构S-K低速平板转捩模拟 | B17_TwoD_Plate_S-KSR_SST_Unstruct_4CPU |
|
||||||
| 三维非结构CRM-HL高升力外形模拟 | B18_ThreeD_CRM-HL_Level-B_SA_Unstruct_1024CPU |
|
| 三维非结构CRM-HL高升力外形模拟 | B18_ThreeD_CRM-HL_Level-B_SA_Unstruct_1024CPU |
|
||||||
| 三维非结构TrapWing外形模拟 | B19_ThreeD_TrapWing_SA_AoA13_256CPU |
|
| 三维非结构TrapWing外形模拟 | B19_ThreeD_TrapWing_SA_AoA13_256CPU |
|
||||||
| 二维非结构NACA0012低速绕流(Gmresh) | B20_TwoD_NACA0012_SA_Gmresh_Unstruct_1CPU |
|
| 二维非结构NACA0012低速绕流(GMRES) | B20_TwoD_NACA0012_SA_GMRES_Unstruct_1CPU |
|
||||||
| 三维非结构球头高速绕流(Gmresh) | B21_ThreeD_Sphere_Laminar_Gmresh_Unstruct_1CPU |
|
| 三维非结构球头高速绕流(GMRES) | B21_ThreeD_Sphere_Laminar_GMRES_Unstruct_1CPU |
|
||||||
| 三维非结构Rotor67转子叶片(多参考系) | B22_ThreeD_Rotor67_SngleZone_RotatingFrame_6CPU |
|
| 三维非结构Rotor67转子叶片(多参考系) | B22_ThreeD_Rotor67_SngleZone_RotatingFrame_6CPU |
|
||||||
| 三维非结构Stage35(多参考系、掺混面) | B23_ThreeD_Stage35_MultiZone_MixingPlane_1CPU |
|
| 三维非结构Stage35(多参考系、掺混面) | B23_ThreeD_Stage35_MultiZone_MixingPlane_1CPU |
|
||||||
| 三维非结构Aachen 涡轮(周期边界) | B24_ThreeD_Aachen-row1_SngleZone_Periodicity_4CPU |
|
| 三维非结构Aachen 涡轮(周期边界) | B24_ThreeD_Aachen-row1_SngleZone_Periodicity_4CPU |
|
||||||
|
| 二维非结构圆柱(定常低速预处理) | B25_TwoD_Cylinder_Laminar_LowSpeed_Steady_Unstruct_4CPU |
|
||||||
|
| 二维非结构圆柱(非定常低速预处理) | B26_TwoD_Cylinder_Laminar_LowSpeed_Unsteady_Unstruct_4CPU |
|
||||||
|
|
||||||
C 混合
|
C 混合
|
||||||
|
|
||||||
|
@ -112,18 +114,19 @@ E LES
|
||||||
F 重叠网格、动网格
|
F 重叠网格、动网格
|
||||||
|
|
||||||
| <span style="display:inline-block;width: 430px"> 中文 </span> | <span style="display:inline-block;width: 380px"> 英文 </span> |
|
| <span style="display:inline-block;width: 430px"> 中文 </span> | <span style="display:inline-block;width: 380px"> 英文 </span> |
|
||||||
| :------------------------- | :--------------------------------- |
|
| :----------------------------------------------------------- | :----------------------------------------------------------- |
|
||||||
| 二维结构30p30n重叠网格装配 | F01_TwoD_30p30n_OversetGrid_SA_Struct_4CPU |
|
| 二维结构30p30n重叠网格装配 | F01_TwoD_30p30n_OversetGrid_SA_Struct_4CPU |
|
||||||
| 三维结构多弹体重叠网格装配 | F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU |
|
| 三维结构多弹体重叠网格装配 | F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU |
|
||||||
| 二维非结构双0012重叠网格装配 | F03_TwoD_Dual0012_OversetConfig_Unstruct_4CPU |
|
| 二维非结构双0012重叠网格装配 | F03_TwoD_Dual0012_OversetConfig_Unstruct_4CPU |
|
||||||
| 二维非结构双0012重叠网格计算 | F04_TwoD_Dual0012_OversetGrid_InvisCal_Unstruct_4CPU |
|
| 二维非结构双0012重叠网格计算 | F04_TwoD_Dual0012_OversetGrid_InvisCal_Unstruct_4CPU |
|
||||||
| 三维非结构AEDC吊舱分离重叠网格装配 | F05_ThreeD_AEDC_OversetConfig_Unstruct_8CPU |
|
| 三维非结构AEDC吊舱分离重叠网格装配 | F05_ThreeD_AEDC_OversetConfig_Unstruct_8CPU |
|
||||||
| 三维非结构AEDC吊舱分离非定常计算 | F06_ThreeD_AEDC_Separation_OversetGrid_Unsteady<br />_InvisCal_Unstruct_8CPU |
|
| 三维非结构AEDC吊舱分离非定常计算 | F06_ThreeD_AEDC_Separation_OversetGrid_Unsteady<br />_InvisCal_Unstruct_8CPU |
|
||||||
| 二维结构NACA0012翼型俯仰振荡 | F07_TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU |
|
| 二维结构NACA0012翼型俯仰振荡 | F07_TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU |
|
||||||
| 三维结构Finner弹体俯仰振荡 | F08_ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU |
|
| 三维结构Finner弹体俯仰振荡 | F08_ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU |
|
||||||
| 鸟类扑翼网格变形(弹簧法) | F09_ThreeD_Brid_GridDeformationSPRING_Unstruct_1CPU |
|
| 鸟类扑翼网格变形(弹簧法) | F09_ThreeD_Brid_GridDeformationSPRING_Unstruct_1CPU |
|
||||||
| 鸟类扑翼网格变形(RBF方法) | F10_ThreeD_Brid_GridDeformationRBF_Unstruct_1CPU |
|
| 鸟类扑翼网格变形(RBF方法) | F10_ThreeD_Brid_GridDeformationRBF_Unstruct_1CPU |
|
||||||
| 非结构三维M6机翼并行加密 | F11_ThreeD_M6_GridParallelRefine_Unstruct_4CPU |
|
| 非结构三维M6机翼并行加密 | F11_ThreeD_M6_GridParallelRefine_Unstruct_4CPU |
|
||||||
|
| 非结构三维NREL PhaseⅥ风轮叶片 | F12_ThreeD_NRELPhaseⅥ_Laminar_OversetGrid_LowSpeed_Unsteady_Unstruct_64CPU |
|
||||||
|
|
||||||
G 非平衡
|
G 非平衡
|
||||||
|
|
||||||
|
@ -177,11 +180,13 @@ X 用户分享算例
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Y 天河分支GPU算例
|
Y 异构计算算例
|
||||||
|
|
||||||
| <span style="display:inline-block;width: 355px"> 中文 </span> | <span style="display:inline-block;width: 380px"> 英文 </span> |
|
| <span style="display:inline-block;width: 355px"> 中文 </span> | <span style="display:inline-block;width: 380px"> 英文 </span> |
|
||||||
| :----------------------------------------------------------- | :----------------------------------------------------------- |
|
| :----------------------------------------------------------- | :----------------------------------------------------------- |
|
||||||
| 三维非结构客机标模模拟 | Y01_ThreeD_Chnt_SA_Unstruct_Branch_TH |
|
| 三维非结构客机标模模拟(天河分支) | Y01_ThreeD_Chnt_SA_Unstruct_Branch_TH |
|
||||||
|
| 三维非结构M6机翼(华为昇腾分支) | Y02_ThreeD_M6_Unstruct_Branch_Ascend |
|
||||||
|
| 三维非结构M6机翼(MC-LUSGS 天河分支) | Y03_ThreeD_M6_MC-LUSGS_Unstruct_Branch_TH |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,697 @@
|
||||||
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
// 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";
|
|
@ -0,0 +1,202 @@
|
||||||
|
#########################################################################
|
||||||
|
# General Control Parameter #
|
||||||
|
#########################################################################
|
||||||
|
// maxsimustep: the max simulation step, don't care simulation is restart or not.
|
||||||
|
// ndisk: the step intervals for flow variables file 'flow.dat' saved.
|
||||||
|
// nplotsave: the step intervals for tecplot visual file 'tecflow.dat' saved.
|
||||||
|
// nforcsave: the step intervals for aerodynamics coefficients file 'aircoef.dat' saved.
|
||||||
|
// nressave: the step intervals for residual 'res.dat' saved.
|
||||||
|
|
||||||
|
int maxsimustep = 20000;
|
||||||
|
|
||||||
|
int ndisk = 5000;
|
||||||
|
int nplotsave = 5000;
|
||||||
|
int nforcsave = 1000;
|
||||||
|
int nressave = 10;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# Inflow Parameter #
|
||||||
|
#########################################################################
|
||||||
|
// reference_mach_number: Mach number per meter.
|
||||||
|
// attackd: Angle of attack.
|
||||||
|
// sideslipd: Angle of sideslip.
|
||||||
|
// 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.
|
||||||
|
// inflowParaType: the type of inflow parameters.
|
||||||
|
// 0 - the nondimensional conditions.
|
||||||
|
// 1 - the flight conditions.
|
||||||
|
// 2 - the experiment conditions.
|
||||||
|
// height: Fly height, unit of km.
|
||||||
|
// 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 to grid scale.
|
||||||
|
// forceRefenenceX, forceRefenenceY, forceRefenenceZ: Reference point, independent to grid scale.
|
||||||
|
|
||||||
|
double reference_mach_number = 0.8395;
|
||||||
|
double attackd = 3.06;
|
||||||
|
double sideslipd = 0.00;
|
||||||
|
|
||||||
|
int inflowParaType = 0;
|
||||||
|
double reynolds = 1.171e7;
|
||||||
|
double reference_temperature_dimensional = 288;
|
||||||
|
|
||||||
|
//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 gridUnit = 0;
|
||||||
|
|
||||||
|
double forceRefenenceLength = 1.0; // unit of meter.
|
||||||
|
double forceRefenenceLengthSpanWise = 1.0; // unit of meter.
|
||||||
|
double forceRefenenceArea = 1.0; // unit of meter^2
|
||||||
|
double forceRefenenceX = 0.0; // unit of meter.
|
||||||
|
double forceRefenenceY = 0.0; // unit of meter.
|
||||||
|
double forceRefenenceZ = 0.0; // unit of meter.
|
||||||
|
|
||||||
|
#*******************************************************************
|
||||||
|
# Physical models *
|
||||||
|
#*******************************************************************
|
||||||
|
// iviscous: Viscous model
|
||||||
|
// 0 - Euler
|
||||||
|
// 1 - Lamilar
|
||||||
|
// 3 - 1eq turbulent
|
||||||
|
// 4 - 2eq turbulent
|
||||||
|
// visname : Laminar or tubulent model
|
||||||
|
// - "1eq-sa", when iviscous = 3
|
||||||
|
// - "2eq-kw-menter-sst", when iviscous = 4
|
||||||
|
// codeofDES : Type of DES
|
||||||
|
// 0 - RANS (default);
|
||||||
|
// 1 - DES;
|
||||||
|
// 2 - DDES;
|
||||||
|
// 3 - IDDES;
|
||||||
|
|
||||||
|
//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;
|
||||||
|
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# Spatial Discretisation #
|
||||||
|
#########################################################################
|
||||||
|
#*******************************************************************
|
||||||
|
# Struct Solver *
|
||||||
|
#*******************************************************************
|
||||||
|
// str_scheme_name: Spatial discretisation scheme of struct grid
|
||||||
|
// Using this when solve structered grid or hybrid.
|
||||||
|
// - "roe", "vanleer", "ausm+up", "ausmpw"
|
||||||
|
// str_limiter_name: Limiter of struct grid
|
||||||
|
// - "3rdsmooth", "smooth"
|
||||||
|
// - "nolim" - no limiter
|
||||||
|
|
||||||
|
string str_scheme_name = "roe";
|
||||||
|
string str_limiter_name = "smooth";
|
||||||
|
|
||||||
|
#*******************************************************************
|
||||||
|
# UnStruct Solver *
|
||||||
|
#*******************************************************************
|
||||||
|
// 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
|
||||||
|
// - "vencat", "barth"
|
||||||
|
// - "1st", meaning accuracy of first-order.
|
||||||
|
// - "nolim", no limiter.
|
||||||
|
// eps_vencat: Coefficient of vencat limiter, when uns_limiter_name = 'vencat'
|
||||||
|
// The smaller the value, the more robust it is.
|
||||||
|
|
||||||
|
string uns_scheme_name = "roe";
|
||||||
|
string uns_limiter_name = "vencat";
|
||||||
|
double eps_vencat = 5.0;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# Temporal Discretisation #
|
||||||
|
#########################################################################
|
||||||
|
// iunsteady: Steady or unsteady.
|
||||||
|
// 0 - steady
|
||||||
|
// 1 - unsteay
|
||||||
|
// cfl_end: The CFL number, [0.1, 100]
|
||||||
|
// The bigger the value, the convergence faster but lower robustness.
|
||||||
|
// sweeps: Number of Sub-iteration of LU-SGS.
|
||||||
|
// 1 : is recommended for structured solver.
|
||||||
|
// 1-3: is recommended for unstructured solver.
|
||||||
|
|
||||||
|
int iunsteady = 0;
|
||||||
|
|
||||||
|
double cfl_end = 0.1;
|
||||||
|
int tscheme = 4;
|
||||||
|
int sweeps = 1;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# Multi-Grid parameters #
|
||||||
|
#########################################################################
|
||||||
|
// mgrid: The number of Multi-Grid level
|
||||||
|
// = 1 : Single level.
|
||||||
|
// > 1 : multi-level.
|
||||||
|
// mgInitStep: Number of step computing on coarse grid, during flow initialization.
|
||||||
|
// 0~500 is suggested.
|
||||||
|
|
||||||
|
int mgrid = 1;
|
||||||
|
int mgInitStep = 100;
|
||||||
|
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# 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 whole field results to tecplot or not, 0/1.
|
||||||
|
|
||||||
|
string gridfile = "./grid/M6_str2unstr.fts";
|
||||||
|
int visual_field = 0;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ---------------- advanced Parameters, DO NOT care it -----------
|
||||||
|
// 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;
|
||||||
|
|
||||||
|
// 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.
|
||||||
|
int reconmeth = 1;
|
||||||
|
int limit_mode = 0;
|
||||||
|
int limiter_vec = 0;
|
|
@ -0,0 +1,30 @@
|
||||||
|
#########################################################################
|
||||||
|
# Grid data type #
|
||||||
|
#########################################################################
|
||||||
|
// gridtype: Grid type for generation, conversion, reconstruction, merging.
|
||||||
|
// 0 -- Unstructured grid.
|
||||||
|
// 1 -- Structured grid.
|
||||||
|
// axisup: Type of Cartisien coordinates system, used in grid conversion.
|
||||||
|
// 1 -- Y upward. (default)
|
||||||
|
// 2 -- Z upward.
|
||||||
|
// from_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 gridtype = 0;
|
||||||
|
int axisup = 2;
|
||||||
|
int from_gtype = 2;
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# 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/M6_str2unstr.cgns";
|
||||||
|
string out_gfile = "./grid/M6_str2unstr.fts";
|
|
@ -0,0 +1,51 @@
|
||||||
|
string title = "PHengLEI Main Parameter Control File";
|
||||||
|
|
||||||
|
// IMPORTANT NOTICE<43><45>DON NOT MODIFY THE FOWLLOWING LINE
|
||||||
|
string defaultParaFile = "./bin/cfd_para.hypara";
|
||||||
|
|
||||||
|
// ndim: Dimensional of the grid: 2 or 3.
|
||||||
|
// nparafile: the number of the parameter file.
|
||||||
|
// nsimutask: simulation task type.
|
||||||
|
// 0 -- CFD Solver of NS or Turbulation.
|
||||||
|
// 1 -- Grid generation: for special typical cases, such as cylinder, flat plate, etc.
|
||||||
|
// Grid conversion: from other format to HyperFLOW format (.fts).
|
||||||
|
// Grid reconstruction: such as grid adaptation.
|
||||||
|
// Grid merging: merge two blocks into one block.
|
||||||
|
// Grid repairing: repair the original grid in order to remove the negative volume cells.
|
||||||
|
// 2 -- Wall distance computation for turb-solver.
|
||||||
|
// 3 -- Grid partition.
|
||||||
|
// 4 -- Knowledge repository / examples of PHengLEI-API.
|
||||||
|
int ndim = 3;
|
||||||
|
int nparafile = 1;
|
||||||
|
|
||||||
|
int nsimutask = 0;
|
||||||
|
//string parafilename = "./bin/cfd_para_subsonic.hypara";
|
||||||
|
string parafilename = "./bin/cfd_para_transonic.hypara";
|
||||||
|
//string parafilename = "./bin/cfd_para_supersonic.hypara";
|
||||||
|
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
|
||||||
|
//string parafilename = "./bin/incompressible.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 1;
|
||||||
|
//string parafilename = "./bin/grid_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 2;
|
||||||
|
//string parafilename = "./bin/cfd_para.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 3;
|
||||||
|
//string parafilename = "./bin/partition.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 4;
|
||||||
|
//string parafilename = "./bin/repository.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 5;
|
||||||
|
//string parafilename = "./bin/overset_grid_view.hypara";
|
||||||
|
|
||||||
|
//int nsimutask = 99;
|
||||||
|
//string parafilename = "./bin/post_processing.hypara";
|
||||||
|
|
||||||
|
// ---------------- advanced Parameters, DO NOT care it -----------
|
||||||
|
int iovrlap = 0;
|
||||||
|
int numberOfGridProcessor = 0;
|
||||||
|
// ATP read
|
||||||
|
//@string parafilename1 = ""
|
||||||
|
//@string parafilename2 = "";
|
|
@ -0,0 +1,20 @@
|
||||||
|
// pgridtype: The grid type.
|
||||||
|
// 0 -- unstruct grid
|
||||||
|
// 1 -- struct grid
|
||||||
|
// maxproc: The number of partition zones that want to be divided into,
|
||||||
|
// which is equal to the number of CPU processors you want.
|
||||||
|
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
|
||||||
|
// 30~70 thousands unstructured cells per CPU-Core is suggested.
|
||||||
|
// 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).
|
||||||
|
|
||||||
|
int pgridtype = 0;
|
||||||
|
int maxproc = 4;
|
||||||
|
|
||||||
|
string original_grid_file = "./grid/m6_unstr.fts";
|
||||||
|
string partition_grid_file = "./grid/m6_unstr__4.fts";
|
||||||
|
|
||||||
|
|
||||||
|
// Number of multi-grid levels, ONLY used for structured grid.
|
||||||
|
// 1 -- single level, 2 -- 2 level, N -- N level, ..., et al.
|
||||||
|
int numberOfMultigrid = 1;
|
Loading…
Reference in New Issue