diff --git a/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/boundary_condition.hypara b/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/boundary_condition.hypara deleted file mode 100644 index f62e113..0000000 --- a/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/boundary_condition.hypara +++ /dev/null @@ -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 = "BCWall"; -{ - string bodyName = "body"; - int bcType = 2; -} -string bcName = "BCSymmetryPlane"; -{ - int bcType = 3; -} -string bcName = "BCFarfield"; -{ - int bcType = 4; -} -string bcName = "BCInflow"; -{ - int bcType = 5; -} -string bcName = "BCOutflow"; -{ - 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 diff --git a/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/cfd_para.hypara b/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/cfd_para.hypara +++ b/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/cfd_para.hypara @@ -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 = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // 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; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 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; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 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,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -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; + diff --git a/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/grid_para.hypara b/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/grid_para.hypara index bae40ff..433b368 100644 --- a/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/grid_para.hypara +++ b/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/grid_para.hypara @@ -17,17 +17,17 @@ // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. -int gridtype = 1; -int axisup = 1; -int from_gtype = 2; +int gridtype = 1; +int axisup = 1; +int from_gtype = 2; ######################################################################### # File path # ######################################################################### // from_gfile: path of original data file for unstructure grid convert from. // out_gfile: path of target file for grid convert to, *.fts type of file usually. -string from_gfile = "./grid/sk-flat-2D_str.cgns"; -string out_gfile = "./grid/sk-flat-2D_str.fts"; +string from_gfile = "./grid/sk-flat-2D_str.cgns"; +string out_gfile = "./grid/sk-flat-2D_str.fts"; diff --git a/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/key.hypara b/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/key.hypara index 78c5988..431e270 100644 --- a/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/key.hypara +++ b/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/key.hypara @@ -23,7 +23,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,14 +37,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 = 5; -//string parafilename = "./bin/overset_grid_view.hypara"; - -//int nsimutask = 13; -//string parafilename = "./bin/lbm_para.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; @@ -56,4 +50,4 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; int numberOfGridProcessor = 0; // ATP read //@string parafilename1 = "" -//@string parafilename2 = ""; +//@string parafilename2 = ""; \ No newline at end of file diff --git a/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/partition.hypara b/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/partition.hypara index f421043..a0a62f6 100644 --- a/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/partition.hypara +++ b/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/bin/partition.hypara @@ -8,11 +8,11 @@ // original_grid_file : original grid file that want to be divided(HyperFLOW/PHengLEI type, *.fts). // partition_grid_file : target partition grid file(HyperFLOW/PHengLEI type, *.fts). -int pgridtype = 1; -int maxproc = 4; +int pgridtype = 1; +int maxproc = 4; -string original_grid_file = "./grid/sk-flat-2D_str.fts"; -string partition_grid_file = "./grid/sk-flat-2D_str__4.fts"; +string original_grid_file = "./grid/sk-flat-2D_str.fts"; +string partition_grid_file = "./grid/sk-flat-2D_str__4.fts"; // Number of multi-grid levels, ONLY used for structured grid. diff --git a/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/二维结构低速平æ¿è½¬æ©ç®—例说明文档.pdf b/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/二维结构低速平æ¿è½¬æ©ç®—例说明文档.pdf index bcad1c6..825e2ed 100644 Binary files a/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/二维结构低速平æ¿è½¬æ©ç®—例说明文档.pdf and b/A23-TwoD_Plate_S-KSR_SST_Struct_4CPU/二维结构低速平æ¿è½¬æ©ç®—例说明文档.pdf differ diff --git a/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/boundary_condition.hypara b/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/boundary_condition.hypara deleted file mode 100644 index 5cc332b..0000000 --- a/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/boundary_condition.hypara +++ /dev/null @@ -1,69 +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 = 6; -string bcName = "Wall"; -{ - string bodyName = "body"; - int bcType = 2; -} -string bcName = "Symmetry Plane"; -{ - int bcType = 3; -} -string bcName = "Farfield"; -{ - int bcType = 4; -} -string bcName = "Farfield2"; -{ - int bcType = 4; -} -string bcName = "Inflow"; -{ - int bcType = 5; -} -string bcName = "Outflow"; -{ - 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 diff --git a/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/cfd_para.hypara b/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/cfd_para.hypara +++ b/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/cfd_para.hypara @@ -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 = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // 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; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 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; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 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,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -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; + diff --git a/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/key.hypara b/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/key.hypara index 78c5988..431e270 100644 --- a/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/key.hypara +++ b/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/key.hypara @@ -23,7 +23,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,14 +37,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 = 5; -//string parafilename = "./bin/overset_grid_view.hypara"; - -//int nsimutask = 13; -//string parafilename = "./bin/lbm_para.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; @@ -56,4 +50,4 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; int numberOfGridProcessor = 0; // ATP read //@string parafilename1 = "" -//@string parafilename2 = ""; +//@string parafilename2 = ""; \ No newline at end of file diff --git a/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/partition.hypara b/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/partition.hypara index 4d471c2..0496837 100644 --- a/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/partition.hypara +++ b/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/bin/partition.hypara @@ -8,11 +8,11 @@ // original_grid_file : original grid file that want to be divided(HyperFLOW/PHengLEI type, *.fts). // partition_grid_file : target partition grid file(HyperFLOW/PHengLEI type, *.fts). -int pgridtype = 0; -int maxproc = 4; +int pgridtype = 0; +int maxproc = 4; -string original_grid_file = "./grid/sk-flat-2D_unstr.fts"; -string partition_grid_file = "./grid/sk-flat-2D_unstr__4.fts"; +string original_grid_file = "./grid/sk-flat-2D_unstr.fts"; +string partition_grid_file = "./grid/sk-flat-2D_unstr__4.fts"; // Number of multi-grid levels, ONLY used for structured grid. diff --git a/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/二维éžç»“构低速平æ¿è½¬æ©ç®—例说明文档.pdf b/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/二维éžç»“构低速平æ¿è½¬æ©ç®—例说明文档.pdf index 6cc07fe..eb041e6 100644 Binary files a/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/二维éžç»“构低速平æ¿è½¬æ©ç®—例说明文档.pdf and b/B17-TwoD_Plate_S-KSR_SST_Unstruct_4CPU/二维éžç»“构低速平æ¿è½¬æ©ç®—例说明文档.pdf differ diff --git a/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/boundary_condition.hypara b/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/boundary_condition.hypara deleted file mode 100644 index 6f6a799..0000000 --- a/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/boundary_condition.hypara +++ /dev/null @@ -1,52 +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 = "Interface"; -{ - int bcType = -1; -} -string bcName = "mixgridinterior"; -{ - int bcType = -1; -} -string bcName = "wall"; -{ - int bcType = 2; -} -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 diff --git a/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/cfd_para.hypara b/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/cfd_para.hypara +++ b/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/cfd_para.hypara @@ -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 = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // 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; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 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; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 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,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -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; + diff --git a/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/grid_para.hypara b/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/grid_para.hypara index 2d97e1e..1456ce4 100644 --- a/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/grid_para.hypara +++ b/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/grid_para.hypara @@ -26,17 +26,17 @@ // 1 -- Physical boundary condition, used in Hybrid solver. // struct -//int gridtype = 1; +//int gridtype = 1; // unstrut -//int gridtype = 0; +//int gridtype = 0; // mix -int gridtype = 2; +int gridtype = 2; // default -int axisup = 1; -int from_gtype = 2; +int axisup = 1; +int from_gtype = 2; int omit_no_bound_bc = 1; ######################################################################### diff --git a/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/key.hypara b/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/key.hypara index 91008f0..015f693 100644 --- a/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/key.hypara +++ b/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/key.hypara @@ -23,7 +23,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,11 +34,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 = 5; -//string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; @@ -50,4 +50,4 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; int numberOfGridProcessor = 0; // ATP read //@string parafilename1 = "" -//@string parafilename2 = ""; +//@string parafilename2 = ""; \ No newline at end of file diff --git a/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/partition.hypara b/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/partition.hypara index d45661a..20b2fdf 100644 --- a/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/partition.hypara +++ b/C01_TwoD_Cylinder_Laminar_Mix_4CPU/bin/partition.hypara @@ -15,7 +15,7 @@ int pgridtype = 0; // default -int maxproc = 4; +int maxproc = 4; int omit_no_bound_bc = 1; // struct diff --git a/C01_TwoD_Cylinder_Laminar_Mix_4CPU/二维圆柱混åˆæ±‚解算例说明文档.pdf b/C01_TwoD_Cylinder_Laminar_Mix_4CPU/二维圆柱混åˆæ±‚解算例说明文档.pdf index 186cbb9..6f2a797 100644 Binary files a/C01_TwoD_Cylinder_Laminar_Mix_4CPU/二维圆柱混åˆæ±‚解算例说明文档.pdf and b/C01_TwoD_Cylinder_Laminar_Mix_4CPU/二维圆柱混åˆæ±‚解算例说明文档.pdf differ diff --git a/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/boundary_condition.hypara b/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/boundary_condition.hypara deleted file mode 100644 index 5c5e23c..0000000 --- a/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/boundary_condition.hypara +++ /dev/null @@ -1,48 +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 = "Interface"; -{ - int bcType = -1; -} -string bcName = "mixbc"; -{ - int bcType = -1; -} -string bcName = "wall"; -{ - int bcType = 2; -} -string bcName = "far"; -{ - 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 diff --git a/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/cfd_para.hypara b/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/cfd_para.hypara +++ b/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/cfd_para.hypara @@ -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 = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // 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; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 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; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 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,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -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; + diff --git a/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/grid_para.hypara b/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/grid_para.hypara index 3a5df2a..f25ea23 100644 --- a/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/grid_para.hypara +++ b/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/grid_para.hypara @@ -26,17 +26,17 @@ // 1 -- Physical boundary condition, used in Hybrid solver. // struct -//int gridtype = 1; +//int gridtype = 1; // unstrut -//int gridtype = 0; +//int gridtype = 0; // mix -int gridtype = 2; +int gridtype = 2; // default -int axisup = 1; -int from_gtype = 2; +int axisup = 1; +int from_gtype = 2; int omit_no_bound_bc = 1; ######################################################################### diff --git a/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/key.hypara b/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/key.hypara index 1fe1d99..5173939 100644 --- a/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/key.hypara +++ b/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/key.hypara @@ -23,7 +23,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,11 +34,11 @@ 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 = 5; -//string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; diff --git a/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/partition.hypara b/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/partition.hypara index d45661a..4182108 100644 --- a/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/partition.hypara +++ b/C02_TwoD_Rae2822_SST_Mix_4CPU/bin/partition.hypara @@ -12,10 +12,10 @@ //int pgridtype = 1; // unstruct -int pgridtype = 0; +int pgridtype = 0; // default -int maxproc = 4; +int maxproc = 4; int omit_no_bound_bc = 1; // struct diff --git a/C02_TwoD_Rae2822_SST_Mix_4CPU/二维rae2822æ··åˆæ±‚解算例说明文档.pdf b/C02_TwoD_Rae2822_SST_Mix_4CPU/二维rae2822æ··åˆæ±‚解算例说明文档.pdf index 832ad96..67c24d7 100644 Binary files a/C02_TwoD_Rae2822_SST_Mix_4CPU/二维rae2822æ··åˆæ±‚解算例说明文档.pdf and b/C02_TwoD_Rae2822_SST_Mix_4CPU/二维rae2822æ··åˆæ±‚解算例说明文档.pdf differ diff --git a/C03_ThreeD_M6_SST_Mix_64CPU/bin/boundary_condition.hypara b/C03_ThreeD_M6_SST_Mix_64CPU/bin/boundary_condition.hypara deleted file mode 100644 index c1006dc..0000000 --- a/C03_ThreeD_M6_SST_Mix_64CPU/bin/boundary_condition.hypara +++ /dev/null @@ -1,52 +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 = "Interface"; -{ - int bcType = -1; -} -string bcName = "mixbc"; -{ - int bcType = -1; -} -string bcName = "wall"; -{ - int bcType = 2; -} -string bcName = "sym"; -{ - int bcType = 3; -} -string bcName = "far"; -{ - 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 diff --git a/C03_ThreeD_M6_SST_Mix_64CPU/bin/cfd_para.hypara b/C03_ThreeD_M6_SST_Mix_64CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/C03_ThreeD_M6_SST_Mix_64CPU/bin/cfd_para.hypara +++ b/C03_ThreeD_M6_SST_Mix_64CPU/bin/cfd_para.hypara @@ -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 = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // 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; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 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; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 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,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -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; + diff --git a/C03_ThreeD_M6_SST_Mix_64CPU/bin/grid_para.hypara b/C03_ThreeD_M6_SST_Mix_64CPU/bin/grid_para.hypara index 2b5aec3..33520c4 100644 --- a/C03_ThreeD_M6_SST_Mix_64CPU/bin/grid_para.hypara +++ b/C03_ThreeD_M6_SST_Mix_64CPU/bin/grid_para.hypara @@ -32,11 +32,11 @@ //int gridtype = 0; // mix -int gridtype = 2; +int gridtype = 2; // default -int axisup = 1; -int from_gtype = 2; +int axisup = 1; +int from_gtype = 2; int omit_no_bound_bc = 1; ######################################################################### diff --git a/C03_ThreeD_M6_SST_Mix_64CPU/bin/key.hypara b/C03_ThreeD_M6_SST_Mix_64CPU/bin/key.hypara index 6f64263..08941cb 100644 --- a/C03_ThreeD_M6_SST_Mix_64CPU/bin/key.hypara +++ b/C03_ThreeD_M6_SST_Mix_64CPU/bin/key.hypara @@ -23,7 +23,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,11 +34,11 @@ 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 = 5; -//string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; diff --git a/C03_ThreeD_M6_SST_Mix_64CPU/bin/partition.hypara b/C03_ThreeD_M6_SST_Mix_64CPU/bin/partition.hypara index 5c06680..0d11daf 100644 --- a/C03_ThreeD_M6_SST_Mix_64CPU/bin/partition.hypara +++ b/C03_ThreeD_M6_SST_Mix_64CPU/bin/partition.hypara @@ -15,7 +15,7 @@ int pgridtype = 1; //int pgridtype = 0; // default -int maxproc = 64; +int maxproc = 64; int omit_no_bound_bc = 1; // struct diff --git a/C03_ThreeD_M6_SST_Mix_64CPU/三维M6机翼混åˆæ±‚解算例说明文档.pdf b/C03_ThreeD_M6_SST_Mix_64CPU/三维M6机翼混åˆæ±‚解算例说明文档.pdf index 81eafbc..4bb16ad 100644 Binary files a/C03_ThreeD_M6_SST_Mix_64CPU/三维M6机翼混åˆæ±‚解算例说明文档.pdf and b/C03_ThreeD_M6_SST_Mix_64CPU/三维M6机翼混åˆæ±‚解算例说明文档.pdf differ diff --git a/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/boundary_condition.hypara b/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/boundary_condition.hypara deleted file mode 100644 index 022ddce..0000000 --- a/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/boundary_condition.hypara +++ /dev/null @@ -1,52 +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 = "Interface"; -{ - int bcType = -1; -} -string bcName = "mix_bc"; -{ - int bcType = -1; -} -string bcName = "wall"; -{ - int bcType = 2; -} -string bcName = "sym"; -{ - int bcType = 3; -} -string bcName = "far"; -{ - 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 diff --git a/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/cfd_para.hypara b/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/cfd_para.hypara +++ b/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/cfd_para.hypara @@ -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 = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // 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; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 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; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 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,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -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; + diff --git a/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/grid_para.hypara b/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/grid_para.hypara index a599777..d2b05e7 100644 --- a/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/grid_para.hypara +++ b/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/grid_para.hypara @@ -35,8 +35,8 @@ int gridtype = 2; // default -int axisup = 1; -int from_gtype = 2; +int axisup = 1; +int from_gtype = 2; int omit_no_bound_bc = 1; ######################################################################### diff --git a/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/key.hypara b/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/key.hypara index 2332f09..08941cb 100644 --- a/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/key.hypara +++ b/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/key.hypara @@ -23,7 +23,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,11 +34,11 @@ 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 = 5; -//string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; diff --git a/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/partition.hypara b/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/partition.hypara index 1f02a46..f024c73 100644 --- a/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/partition.hypara +++ b/C04_ThreeD_F6-WB_SST_Mix_256CPU/bin/partition.hypara @@ -9,13 +9,13 @@ // partition_grid_file: Target partition grid file(PHengLEI type, *.fts). // struct -int pgridtype = 1; +int pgridtype = 1; // unstruct //int pgridtype = 0; // default -int maxproc = 256; +int maxproc = 256; int omit_no_bound_bc = 1; // struct diff --git a/C04_ThreeD_F6-WB_SST_Mix_256CPU/三维DLR-F6æ··åˆæ±‚解算例说明文档.pdf b/C04_ThreeD_F6-WB_SST_Mix_256CPU/三维DLR-F6æ··åˆæ±‚解算例说明文档.pdf index 1884171..1da12b9 100644 Binary files a/C04_ThreeD_F6-WB_SST_Mix_256CPU/三维DLR-F6æ··åˆæ±‚解算例说明文档.pdf and b/C04_ThreeD_F6-WB_SST_Mix_256CPU/三维DLR-F6æ··åˆæ±‚解算例说明文档.pdf differ diff --git a/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para.hypara b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para.hypara +++ b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para.hypara @@ -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 = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // 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; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 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; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 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,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -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; + diff --git a/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/grid_para.hypara b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/grid_para.hypara index c354b41..00f6347 100644 --- a/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/grid_para.hypara +++ b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/grid_para.hypara @@ -35,7 +35,7 @@ string out_gfile = "./grid/cylinder_270w_split120.fts"; // 0 -- without Periodic Boundary. // 1 -- Translational periodicity. // 2 -- Rotational periodicity. -int periodicType = 1; +int periodicType = 1; double translationLength[] = [0,3.14,0]; -double rotationAngle = 0; +double rotationAngle = 0; diff --git a/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/key.hypara b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/key.hypara index 4c2e265..0518a0f 100644 --- a/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/key.hypara +++ b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/key.hypara @@ -23,7 +23,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,11 +34,11 @@ 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 = 5; -//string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; diff --git a/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/三维结构层æµåœ†æŸ±LES算例说明文档.pdf b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/三维结构层æµåœ†æŸ±LES算例说明文档.pdf index 7b720a8..c5c5f14 100644 Binary files a/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/三维结构层æµåœ†æŸ±LES算例说明文档.pdf and b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/三维结构层æµåœ†æŸ±LES算例说明文档.pdf differ diff --git a/E02_ThreeD_Cylinder_LES_Re3900_Unstruct_120CPU/bin/cfd_para.hypara b/E02_ThreeD_Cylinder_LES_Re3900_Unstruct_120CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/E02_ThreeD_Cylinder_LES_Re3900_Unstruct_120CPU/bin/cfd_para.hypara +++ b/E02_ThreeD_Cylinder_LES_Re3900_Unstruct_120CPU/bin/cfd_para.hypara @@ -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 = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // 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; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 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; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 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,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -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; + diff --git a/E02_ThreeD_Cylinder_LES_Re3900_Unstruct_120CPU/bin/key.hypara b/E02_ThreeD_Cylinder_LES_Re3900_Unstruct_120CPU/bin/key.hypara index 4c2e265..0518a0f 100644 --- a/E02_ThreeD_Cylinder_LES_Re3900_Unstruct_120CPU/bin/key.hypara +++ b/E02_ThreeD_Cylinder_LES_Re3900_Unstruct_120CPU/bin/key.hypara @@ -23,7 +23,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,11 +34,11 @@ 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 = 5; -//string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; diff --git a/E02_ThreeD_Cylinder_LES_Re3900_Unstruct_120CPU/三维éžç»“构层æµåœ†æŸ±LES算例说明文档.pdf b/E02_ThreeD_Cylinder_LES_Re3900_Unstruct_120CPU/三维éžç»“构层æµåœ†æŸ±LES算例说明文档.pdf index 5a405de..f735edb 100644 Binary files a/E02_ThreeD_Cylinder_LES_Re3900_Unstruct_120CPU/三维éžç»“构层æµåœ†æŸ±LES算例说明文档.pdf and b/E02_ThreeD_Cylinder_LES_Re3900_Unstruct_120CPU/三维éžç»“构层æµåœ†æŸ±LES算例说明文档.pdf differ diff --git a/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/cfd_para.hypara b/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/cfd_para.hypara +++ b/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/cfd_para.hypara @@ -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 = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // 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; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 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; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 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,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -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; + diff --git a/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/grid_para.hypara b/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/grid_para.hypara index 602e4a5..4a9f28a 100644 --- a/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/grid_para.hypara +++ b/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/grid_para.hypara @@ -35,6 +35,6 @@ string out_gfile = "./grid/naca0012_str_26m_yup.fts"; // 0 -- without Periodic Boundary. // 1 -- Translational periodicity. // 2 -- Rotational periodicity. -int periodicType = 1; +int periodicType = 1; double translationLength[] = [0.0,0.0,0.5]; -double rotationAngle = 0.0; +double rotationAngle = 0.0; diff --git a/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/key.hypara b/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/key.hypara index 4c2e265..0518a0f 100644 --- a/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/key.hypara +++ b/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/key.hypara @@ -23,7 +23,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,11 +34,11 @@ 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 = 5; -//string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; diff --git a/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/partition.hypara b/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/partition.hypara index c83e276..7783251 100644 --- a/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/partition.hypara +++ b/E03-ThreeD_NACA0012_LES_Struct_400CPU/bin/partition.hypara @@ -26,6 +26,6 @@ int numberOfMultigrid = 1; // 0 -- without Periodic Boundary. // 1 -- Translational periodicity. // 2 -- Rotational periodicity. -int periodicType = 1; +int periodicType = 1; double translationLength[] = [0.0,0.0,0.5]; -double rotationAngle = 0.0; \ No newline at end of file +double rotationAngle = 0.0; \ No newline at end of file diff --git a/E03-ThreeD_NACA0012_LES_Struct_400CPU/三维结构层æµNACA0012翼型LES算例说明文档.pdf b/E03-ThreeD_NACA0012_LES_Struct_400CPU/三维结构层æµNACA0012翼型LES算例说明文档.pdf index d3c30bc..8b3eed6 100644 Binary files a/E03-ThreeD_NACA0012_LES_Struct_400CPU/三维结构层æµNACA0012翼型LES算例说明文档.pdf and b/E03-ThreeD_NACA0012_LES_Struct_400CPU/三维结构层æµNACA0012翼型LES算例说明文档.pdf differ diff --git a/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/boundary_condition.hypara b/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/boundary_condition.hypara deleted file mode 100644 index a5fa063..0000000 --- a/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/boundary_condition.hypara +++ /dev/null @@ -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 = "BCWall"; -{ - int bcType = 2; -} -string bcName = "BCFarfield"; -{ - int bcType = 4; -} -string bcName = "BCOutflow"; -{ - 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 diff --git a/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/cfd_para.hypara b/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/cfd_para.hypara +++ b/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/cfd_para.hypara @@ -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 = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // 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; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 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; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 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,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -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; + diff --git a/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/grid_para.hypara b/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/grid_para.hypara index 56b0f40..3c57e86 100644 --- a/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/grid_para.hypara +++ b/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/grid_para.hypara @@ -27,7 +27,7 @@ int from_gtype = 2; // from_gfile: path of original data file for unstructure grid convert from. // out_gfile: path of target file for grid convert to, *.fts type of file usually. string from_gfile = "./grid/2D_NACA0012_PM_Str.cgns"; -string out_gfile = "./grid/2D_NACA0012_PM_Str.fts"; +string out_gfile = "./grid/2D_NACA0012_PM_Str.fts"; diff --git a/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/key.hypara b/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/key.hypara index a103cbc..9c8bb90 100644 --- a/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/key.hypara +++ b/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/key.hypara @@ -21,28 +21,31 @@ 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"; +//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 = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; -//int nsimutask = 5; -//string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; -//int nsimutask = 99; -//string parafilename = "./bin/post_processing.hypara"; -// ---------------- advanced Parameters, DO NOT care it ----------- -int iovrlap = 0; -int numberOfGridProcessor = 0; +//int nsimutask = 14; +//string parafilename = "./bin/integrative_solver.hypara"; + +//int nsimutask = 99; +//string parafilename = "./bin/post_processing.hypara"; + +// ---------------- Advanced Parameters, DO NOT care it ---------------- +int numberOfGridProcessor = 0; // ATP read string parafilename1 = "./bin/kinetic_para.hypara" //string parafilename2 = "./bin/overset_config.hypara"; diff --git a/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/partition.hypara b/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/partition.hypara index 2135996..9683864 100644 --- a/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/partition.hypara +++ b/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/bin/partition.hypara @@ -9,9 +9,9 @@ // partition_grid_file : target partition grid file(HyperFLOW/PHengLEI type, *.fts). int pgridtype = 1; -int maxproc = 4; +int maxproc = 4; -string original_grid_file = "./grid/2D_NACA0012_PM_Str.fts"; +string original_grid_file = "./grid/2D_NACA0012_PM_Str.fts"; string partition_grid_file = "./grid/2D_NACA0012_PM_Str__4.fts"; diff --git a/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/二维结构NACA0012翼型俯仰振è¡_算例说明文档.pdf b/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/二维结构NACA0012翼型俯仰振è¡_算例说明文档.pdf index 3ace59b..7776710 100644 Binary files a/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/二维结构NACA0012翼型俯仰振è¡_算例说明文档.pdf and b/F07-TwoD_NACA0012_PitchingMovement_SA_Struct_4CPU/二维结构NACA0012翼型俯仰振è¡_算例说明文档.pdf differ diff --git a/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/boundary_condition.hypara b/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/boundary_condition.hypara index 916e8cb..df701ef 100644 --- a/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/boundary_condition.hypara +++ b/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/boundary_condition.hypara @@ -1,4 +1,4 @@ -# nBoundaryConditons : Number of global boundary conditions. +# nBoundaryConditions : Number of global boundary conditions. # bcName : Boundary condition name. # bcType(in PHengLEI): Boundary condition type. @@ -25,7 +25,7 @@ # For more information, see examples/bin/boundary_condition.hypara file!!! -int nBoundaryConditons = 6; +int nBoundaryConditions = 6; string bcName = "BCWall"; { string bodyName = "body"; diff --git a/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/cfd_para.hypara b/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/cfd_para.hypara +++ b/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/cfd_para.hypara @@ -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 = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // 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; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 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; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 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,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -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; + diff --git a/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/grid_para.hypara b/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/grid_para.hypara index dfc53e4..786c89f 100644 --- a/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/grid_para.hypara +++ b/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/grid_para.hypara @@ -17,9 +17,9 @@ // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. -int gridtype = 1; -int axisup = 1; -int from_gtype = 2; +int gridtype = 1; +int axisup = 1; +int from_gtype = 2; ######################################################################### # File path # diff --git a/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/key.hypara b/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/key.hypara index 383611d..583f20e 100644 --- a/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/key.hypara +++ b/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/key.hypara @@ -21,27 +21,30 @@ 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"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_para.hypara"; -//int nsimutask = 2; -//string parafilename = "./bin/cfd_para.hypara"; +//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 = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; -//int nsimutask = 5; -//string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; + +//int nsimutask = 14; +//string parafilename = "./bin/integrative_solver.hypara"; + +//int nsimutask = 99; +//string parafilename = "./bin/post_processing.hypara"; -//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 = "./bin/kinetic_para.hypara" diff --git a/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/partition.hypara b/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/partition.hypara index 7c695e6..07c3b90 100644 --- a/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/partition.hypara +++ b/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/bin/partition.hypara @@ -8,11 +8,11 @@ // original_grid_file : original grid file that want to be divided(HyperFLOW/PHengLEI type, *.fts). // partition_grid_file : target partition grid file(HyperFLOW/PHengLEI type, *.fts). -int pgridtype = 1; -int maxproc = 16; +int pgridtype = 1; +int maxproc = 16; -string original_grid_file = "./grid/finner.fts"; -string partition_grid_file = "./grid/finner__16.fts"; +string original_grid_file = "./grid/finner.fts"; +string partition_grid_file = "./grid/finner__16.fts"; // Number of multi-grid levels, ONLY used for structured grid. diff --git a/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/三维结构Finner弹体俯仰振è¡_算例说明文档.pdf b/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/三维结构Finner弹体俯仰振è¡_算例说明文档.pdf index cdd1a25..1510f86 100644 Binary files a/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/三维结构Finner弹体俯仰振è¡_算例说明文档.pdf and b/F08-ThreeD_Finner_Laminar_Ma2d5_Struct_16CPU/三维结构Finner弹体俯仰振è¡_算例说明文档.pdf differ