A01-A12、A16-A22、B01-B16、X01算例参数及文档更新

This commit is contained in:
hechao 2022-06-28 21:52:43 +08:00
parent 78fc3dbffd
commit 332e4f594e
128 changed files with 8971 additions and 2979 deletions

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -163,7 +163,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/flat_laminar_73_81.fts"; string gridfile = "./grid/flat_laminar_73_81.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -177,7 +177,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -190,8 +190,8 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;
double MUSCLCoefXk = 0.333333; double MUSCLCoefXk = 0.333333;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2; int ndim = 2;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";
@ -51,4 +59,3 @@ int numberOfGridProcessor = 0;
// ATP read // ATP read
//@string parafilename1 = "" //@string parafilename1 = ""
//@string parafilename2 = ""; //@string parafilename2 = "";

View File

@ -18,4 +18,4 @@ string partition_grid_file = "./grid/flat_laminar_73_81.fts";
// 1 -- single level. // 1 -- single level.
// 2 -- 2 level. // 2 -- 2 level.
// N -- N level,..., et al. // N -- N level,..., et al.
int numberOfMultigrid = 1; int numberOfMultigrid = 1;

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -148,7 +148,7 @@ int iunsteady = 0;
double CFLEnd = 100; double CFLEnd = 100;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double ktmax = 1.0e10; double ktmax = 1.0e10;
######################################################################### #########################################################################
# File In or Out # # File In or Out #
@ -160,7 +160,7 @@ double ktmax = 1.0e10;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/plate_137_97.fts"; string gridfile = "./grid/plate_137_97.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -176,7 +176,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -189,8 +189,8 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 0; int reconmeth = 0;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 1; int limitVector = 1;
double MUSCLCoefXk = 0.333333; double MUSCLCoefXk = 0.333333;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2; int ndim = 2;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";
@ -51,4 +59,3 @@ int numberOfGridProcessor = 0;
// ATP read // ATP read
//@string parafilename1 = "" //@string parafilename1 = ""
//@string parafilename2 = ""; //@string parafilename2 = "";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -163,7 +163,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/Mesh4_137_97.fts"; string gridfile = "./grid/Mesh4_137_97.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -177,7 +177,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -190,9 +190,9 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;
double MUSCLCoefXk =0.333333; double MUSCLCoefXk = 0.333333;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2; int ndim = 2;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";
@ -51,4 +59,3 @@ int numberOfGridProcessor = 0;
// ATP read // ATP read
//@string parafilename1 = "" //@string parafilename1 = ""
//@string parafilename2 = ""; //@string parafilename2 = "";

View File

@ -11,11 +11,11 @@
int pgridtype = 1; int pgridtype = 1;
int maxproc = 1; int maxproc = 1;
string original_grid_file = "./grid/Mesh4_137_97.fts"; string original_grid_file = "./grid/Mesh4_137_97.fts";
string partition_grid_file = "./grid/Mesh4_137_97.fts"; string partition_grid_file = "./grid/Mesh4_137_97.fts";
// numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid. // numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid.
// 1 -- single level. // 1 -- single level.
// 2 -- 2 level. // 2 -- 2 level.
// N -- N level,..., et al. // N -- N level,..., et al.
int numberOfMultigrid = 1; int numberOfMultigrid = 1;

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -146,7 +146,7 @@ int iunsteady = 0;
double CFLEnd = 50.0; double CFLEnd = 50.0;
double ktmax = 1.0e10; double ktmax = 1.0e10;
######################################################################### #########################################################################
# File In or Out # # File In or Out #
@ -158,7 +158,7 @@ double ktmax = 1.0e10;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/Mesh4_137_97.fts"; string gridfile = "./grid/Mesh4_137_97.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -172,7 +172,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2; int ndim = 2;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -48,7 +48,7 @@ double angleSlide = 0.00;
double wallTemperature = 294.0 ; double wallTemperature = 294.0 ;
int inflowParaType = 0; int inflowParaType = 0;
double refReNumber = 3.67e5; double refReNumber = 3.67e5;
double refDimensionalTemperature = 125.0; double refDimensionalTemperature = 125.0;
//int inflowParaType = 1; //int inflowParaType = 1;
@ -147,7 +147,7 @@ int iunsteady = 0;
double CFLEnd = 3.0; double CFLEnd = 3.0;
double ktmax = 1.0e10; double ktmax = 1.0e10;
######################################################################### #########################################################################
# File In or Out # # File In or Out #
@ -175,7 +175,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -188,8 +188,8 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 0; int reconmeth = 0;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 1; int limitVector = 1;
double MUSCLCoefXk = 0.333333; double MUSCLCoefXk = 0.333333;

View File

@ -27,4 +27,4 @@ int from_gtype = 3;
// from_gfile: path of original data file for unstructure grid convert from. // 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. // out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/input.grd"; string from_gfile = "./grid/input.grd";
string out_gfile = "./grid/input.fts"; string out_gfile = "./grid/input.fts";

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2; int ndim = 2;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -11,8 +11,8 @@
int pgridtype = 1; int pgridtype = 1;
int maxproc = 1; int maxproc = 1;
string original_grid_file = "./grid/input.fts"; string original_grid_file = "./grid/input.fts";
string partition_grid_file = "./grid/input.fts"; string partition_grid_file = "./grid/input.fts";
// numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid. // numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid.
// 1 -- single level. // 1 -- single level.

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -171,7 +171,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/NACA0012__4.fts"; string gridfile = "./grid/NACA0012__4.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -185,7 +185,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -198,6 +198,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;

View File

@ -26,5 +26,5 @@ int from_gtype = 3;
######################################################################### #########################################################################
// from_gfile: path of original data file for unstructure grid convert from. // 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. // out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/NACA0012.grd"; string from_gfile = "./grid/NACA0012.grd";
string out_gfile = "./grid/NACA0012.fts"; string out_gfile = "./grid/NACA0012.fts";

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -11,8 +11,8 @@
int pgridtype = 1; int pgridtype = 1;
int maxproc = 4; int maxproc = 4;
string original_grid_file = "./grid/NACA0012.fts"; string original_grid_file = "./grid/NACA0012.fts";
string partition_grid_file = "./grid/NACA0012__4.fts"; string partition_grid_file = "./grid/NACA0012__4.fts";
// numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid. // numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid.
// 1 -- single level. // 1 -- single level.

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -171,7 +171,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/rae2822_vis2d__4.fts"; string gridfile = "./grid/rae2822_vis2d__4.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -185,7 +185,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -198,6 +198,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2; int ndim = 2;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -163,7 +163,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/30p30n_str__4.fts"; string gridfile = "./grid/30p30n_str__4.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -177,7 +177,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2; int ndim = 2;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -171,7 +171,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/m6_str__4.fts"; string gridfile = "./grid/m6_str__4.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -185,7 +185,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -198,8 +198,8 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;
double MUSCLCoefXk = 0.333333; double MUSCLCoefXk = 0.333333;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -171,7 +171,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/stm-dkbm-c-all__16.fts"; string gridfile = "./grid/stm-dkbm-c-all__16.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -185,7 +185,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -147,7 +147,7 @@ int iunsteady = 0;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 100; int CFLVaryStep = 100;
double ktmax = 1.0e10; double ktmax = 1.0e10;
######################################################################### #########################################################################
# File In or Out # # File In or Out #
@ -159,7 +159,7 @@ double ktmax = 1.0e10;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/3dball.fts"; string gridfile = "./grid/3dball.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -175,7 +175,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -188,6 +188,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 0; int reconmeth = 0;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 1; int limitVector = 1;

View File

@ -27,4 +27,4 @@ int from_gtype = 3;
// from_gfile: path of original data file for unstructure grid convert from. // 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. // out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/3dball.grd"; string from_gfile = "./grid/3dball.grd";
string out_gfile = "./grid/3dball.fts"; string out_gfile = "./grid/3dball.fts";

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -148,7 +148,7 @@ int iunsteady = 0;
double CFLEnd = 1.0; double CFLEnd = 1.0;
double ktmax = 1.0e10; double ktmax = 1.0e10;
######################################################################### #########################################################################
# File In or Out # # File In or Out #
@ -160,7 +160,7 @@ double ktmax = 1.0e10;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/DoubleEllipse__4.fts"; string gridfile = "./grid/DoubleEllipse__4.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -176,7 +176,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -189,50 +189,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 0; int reconmeth = 0;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 1; int limitVector = 1;
#########################################################################
# Non-equilibrium gas #
#########################################################################
// nGasModel: The type of gas.
// 0 -- Earth gas.
// 1 -- Mars gas.
// nchem:
// 0 -- without chemical reaction flow.
// 1 -- the chemical reaction flow is considered.
// nchemsrc:
// 0 -- the source terms are not computed.
// 1 -- the source terms are computed.
// nchemrad:
// 0 -- compute the spectrum radius without considering chemical reaction flow.
// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow.
// ntmodel: The thermodynamic temperature model.
// 1 -- One-temperature model.
// 2 -- Two-temperature model.
// 3 -- Three-temperature model.
// catalyticCoef:
// 0.0 -- full non-catalytic wall boundary condition.
// 1.0 -- full catalytic wall boundary condition.
// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient.
// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11".
// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions.
// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions.
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
int nGasModel = 0;
int nchem = 0;
int ntmodel = 1;
int nchemsrc = 1;
int nchemrad = 1;
double catalyticCoef = 1.0;
string gasfile = "DK5";
string speciesName = "O, O2, NO, N, N2";
string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555";
int ifStartFromPerfectGasResults = 0;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -163,7 +163,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/2D_NLR7301_Str.fts"; string gridfile = "./grid/2D_NLR7301_Str.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -177,7 +177,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2; int ndim = 2;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -1,53 +0,0 @@
# nBoundaryConditons : number of global boundary conditions.
# bcName : Boundary Condition Name.
# bcType(in PHengLEI): Boundary Condition Type.
# Account of how to set boundaryconditon.
# string bcName = "Farfield";
# {
# int bcType = 4;
# int inflowParaType = 1;
# double attackd = 0;
# double refReNumber = 6.5e6;
# double refMachNumber = 3.5;
# double angleSlide = 0;
# }
int nBoundaryConditons = 5;
string bcName = "wall";
{
string bodyName = "body";
int bcType = 2;
}
string bcName = "sym";
{
int bcType = 3;
}
string bcName = "in";
{
int bcType = 4;
}
string bcName = "up";
{
int bcType = 4;
}
string bcName = "out";
{
int bcType = 6;
}
# 'bcType' is defined as following:
# 99: PERIODIC
# -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

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -147,7 +147,7 @@ int iunsteady = 0;
double CFLEnd = 1.0; double CFLEnd = 1.0;
double ktmax = 1.0e10; double ktmax = 1.0e10;
######################################################################### #########################################################################
# File In or Out # # File In or Out #
@ -159,7 +159,7 @@ double ktmax = 1.0e10;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/3d_16ramp_str.fts"; string gridfile = "./grid/3d_16ramp_str.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -173,7 +173,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -186,6 +186,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 0; int reconmeth = 0;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 1; int limitVector = 1;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -1,49 +0,0 @@
# nBoundaryConditons : number of global boundary conditions.
# bcName : Boundary Condition Name.
# bcType(in PHengLEI): Boundary Condition Type.
# Account of how to set boundaryconditon.
# string bcName = "Farfield";
# {
# int bcType = 4;
# int inflowParaType = 1;
# double attackd = 0;
# double refReNumber = 6.5e6;
# double refMachNumber = 3.5;
# double angleSlide = 0;
# }
int nBoundaryConditons = 4;
string bcName = "wall";
{
string bodyName = "body";
int bcType = 2;
}
string bcName = "sym";
{
int bcType = 3;
}
string bcName = "in";
{
int bcType = 5;
}
string bcName = "out";
{
int bcType = 6;
}
# 'bcType' is defined as following:
# 99: PERIODIC
# -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

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -148,7 +148,7 @@ int iunsteady = 0;
double CFLEnd = 3.0; double CFLEnd = 3.0;
double ktmax = 1.0e10; double ktmax = 1.0e10;
######################################################################### #########################################################################
# File In or Out # # File In or Out #
@ -160,7 +160,7 @@ double ktmax = 1.0e10;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/3d_HCFlare_str__16.fts"; string gridfile = "./grid/3d_HCFlare_str__16.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -176,7 +176,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -189,50 +189,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 0; int reconmeth = 0;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 1; int limitVector = 1;
#########################################################################
# Non-equilibrium gas #
#########################################################################
// nGasModel: The type of gas.
// 0 -- Earth gas.
// 1 -- Mars gas.
// nchem:
// 0 -- without chemical reaction flow.
// 1 -- the chemical reaction flow is considered.
// nchemsrc:
// 0 -- the source terms are not computed.
// 1 -- the source terms are computed.
// nchemrad:
// 0 -- compute the spectrum radius without considering chemical reaction flow.
// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow.
// ntmodel: The thermodynamic temperature model.
// 1 -- One-temperature model.
// 2 -- Two-temperature model.
// 3 -- Three-temperature model.
// catalyticCoef:
// 0.0 -- full non-catalytic wall boundary condition.
// 1.0 -- full catalytic wall boundary condition.
// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient.
// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11".
// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions.
// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions.
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
int nGasModel = 0;
int nchem = 0;
int ntmodel = 1;
int nchemsrc = 1;
int nchemrad = 1;
double catalyticCoef = 1.0;
string gasfile = "DK5";
string speciesName = "O, O2, NO, N, N2";
string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555";
int ifStartFromPerfectGasResults = 0;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -1,65 +0,0 @@
# nBoundaryConditons : 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 nBoundaryConditons = 5;
string bcName = "SOLID_SURFACE";
{
string bodyName = "body";
int bcType = 2;
}
string bcName = "SYMMETRY";
{
int bcType = 3;
}
string bcName = "INFLOW";
{
int bcType = 5;
}
string bcName = "OUTFLOW";
{
int bcType = 6;
}
string bcName = "POLE3";
{
int bcType = 73;
}
# 'bcType' is defined as following:
# 99: PERIODIC
# -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

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -158,9 +158,9 @@ double venkatCoeff = 0.5;
int iunsteady = 0; int iunsteady = 0;
double CFLEnd = 1.0; double CFLEnd = 1.0;
int CFLVaryStep = 1000; int CFLVaryStep = 1000;
double ktmax = 1.0e10; double ktmax = 1.0e10;
######################################################################### #########################################################################
# File In or Out # # File In or Out #
@ -172,7 +172,7 @@ double ktmax = 1.0e10;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/3D_bluntcone_str__64.fts"; string gridfile = "./grid/3D_bluntcone_str__64.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -188,7 +188,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -201,6 +201,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 0; int reconmeth = 0;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 1; int limitVector = 1;

View File

@ -14,16 +14,15 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
//int nsimutask = 0; int nsimutask = 0;
//string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -31,14 +30,14 @@ int nparafile = 1;
//int nsimutask = 2; //int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara"; //string parafilename = "./bin/cfd_para.hypara";
int nsimutask = 3; //int nsimutask = 3;
string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
@ -49,6 +48,9 @@ string parafilename = "./bin/partition.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -158,9 +158,9 @@ double venkatCoeff = 0.5;
int iunsteady = 0; int iunsteady = 0;
double CFLEnd = 2.0; double CFLEnd = 2.0;
int CFLVaryStep = 1000; int CFLVaryStep = 1000;
double ktmax = 1.0e10; double ktmax = 1.0e10;
######################################################################### #########################################################################
# File In or Out # # File In or Out #
@ -172,7 +172,7 @@ double ktmax = 1.0e10;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/OV102__24.fts"; string gridfile = "./grid/OV102__24.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -188,7 +188,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -201,6 +201,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 0; int reconmeth = 0;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 1; int limitVector = 1;

View File

@ -14,8 +14,7 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3;
int ndim = 2;
int nparafile = 1; int nparafile = 1;
int nsimutask = 0; int nsimutask = 0;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -13,7 +13,7 @@
# double angleSlide = 0; # double angleSlide = 0;
# } # }
int nBoundaryConditons = 5; int nBoundaryConditions = 5;
string bcName = "Wall"; string bcName = "Wall";
{ {
string bodyName = "body"; string bodyName = "body";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -146,7 +146,7 @@ int iunsteady = 0;
double CFLEnd = 30.0; double CFLEnd = 30.0;
double ktmax = 1.0e10; double ktmax = 1.0e10;
######################################################################### #########################################################################
# File In or Out # # File In or Out #
@ -158,7 +158,7 @@ double ktmax = 1.0e10;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/3D_plate_UDB_str.fts"; string gridfile = "./grid/3D_plate_UDB_str.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -172,7 +172,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -185,6 +185,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 0; int reconmeth = 0;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 1; int limitVector = 1;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,20 +33,28 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ---------------- // ---------------- Advanced Parameters, DO NOT care it ----------------
int iovrlap = 0;
int numberOfGridProcessor = 0; int numberOfGridProcessor = 0;
// ATP read // ATP read
//@string parafilename1 = "" //@string parafilename1 = ""

View File

@ -8,7 +8,7 @@
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts). // original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts). // partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
int pgridtype = 0; int pgridtype = 1;
int maxproc = 1; int maxproc = 1;
string original_grid_file = "./grid/3D_plate_UDB_str.fts"; string original_grid_file = "./grid/3D_plate_UDB_str.fts";

View File

@ -25,7 +25,7 @@
# For more information, see examples/bin/boundary_condition.hypara file!!! # For more information, see examples/bin/boundary_condition.hypara file!!!
int nBoundaryConditons = 6; int nBoundaryConditions = 6;
string bcName = "Solid"; string bcName = "Solid";
{ {
string bodyName = "body"; string bodyName = "body";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -146,7 +146,7 @@ int iunsteady = 0;
double CFLEnd = 5.0; double CFLEnd = 5.0;
double ktmax = 1.0e10; double ktmax = 1.0e10;
######################################################################### #########################################################################
# File In or Out # # File In or Out #
@ -158,7 +158,7 @@ double ktmax = 1.0e10;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/3D_jet__8.fts"; string gridfile = "./grid/3D_jet__8.fts";
int plotFieldType = 1; int plotFieldType = 1;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -172,7 +172,7 @@ int plotFieldType = 1;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -185,6 +185,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 0; int reconmeth = 0;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 1; int limitVector = 1;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -8,16 +8,16 @@
// original_grid_file : original grid file that want to be divided(HyperFLOW/PHengLEI type, *.fts). // 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). // partition_grid_file : target partition grid file(HyperFLOW/PHengLEI type, *.fts).
int pgridtype = 1; int pgridtype = 1;
int maxproc = 8; int maxproc = 8;
string original_grid_file = "./grid/3D_jet.fts"; string original_grid_file = "./grid/3D_jet.fts";
string partition_grid_file = "./grid/3D_jet__8.fts"; string partition_grid_file = "./grid/3D_jet__8.fts";
// Number of multi-grid levels, ONLY used for structured grid. // Number of multi-grid levels, ONLY used for structured grid.
// 1 -- single level, 2 -- 2 level, N -- N level, ..., et al. // 1 -- single level, 2 -- 2 level, N -- N level, ..., et al.
int numberOfMultigrid = 1; int numberOfMultigrid = 1;

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -163,7 +163,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/NACA0012_unstr.fts"; string gridfile = "./grid/NACA0012_unstr.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -177,7 +177,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2; int ndim = 2;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -163,7 +163,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/NACA4412_unstr__2.fts"; string gridfile = "./grid/NACA4412_unstr__2.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -177,7 +177,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2; int ndim = 2;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -171,7 +171,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/rae2822_hybrid2d_fine.fts"; string gridfile = "./grid/rae2822_hybrid2d_fine.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -185,7 +185,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -198,6 +198,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2; int ndim = 2;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -165,7 +165,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/F6WB_unstr__60.fts"; string gridfile = "./grid/F6WB_unstr__60.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -179,7 +179,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -192,6 +192,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -148,7 +148,7 @@ int iunsteady = 0;
double CFLEnd = 1.0; double CFLEnd = 1.0;
double ktmax = 1.0e10; double ktmax = 1.0e10;
######################################################################### #########################################################################
# File In or Out # # File In or Out #
@ -160,7 +160,7 @@ double ktmax = 1.0e10;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/X-38_unstr__128.fts"; string gridfile = "./grid/X-38_unstr__128.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -176,7 +176,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -189,50 +189,7 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 0; int reconmeth = 0;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 1; int limitVector = 1;
#########################################################################
# Non-equilibrium gas #
#########################################################################
// nGasModel: The type of gas.
// 0 -- Earth gas.
// 1 -- Mars gas.
// nchem:
// 0 -- without chemical reaction flow.
// 1 -- the chemical reaction flow is considered.
// nchemsrc:
// 0 -- the source terms are not computed.
// 1 -- the source terms are computed.
// nchemrad:
// 0 -- compute the spectrum radius without considering chemical reaction flow.
// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow.
// ntmodel: The thermodynamic temperature model.
// 1 -- One-temperature model.
// 2 -- Two-temperature model.
// 3 -- Three-temperature model.
// catalyticCoef:
// 0.0 -- full non-catalytic wall boundary condition.
// 1.0 -- full catalytic wall boundary condition.
// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient.
// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11".
// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions.
// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions.
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
int nGasModel = 0;
int nchem = 0;
int ntmodel = 1;
int nchemsrc = 1;
int nchemrad = 1;
double catalyticCoef = 1.0;
string gasfile = "DK5";
string speciesName = "O, O2, NO, N, N2";
string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555";
int ifStartFromPerfectGasResults = 0;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -144,8 +144,8 @@ double venkatCoeff = 5.0;
int iunsteady = 0; int iunsteady = 0;
double CFLStart = 5.0 double CFLStart = 5.0
double CFLEnd = 10.0; double CFLEnd = 10.0;
int nLUSGSSweeps = 1; int nLUSGSSweeps = 1;
@ -172,7 +172,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/10zy__64.fts"; string gridfile = "./grid/10zy__64.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -186,7 +186,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -199,6 +199,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -145,10 +145,10 @@ double venkatCoeff = 0.5;
int iunsteady = 0; int iunsteady = 0;
double CFLEnd = 3.0; double CFLEnd = 3.0;
int CFLVaryStep = 1000; int CFLVaryStep = 1000;
double ktmax = 1.0e10; double ktmax = 1.0e10;
######################################################################### #########################################################################
# File In or Out # # File In or Out #
@ -160,7 +160,7 @@ double ktmax = 1.0e10;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/sphere_m10__4.fts"; string gridfile = "./grid/sphere_m10__4.fts";
int plotFieldType = 1; int plotFieldType = 1;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -176,7 +176,7 @@ int plotFieldType = 1;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -189,6 +189,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 0; int reconmeth = 0;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 1; int limitVector = 1;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3; int ndim = 3;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -163,7 +163,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/2d_plate_laminar_unstr.fts"; string gridfile = "./grid/2d_plate_laminar_unstr.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -177,7 +177,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells. // Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver. // 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition. // 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2; int ndim = 2;
int nparafile = 1; int nparafile = 1;
@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara"; //string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1; //int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara"; //string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3; //int nsimutask = 3;
//string parafilename = "./bin/partition.hypara"; //string parafilename = "./bin/partition.hypara";
//int nsimutask = 4; //int nsimutask = 1;
//string parafilename = "./bin/repository.hypara"; //string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5; //int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara"; //string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14; //int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara"; //string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99; //int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara"; //string parafilename = "./bin/post_processing.hypara";

View File

@ -18,4 +18,4 @@ string partition_grid_file = "./grid/2d_plate_laminar_unstr.fts";
// 1 -- single level. // 1 -- single level.
// 2 -- 2 level. // 2 -- 2 level.
// N -- N level,..., et al. // N -- N level,..., et al.
int numberOfMultigrid = 1; int numberOfMultigrid = 1;

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation. // 4 -- Grid deformation, achieve unstructured grid deformation.
// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 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. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion. // multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not. // 0 -- Not.
// 1 -- Yes. // 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis. // 0 -- X axis.
// 1 -- Y axis. // 1 -- Y axis.
// 2 -- Z axis. // 2 -- Z axis.
// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion,
// which is CGNS type.
// 0 -- Not.
// 1 -- Yes.
// faceReorderMethod: the reorder method face of unstructured grid.
// 0 -- BSFCELLFACEORG.
// 1 -- BSFCELLFACELEFT.
// 2 -- BSFCELLFACERIGHT.
int gridtype = 0; int gridtype = 0;
int gridobj = 1; int gridobj = 1;
int multiblock = 0; int multiblock = 0;
int iadapt = 0; int iadapt = 0;
int SymmetryFaceVector = 1; int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion. // axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default) // 1 -- Y upward. (default)
// 2 -- Z upward. // 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in. // 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh. // 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file. // dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default) // 0 -- Not. (default)
// 1 -- Yes. // 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------ // ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not. // iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0; int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format. // fileformat: Ustar Grid file format.
// 0 -- BINARY. // 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat"; string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine ------------------------------- // ----------------- Grid Refine Parameters -----------------------------
// In this file, the original_grid_file is used of the partition part. // anisoRefine: If refine grid by anisoRefine type.
// If use it dependently, abstract it here. // 0 -- Not. (default)
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; // 1 -- Yes.
string geometryFileName = "./grid/jsm.igs";
// geometryUnit: Geometry unit. // geometryUnit: Geometry unit.
// 1 -- meter. // 1 -- meter.
// 2 -- millimeter. // 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case. // 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT. // 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not. // projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0; int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0; int isProject = 0;
int readDist = 0; int readDist = 0;
int isDeform = 0; int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. int exclusiveCase = 0;
int projectOrgPoint = 0; // if project original wall points. int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters ----------------------------- // ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform. // deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid. // 1 -- struct grid.
// 2 -- refine structured grid. // 2 -- refine structured grid.
// maxproc: The number of partition zones that want to be divided into. // maxproc: The number of partition zones that want to be divided into.
// numberOfMultifile: The number of partition grid files that want to be dumped out.
int pgridtype = 0; int pgridtype = 0;
int maxproc = 4; int maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition. // traceMark: Trace mark or not, only for structured grid partition.
// 0 -- Not. // 0 -- Not.
@ -291,6 +304,7 @@ int compressible = 1;
// refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol.
// Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on.
int directionMethod = 0;
double refMachNumber = 0.73; double refMachNumber = 0.73;
double attackd = 2.79; double attackd = 2.79;
double angleSlide = 0.00; double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8; double radiationCoef = 0.8;
double gridScaleFactor = 1.0; double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1; int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter. double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f". // -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe". // -- "roe", "modified_roe".
// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+".
// isWennScheme: If using WENN Scheme of struct grid.
// 0 -- NO. (default)
// 1 -- Yes.
// str_limiter_name: Limiter of struct grid. // str_limiter_name: Limiter of struct grid.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter. // -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version. // -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe"; string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada"; string str_limiter_name = "vanalbada";
#******************************************************************* #*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used. // 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// It is used to scale the default Roe entropy fix coefficients. // It is used to scale the default Roe entropy fix coefficients.
// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0
//int viscousType = 0; //int viscousType = 0;
//string viscousName = "Euler"; //string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3; int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0; double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Temporal Discretisation # # Temporal Discretisation #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis. // statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite. // when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method. // statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2 // 0 -- tau = <q^2> - <q>^2
1 --tau = <u'u'> // 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation. // min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max 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. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS. // 4 -- LU-SGS.
// 5 -- Block LU-SGS. // 5 -- Block LU-SGS.
// 6 -- Jacobian iteration. // 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration. // 7 -- Line LU-SGS.
// 8 -- Upper G-S iteration. // 8 -- Matrix LU-SGS.
// 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. // 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. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method.
// CFLStart: Started cfl number. // CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method. // ifLocalTimeStep: Time step method.
// 0 --Local. // 0 --Local.
// 1 --Global. // 1 --Global.
// isUseLocalCFL: use variable number of CFL or not.
// 0 -- global unified CFL number.
// 1 -- local CFL number.
// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no.
// visl_min: Minimum value of laminar viscosity coefficient. // visl_min: Minimum value of laminar viscosity coefficient.
// turbCFLScale: Turbulence model cfl number factor. // turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0; int iunsteady = 0;
double physicalTimeStep = 0.01; double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0; int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0; int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0; int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4; int tscheme = 4;
int iSimplifyViscousTerm = 1; int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0; int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01; double CFLStart = 0.01;
double CFLEnd = 10.0; double CFLEnd = 10.0;
int CFLVaryStep = 500; int CFLVaryStep = 500;
double pMaxForCFL = 0.2;
double pMinForCFL = 0.1;
double deltaMaxForCFL = 0.2;
double magnifyFactorForCFL = 1.1;
double reduceFactorForCFL = 0.5;
double ktmax = 1.0e10; double ktmax = 1.0e10;
int swapDq = 1; int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0; int wallFunctionType = 0;
int RKStage = 2; int RKStage = 2;
double lamda[] = 0.5, 1.0; double lamda[] = [0.5, 1.0];
//int RKStage = 1; //int RKStage = 1;
//double lamda[] = 1.0; //double lamda[] = 1.0;
@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0;
// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux.
// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux.
// nIsComputeWallDist: Whether to compute the wall distance.
// 0 -- Compute wall distance.
// 1 -- Not compute.
//
// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism.
// wall_heatfluxfile : The file to output the MaxHeatFlux of wall.
int numberOfGridGroups = 1; int numberOfGridGroups = 1;
string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= ""; string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1; int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat"; string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat"; string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.dat"; string wall_aircoefile = "results/wall_aircoef.dat";
string samplefile = "results/sample.dat"; string samplefile = "results/sample.dat";
string protectionFile0 = "results/flow0.dat";
string protectionFile1 = "results/flow1.dat";
string wall_heatfluxfile = "results/wall_heatflux.dat";
int nDumpSurfaceInfo = 0; int nDumpSurfaceInfo = 0;
string wall_varfile = ""; string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36),
// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40),
// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). // -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47),
// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -- overlap iblank(iblank, 81)
// -- specific heat ratio(gama, 56) // -- specific heat ratio(gama, 56)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11),
// -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15)
// -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), // -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
@ -691,7 +739,7 @@ int dumpStandardModel = 0;
// 1 -- Real cell where the probe is located. // 1 -- Real cell where the probe is located.
// nProbeVariables: Number of variables want to be dumped for probes monitered. // nProbeVariables: Number of variables want to be dumped for probes monitered.
// probeVariables : Variable types dumped, listed as following: // probeVariables : Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). // -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6).
// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!!
// probeVariables order must from small to big. // probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0; int searchCellsMethod = 0;
int nProbeVariables = 6; int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5]; int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0; int probeVariablesInterpolationMethod = 0;
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
# Turbulence Parameter # # Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence. // turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source. // kindOfTurbSource: Kinds of turbulent source.
// 0 -- Original. // 0 -- Original.
// 1 -- Edwards.
// 2 -- new.
// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0.
// transitionType: transition model type
// 0 -- none.
// 2 -- gama-re-theta.
// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition
// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not
int turbInterval = 1; int turbInterval = 1;
int turbOrderStruct = 2; int turbOrderStruct = 2;
@ -738,7 +790,8 @@ int transitionType = 0;
double turbIntensity = -1.0; double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0; int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0; double freeDecayXLocation = 0.0;
int compressibleCorrection = 0; int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1; int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max. # maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter # # LES Parameter #
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// iLES: Create LESSolver or not. // iLES: Create LESSolver or not.
// == 1 - Create LESSolver; // = 1 - Create LESSolver;
// != 1 - not. // != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb. // amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication: // iapplication:
// 0 -- gas model is fixed in the codes. // 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files. // 1 -- gas model is imported from library files.
// iCodeBranch: // isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// 0 -- The old code version is used for Navier-Stokes. // isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver.
// 1 -- A new code version is active for Navier-Stokes solver. // 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps.
// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual.
// nm: Equation number of the physics, but is out of commision now. // nm: Equation number of the physics, but is out of commision now.
// 4 -- for 2D. // 4 -- for 2D.
// 5 -- for 3D. // 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used . // 0 -- not used .
// 1 -- used. // 1 -- used.
// nDensityModify: The type of densitymodify. // nDensityModify: The type of densitymodify.
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nchem: // nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model. // 1 -- One-temperature model.
// 2 -- Two-temperature model. // 2 -- Two-temperature model.
// 3 -- Three-temperature model. // 3 -- Three-temperature model.
// nIdealState: whether take all gas species as ideal gas for gas-mixture process.
// 0 -- No.
// 1 -- Yes.
// nTEnergyModel: the method to computing temperature energy model. // nTEnergyModel: the method to computing temperature energy model.
// 0 -- the energy term is computed using the conventional method. // 0 -- the energy term is computed using the conventional method.
// 1 -- the energy term is computed using the curve fitting method. // 1 -- the energy term is computed using the polynomial fitting method.
// 2 -- the energy term is computed using the piecewise polynomial fitting method.
// parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model.
// The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value.
// catalyticCoef: // catalyticCoef:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// nTemperatureJump : the method to calculate the temperature jump. // nTemperatureJump : the method to calculate the temperature jump.
// 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode.
// 1 -- the general method where the iteration is calculated with the translation-rotation temperature. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature.
// nSurfGradMethod : the method to compute the surface heating ratio.
// 0 -- the gradient of variable is computed with the first-order difference method.
// 1 -- the gradient of variable is computed with the Green-Guass integral method.
// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero.
// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes.
// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value.
// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping.
// sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0].
// sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0].
// sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip. // 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0]. // chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. // spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions. // nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 0 -- not freeze, the chemical reaction sources will be calculated. // 0 -- not freeze, the chemical reaction sources will be calculated.
// 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te
//maxViscous: the maximum of Viscous.
//trTemperatureMin: the minimum value of trTemperature.
//veTemperatureMin: the minimum value of veTemperature.
//densityMin: the minimum value of density.
//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0].
// nDebug: cout the Wrong place and abort // nDebug: cout the Wrong place and abort
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource // nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not used. // 0 -- not used.
// 1 -- used. // 1 -- used.
// nChemcalSourceEsMethod: Modified on ChemcalSource
// 0 -- approximation algorithm 1 (Ori.)
// 1 -- approximation algorithm 2 (New)
// nMaxStepTemperature: the iterative steps of temperature.
// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs
// 0 -- not used
// 1 -- used
// nDiagonalModified: Modified on Diagonal
// 0 -- not used
// 1 -- Ori.
// 2 -- new
//nGradPrimtiveMethod:
// 0 -- Ori.
// 1 -- new
// nAblation: // nAblation:
// 0 -- The wall ablation is not computed. // 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed. // 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed. // 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed. // 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel: // nViscosityModel:
// 0 -- Blottner fitting method(N89).
// 0 -- Blottner fitting method. // 1 -- Gupta fitting method(N90).
// 1 -- Gupta fitting method. // nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland: // nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode. // 0 -- stands for selecting the Blotter curve fits mode.
// 1 -- stands for Sutherland relation. // 1 -- stands for Sutherland relation.
@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0;
// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions.
// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas.
// "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions.
// "Gas-Mixture" -- indicates the process of mixing two species without reacting. // "Gas-Mixture" -- indicates the process of mixing gas without reacting.
// for struct solver mixing two species£¨SpeciesA, SpeciesB£©.
// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©.
// For self-definition model, the gasfile is used to indicate the file path of the new gas model. // For self-definition model, the gasfile is used to indicate the file path of the new gas model.
// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma.
// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName.
// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes.
// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation.
// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation.
// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation.
// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory.
// 0 -- no,
// 1 -- yes.
// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model.
// 0 -- the density.
// 1 -- the translation temperature.
// 2 -- the vibration temperature.
// 3 -- the electron temperature.
// 4 -- the pressure.
// 5 -- the mass fraction of oxygen.
// 6 -- the mass fraction of nitrogen.
// firstStepError : the residual error of the first step iteration for the self-adaptive calculation.
// secondStepError : the residual error of the second step iteration for the self-adaptive calculation.
// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation.
// useHyflowSetting : Setting for HyFLOW GUI.
// 0 -- PHengLEI
// 1 -- HyFLOW
// nProtectData : Use the continuation file data protection mechanism.
// 0 -- no
// 1 -- yes
int dg_high_order = 0; int dg_high_order = 0;
int iapplication = 0; int iapplication = 0;
int iCodeBranch = 0; int isAdaptiveSolver = 0;
int nm = 5; int nm = 5;
int nEquilibriumGas = 0; int nEquilibriumGas = 0;
int nPCWCycleStep = 3; int nPCWCycleStep = 3;
int nRETCycleStep = 3; int nRETCycleStep = 3;
int nSLIPCycleStep= 3; int nSLIPCycleStep= 3;
int nIterFirstStep = 1000;
int nIterSecondStep= 2000;
int nIterThirdStep = 2000;
int nEnergyAssembly = 0;
int nControlVariable = 1;
double firstStepError = 0.01;
double secondStepError = 0.001;
double thirdStepError = 0.001;
double predictCFLError = 0.1;
double refGama = 1.4; double refGama = 1.4;
double prl = 0.72; double prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1; int nchemrad = 1;
int ntmodel = 1; int ntmodel = 1;
int nEnergyRecycle = 0; int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0; int nSlipBCModel = 0;
int nDensityModify = 1; int nDensityModify = 1;
int nTEnergyModel = 0; int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0; int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1; int nIsSuperCatalytic = 1;
int nTemperatureJump = 0; int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6; double parkVDPower = 0.6;
double catalyticCoef = 0.0; double catalyticCoef = 0.0;
@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0;
double sigmaMassFraction = 1.0; double sigmaMassFraction = 1.0;
double velocitySlipCorrectConstant = 1.0; double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0; double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0; double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0; double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.0; double inviscidSpectrumRadiusCoef = 1.5;
double staticPressureRelaxCorf = 1.0; double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0; double veTemperatureMin = 30.0;
int nDebug = 0; double maxTemperature = 50000.0;
int nSpeciesLimit = 0; double densityMin = 1.0e-8;
int nTurblenceForChemical = 0; double densityMinFactor = 0.1;
int nViscosityFluxSublevelModified = 0 ; double tAdjustmentFactor = 10.0;
int nChemcalSourceModified = 0; double iniSpeedCoef = 1.0;
int nDebug = 0;
int nSpeciesLimit = 1;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 1;
int nViscosityPeModified = 0;
int nChemcalSourceModified = 2;
int nChemcalSourceEsMethod = 1;
int nMaxStepTemperature = 5;
int veTemperatureMinModified = 1;
int nDiagonalModified = 0;
int nGradPrimtiveMethod = 1;
int nInviscidFluxModify = 1;
int nQlLimitMethod = 2;
int nSpeciesForWallMethod = 1;
int nDensityForWallMethod = 0;
int nProtectData = 0;
int useHyflowSetting = 0;
int nAblation = 0; int nAblation = 0;
int isInjection = 0; int isInjection = 0;
int nViscosityModel = 0; int nViscosityModel = 0;
@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767";
//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2";
//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779";
//string gasfile = "DK7"; //string gasfile = "Pa";
//string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-";
//string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0";
@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0; double molecularWeightSpeciesB = 30.0;
int nChemicalFlowStep = 0; //string gasfile = "Gas-Mixture";
int ifStartFromPerfectGasResults = 0; //string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
######################################################################### #########################################################################
// Multi-Grid parameters. // Multi-Grid parameters.
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0; int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0; int readOversetFileOrNot = 0;
int symetryOrNot = 0; int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1; int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0; int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0; int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0; int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0; int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0; int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2; int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------ // ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1; int codeOfAleModel = 0;
int aleStartStrategy = -1; int aleStartStrategy = -1;
double referenceLength = 1.0;
double referenceVelocity = 1.0;
double referenceDensity = 1.0;
int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd;
int strategyForGCLSource = 0; //0-present; 1-Ahn; int strategyForGCLSource = 0; //0-present; 1-Ahn;
@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0
int RBDMethod_0 = 0; int RBDMethod_0 = 0;
double amplitude_0 = 0.0; double amplitude_0 = 0.0;
double reduceFrequency_0 = 0.0; double reduceFrequency_0 = 0.0;
//direction of rotation
// 1 -- clockwise from the point of view along the positive x axis.
// -1 -- anticlockwise from the point of view along the positive x axis.
int direction_0 = -1;
double rotateFrequency_0 = 0.0;
//string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter";
//additional force (system axis) fX fY fZ //additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ; double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
######################################################################### #########################################################################
int isPlotVolumeField = 0; int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -163,7 +163,7 @@ int flowInitStep = 100;
// Please use 'rae2822_hybrid2d__4.fts' here! // Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/2d_plate_turb_unstr.fts"; string gridfile = "./grid/2d_plate_turb_unstr.fts";
int plotFieldType = 0; int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ---------------- // ----------------- Advanced Parameters, DO NOT care it ----------------
@ -177,7 +177,7 @@ int plotFieldType = 0;
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big. // Variables order must from small to big.
int nVisualVariables = 8; int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0). // limitVariables: Limit model (It is useful only if limitVector is 0).
@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1; int reconmeth = 1;
int limitVariables = 0; int limitVariables = 0;
int limitVector = 0; int limitVector = 0;

Some files were not shown because too many files have changed in this diff Show More