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.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
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_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
@ -51,4 +59,3 @@ int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
@ -51,4 +59,3 @@ int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
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_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
@ -51,4 +59,3 @@ int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
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_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -192,47 +192,3 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
int reconmeth = 0;
int limitVariables = 0;
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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
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_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//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.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//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.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -192,47 +192,3 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
int reconmeth = 0;
int limitVariables = 0;
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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//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.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
//int nsimutask = 0;
int nsimutask = 0;
//string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -31,14 +30,14 @@ int nparafile = 1;
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
int nsimutask = 3;
string parafilename = "./bin/partition.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
@ -49,6 +48,9 @@ string parafilename = "./bin/partition.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
int ndim = 3;
int nparafile = 1;
int nsimutask = 0;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

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

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,20 +33,28 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ----------------
int iovrlap = 0;
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""

View File

@ -8,7 +8,7 @@
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
int pgridtype = 0;
int pgridtype = 1;
int maxproc = 1;
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!!!
int nBoundaryConditons = 6;
int nBoundaryConditions = 6;
string bcName = "Solid";
{
string bodyName = "body";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
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_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
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_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
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_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -193,46 +193,3 @@ int reconmeth = 0;
int limitVariables = 0;
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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
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_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
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_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -194,46 +194,3 @@ int reconmeth = 0;
int limitVariables = 0;
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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -194,47 +194,3 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
int reconmeth = 0;
int limitVariables = 0;
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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -1,64 +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 = 8;
string bcName = "body";
{
int bcType = 2;
}
string bcName = "fairing";
{
int bcType = 2;
}
string bcName = "htail";
{
int bcType = 2;
}
string bcName = "nose";
{
int bcType = 2;
}
string bcName = "vtail";
{
int bcType = 2;
}
string bcName = "wing";
{
int bcType = 2;
}
string bcName = "symm";
{
int bcType = 3;
}
string bcName = "farfield";
{
int bcType = 4;
}
# '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.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,10 +22,10 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
int nsimutask = 1;
string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
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_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -24,6 +24,7 @@
// 4 -- Grid deformation, achieve unstructured grid deformation.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
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_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_subsonic.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//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.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 0;

View File

@ -192,47 +192,3 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
int reconmeth = 0;
int limitVariables = 0;
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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

View File

@ -1,44 +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 = 3;
string bcName = "BCWallInviscid";
{
int bcType = 2;
}
string bcName = "BCSymmetryPlane";
{
int bcType = 3;
}
string bcName = "BCFarfield";
{
int bcType = 4;
}
# '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.
// 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.
// 7 -- Grid type change, convert structured grid to unstructured grid.
// multiblock: Multi-block grid or not, only for structured grid conversion.
// 0 -- Not.
// 1 -- Yes.
@ -32,12 +33,23 @@
// 0 -- X axis.
// 1 -- Y 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 gridobj = 1;
int multiblock = 0;
int iadapt = 0;
int SymmetryFaceVector = 1;
int gridReorder = 0;
int faceReorderMethod = 0;
// axisup: Type of Cartisien coordinates system, used in grid conversion.
// 1 -- Y upward. (default)
// 2 -- Z upward.
@ -61,6 +73,7 @@ int omit_no_bound_bc = 0;
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
// 9 -- Gridgen type of structured grid, *.dat/*.grd.
// dumpOldGrid: If dump out the old grid file.
// 0 -- Not. (default)
// 1 -- Yes.
@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts";
// ----------------- some advanced choices ------------------------------
// iunsteady: The Grid is for unsteady simulation or not.
int iunsteady = 0;
int codeOfAleModel = 0;
// fileformat: Ustar Grid file format.
// 0 -- BINARY.
@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat";
string linkFileName = "./oversetGridView/topology.dat";
string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp";
// ----------------- Adaptive Mesh Refine -------------------------------
// In this file, the original_grid_file is used of the partition part.
// If use it dependently, abstract it here.
string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts";
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Refine Parameters -----------------------------
// anisoRefine: If refine grid by anisoRefine type.
// 0 -- Not. (default)
// 1 -- Yes.
// geometryUnit: Geometry unit.
// 1 -- meter.
// 2 -- millimeter.
@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs";
// 1 -- JSM-C2-NPOFF case.
// 2 -- CHNT.
// projectOrgPoint: If the original wall points need to be projected or not.
int geometryUnit = 1;
int anisoRefine = 0;
int geometryUnit = 1;
int isProject = 0;
int readDist = 0;
int isDeform = 0;
int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT.
int projectOrgPoint = 0; // if project original wall points.
int exclusiveCase = 0;
int projectOrgPoint = 0;
string geometryFileName = "./grid/jsm.igs";
// ----------------- Grid Deform Parameters -----------------------------
// deformationMethod: Grid Deform.
@ -181,8 +191,11 @@ double rotationAngle = 0.0;
// 1 -- struct grid.
// 2 -- refine structured grid.
// 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 maxproc = 4;
int numberOfMultifile = 1;
// traceMark: Trace mark or not, only for structured grid partition.
// 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.
// 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 attackd = 2.79;
double angleSlide = 0.00;
@ -334,6 +348,7 @@ double wallTemperature = -1.0;
double radiationCoef = 0.8;
double gridScaleFactor = 1.0;
double gridTranslationVector[] = [0.0, 0.0, 0.0];
int numberOfAerodynamicForceComponents = 1;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol.
// -- "vanleer", "steger", "hlle", "lax_f".
// -- "roe", "modified_roe".
// -- "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.
// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth".
// -- "nolim", no limiter.
// -- "vanalbada_clz", clz supersonic version.
// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3"
string inviscidSchemeName = "roe";
int isWennScheme = 0;
string str_limiter_name = "vanalbada";
#*******************************************************************
@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada";
// 3 -- Harten type, which is default used.
// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0.
// 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;
//string viscousName = "Euler";
@ -451,6 +473,8 @@ double skewnessAngle = 60.0;
int roeEntropyFixMethod = 3;
double roeEntropyScale = 1.0;
double AusmpwPlusLimiter = 1.0;
//-----------------------------------------------------------------------
# Temporal Discretisation #
//-----------------------------------------------------------------------
@ -466,8 +490,8 @@ double roeEntropyScale = 1.0;
// statisticalTimePeriod: Used as time period of statistic analysis.
// when the value is negative, time period is treated as infinite.
// statisticMethod: Statistic reynolds stress method.
0 --tau = <q^2> - <q>^2
1 --tau = <u'u'>
// 0 -- tau = <q^2> - <q>^2
// 1 -- tau = <u'u'>
// min_sub_iter: The min sub iteration of unsteady simulation.
// max_sub_iter: The max sub iteration of unsteady simulation.
// tol_sub_iter: The tolerance of sub iteration of unsteady simulation.
@ -478,9 +502,8 @@ double roeEntropyScale = 1.0;
// 4 -- LU-SGS.
// 5 -- Block LU-SGS.
// 6 -- Jacobian iteration.
// 7 -- Lower G-S iteration.
// 8 -- Upper G-S iteration.
// 9 -- Lower/Upper G-S iteration.
// 7 -- Line LU-SGS.
// 8 -- Matrix LU-SGS.
// 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.
// CFLStart: Started cfl number.
@ -493,6 +516,10 @@ double roeEntropyScale = 1.0;
// ifLocalTimeStep: Time step method.
// 0 --Local.
// 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.
// turbCFLScale: Turbulence model cfl number factor.
// codeOfAleModel: Arbitrary Lagrangian-Eulerian method.
@ -509,6 +536,7 @@ double roeEntropyScale = 1.0;
int iunsteady = 0;
double physicalTimeStep = 0.01;
double physicalTimeStepDimensional = -0.001;
int ifStartFromSteadyResults = 0;
int ifStaticsFlowField = 0;
int ifStaticsReynoldsStress = 0;
@ -525,10 +553,18 @@ double tol_sub_iter = 0.01;
int tscheme = 4;
int iSimplifyViscousTerm = 1;
int ifLocalTimeStep = 0;
int isUseLocalCFL = 0;
int isUsePreTwall = 0;
double CFLStart = 0.01;
double CFLEnd = 10.0;
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;
int swapDq = 1;
@ -548,7 +584,7 @@ double dtau = 0.001;
int wallFunctionType = 0;
int RKStage = 2;
double lamda[] = 0.5, 1.0;
double lamda[] = [0.5, 1.0];
//int RKStage = 1;
//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.
// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including 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;
string gridfile = "./grid/rae2822_hybrid2d__4.fts";
string wallTemperaturefile= "";
int nIsComputeWallDist = 0;
int walldistMethod = 1;
int cellMethodOrNodeMethod = 0;
string resSaveFile = "results/res.dat";
string turbresfile = "results/turbres.dat";
@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt";
string wall_aircoefile = "results/wall_aircoef.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;
string wall_varfile = "";
@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0];
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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),
// -- 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)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// 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),
// -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)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48),
// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52),
// -overlap iblank(iblank, 81)
// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23)
int nVisualVariables = 8;
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.
// nProbeVariables: Number of variables want to be dumped for probes monitered.
// 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!!!
// probeVariables order must from small to big.
// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables.
@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat";
int searchCellsMethod = 0;
int nProbeVariables = 6;
int probeVariables[] = [0, 1, 2, 3, 4, 5];
int nProbeVariables = 7;
int probeVariables[] = [0, 1, 2, 3, 4, 5, 6];
int probeVariablesInterpolationMethod = 0;
//-----------------------------------------------------------------------
# Turbulence Parameter #
@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0;
// turbInterval: Iteration number of turbulence.
// kindOfTurbSource: Kinds of turbulent source.
// 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.
// 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 turbOrderStruct = 2;
@ -739,6 +791,7 @@ double turbIntensity = -1.0;
int freeturbIntensitySRModify = 0;
double freeDecayXLocation = 0.0;
int compressibleCorrection = 0;
int prandtlNumberCorrection = 0;
int transitionMaFix = 1;
# maximum eddy viscosity (myt/my) max.
@ -749,7 +802,7 @@ int monitor_vistmax = 0;
# LES Parameter #
//-----------------------------------------------------------------------
// iLES: Create LESSolver or not.
// == 1 - Create LESSolver;
// = 1 - Create LESSolver;
// != 1 - not.
// amplitudeofDisturb: Amplitude of adding disturb.
// disturbstep: Unsteady time step or steady iteration of adding random disturb.
@ -808,9 +861,10 @@ int monitorNegativeConstant = 0;
// iapplication:
// 0 -- gas model is fixed in the codes.
// 1 -- gas model is imported from library files.
// iCodeBranch:
// 0 -- The old code version is used for Navier-Stokes.
// 1 -- A new code version is active for Navier-Stokes solver.
// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver,
// isAdaptiveSolver>0 indicates the HyFlow self-adaptive 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.
// 4 -- for 2D.
// 5 -- for 3D.
@ -824,7 +878,6 @@ int monitorNegativeConstant = 0;
// 0 -- not used .
// 1 -- used.
// nDensityModify: The type of densitymodify.
// 0 -- not used.
// 1 -- used.
// nchem:
@ -860,9 +913,13 @@ int monitorNegativeConstant = 0;
// 1 -- One-temperature model.
// 2 -- Two-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.
// 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.
// 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:
@ -875,6 +932,13 @@ int monitorNegativeConstant = 0;
// 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.
// 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].
// 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].
@ -884,13 +948,17 @@ int monitorNegativeConstant = 0;
// 1.146 -- proposed for an additional "fictitious" velocity slip.
// chemicalRelaxCorf: The value is in range of [0.001, 1.0].
// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0].
// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0].
// spectrumRadiusCoef: The value is in range of [0.0, 2.0].
// staticPressureRelaxCorf: The value is in range of [0.1, 1.0].
// nIsChemicalFreeze : the flag to freeze the chemical reactions.
// 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
//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
// 0 -- not used.
// 1 -- used.
@ -903,9 +971,30 @@ int monitorNegativeConstant = 0;
// nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid
// 0 -- not used.
// 1 -- used.
// nViscosityPeModified: Pe Modified for ViscosityCoef
// 0 -- not used.
// 1 -- used.
// nChemcalSourceModified: Modified on ChemcalSource
// 0 -- not 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:
// 0 -- The wall ablation is not computed.
// 1 -- The wall ablation is computed.
@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0;
// 0 -- The injection velocity of ablation wall is not computed.
// 1 -- The injection velocity of ablation wall is computed.
// nViscosityModel:
// 0 -- Blottner fitting method.
// 1 -- Gupta fitting method.
// 0 -- Blottner fitting method(N89).
// 1 -- Gupta fitting method(N90).
// nContinueModel: The new continue model can switch different computation model.
// 0 -- Not use the new continue model.
// 1 -- use the new continue model.
// nSutherland:
// 0 -- stands for selecting the Blotter curve fits mode.
// 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.
// "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.
// "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.
// 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.
// 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 iapplication = 0;
int iCodeBranch = 0;
int isAdaptiveSolver = 0;
int nm = 5;
int nEquilibriumGas = 0;
int nPCWCycleStep = 3;
int nRETCycleStep = 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 prl = 0.72;
@ -952,7 +1077,8 @@ int nchemsrc = 1;
int nchemrad = 1;
int ntmodel = 1;
int nEnergyRecycle = 0;
int nIdealState = 0;
int nEnergyRecycle = 1;
int nSlipBCModel = 0;
int nDensityModify = 1;
int nTEnergyModel = 0;
@ -960,6 +1086,11 @@ int nMeanFreePathType = 0;
int nIsChemicalFreeze = 0;
int nIsSuperCatalytic = 1;
int nTemperatureJump = 0;
int nSurfGradMethod = 0;
int nRapidFlowfield = 0;
int nSurfHeatMonitor = 0;
int nInitPressureStep = 100;
int nDumpCFLNumber = 0;
double parkVDPower = 0.6;
double catalyticCoef = 0.0;
@ -970,17 +1101,38 @@ double velocitySlipCorrectConstant = 1.0;
double chemicalRelaxCorf = 1.0;
double chemicalSpectrumRadiusCoef = 1.0;
double viscousSpectrumRadiusCoef = 1.0;
double inviscidSpectrumRadiusCoef = 1.0;
double staticPressureRelaxCorf = 1.0;
double viscousSpectrumRadiusCoef = 1.5;
double inviscidSpectrumRadiusCoef = 1.5;
double spectrumRadiusCoef = 0.5;
double staticPressureRelaxCorf = 0.2;
double maxViscous = 10000.0;
double trTemperatureMin = 10.0;
double veTemperatureMin = 30.0;
int nDebug = 0;
int nSpeciesLimit = 0;
int nTurblenceForChemical = 0;
int nViscosityFluxSublevelModified = 0 ;
int nChemcalSourceModified = 0;
double maxTemperature = 50000.0;
double densityMin = 1.0e-8;
double densityMinFactor = 0.1;
double tAdjustmentFactor = 10.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 isInjection = 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 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 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,6 +1169,11 @@ double gamaSpeciesB = 1.3;
double molecularWeightSpeciesA = 29.0;
double molecularWeightSpeciesB = 30.0;
//string gasfile = "Gas-Mixture";
//string speciesName = "O2, N2";
//string initMassFraction = "1.0, 0.0";
int nContinueModel = 0;
int nChemicalFlowStep = 0;
int ifStartFromPerfectGasResults = 0;
@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0;
int oversetInterpolationMethod = 0;
int readOversetFileOrNot = 0;
int symetryOrNot = 0;
int readInAuxiliaryInnerGrid = 1;
int readInAuxiliaryInnerGrid = 0;
int readInAuxiliaryOuterGrid = 0;
int readInSklFileOrNot = 0;
string auxiliaryInnerGrid0 = "./grid/aux-upper.fts";
@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3;
int twoOrderInterpolationOrNot = 0;
int keyEnlargeOfActiveNodes = 0;
int outTecplotOverset = 0;
int outPutOversetVisualization = 0;
int numberOfMovingBodies = 2;
// ----------------- ALE configuration ------------------------------
int codeOfAleModel = 1;
int codeOfAleModel = 0;
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 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;
double amplitude_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";
//additional force (system axis) fX fY fZ
double addedForce_0[] = 0.0 ,0.0 ,0.0 ;
@ -1218,3 +1385,12 @@ int integralOrder = 4;
#########################################################################
int isPlotVolumeField = 0;
#########################################################################
# Incompressible Parameter #
#########################################################################
int isSolveEnergyEquation = 0;
int isSolveTurbEquation = 0;
int isSolveSpeciesEquation = 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.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";