diff --git a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para.hypara b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para.hypara +++ b/A01_TwoD_Plate_Laminar_Struct_1CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para_subsonic.hypara b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para_subsonic.hypara index 8f50894..573ffdb 100644 --- a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para_subsonic.hypara +++ b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/flat_laminar_73_81.fts"; +string gridfile = "./grid/flat_laminar_73_81.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,8 +190,8 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; double MUSCLCoefXk = 0.333333; \ No newline at end of file diff --git a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/key.hypara b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/key.hypara index f02a285..217d4e8 100644 --- a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/key.hypara +++ b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; @@ -51,4 +59,3 @@ int numberOfGridProcessor = 0; // ATP read //@string parafilename1 = "" //@string parafilename2 = ""; - diff --git a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/partition.hypara b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/partition.hypara index ca2224d..6c83cd6 100644 --- a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/partition.hypara +++ b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/partition.hypara @@ -18,4 +18,4 @@ string partition_grid_file = "./grid/flat_laminar_73_81.fts"; // 1 -- single level. // 2 -- 2 level. // N -- N level,..., et al. -int numberOfMultigrid = 1; +int numberOfMultigrid = 1; diff --git a/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para.hypara b/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para.hypara +++ b/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para_hypersonic.hypara b/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para_hypersonic.hypara index 27f6752..0c7580e 100644 --- a/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para_hypersonic.hypara +++ b/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para_hypersonic.hypara @@ -148,7 +148,7 @@ int iunsteady = 0; double CFLEnd = 100; int CFLVaryStep = 500; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -160,7 +160,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/plate_137_97.fts"; +string gridfile = "./grid/plate_137_97.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -176,7 +176,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -189,8 +189,8 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; double MUSCLCoefXk = 0.333333; diff --git a/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/key.hypara b/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/key.hypara index 60c6f16..69d3aa6 100644 --- a/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/key.hypara +++ b/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; @@ -51,4 +59,3 @@ int numberOfGridProcessor = 0; // ATP read //@string parafilename1 = "" //@string parafilename2 = ""; - diff --git a/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para.hypara b/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para.hypara +++ b/A03_TwoD_plate_SST_LowMach_Struct/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para_subsonic.hypara b/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para_subsonic.hypara index bd8f18a..85734e3 100644 --- a/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para_subsonic.hypara +++ b/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/Mesh4_137_97.fts"; +string gridfile = "./grid/Mesh4_137_97.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,9 +190,9 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; -double MUSCLCoefXk =0.333333; +double MUSCLCoefXk = 0.333333; diff --git a/A03_TwoD_plate_SST_LowMach_Struct/bin/key.hypara b/A03_TwoD_plate_SST_LowMach_Struct/bin/key.hypara index f02a285..217d4e8 100644 --- a/A03_TwoD_plate_SST_LowMach_Struct/bin/key.hypara +++ b/A03_TwoD_plate_SST_LowMach_Struct/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; @@ -51,4 +59,3 @@ int numberOfGridProcessor = 0; // ATP read //@string parafilename1 = "" //@string parafilename2 = ""; - diff --git a/A03_TwoD_plate_SST_LowMach_Struct/bin/partition.hypara b/A03_TwoD_plate_SST_LowMach_Struct/bin/partition.hypara index 7bb7e69..b22eded 100644 --- a/A03_TwoD_plate_SST_LowMach_Struct/bin/partition.hypara +++ b/A03_TwoD_plate_SST_LowMach_Struct/bin/partition.hypara @@ -11,11 +11,11 @@ int pgridtype = 1; int maxproc = 1; -string original_grid_file = "./grid/Mesh4_137_97.fts"; +string original_grid_file = "./grid/Mesh4_137_97.fts"; string partition_grid_file = "./grid/Mesh4_137_97.fts"; // numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid. // 1 -- single level. // 2 -- 2 level. // N -- N level,..., et al. -int numberOfMultigrid = 1; +int numberOfMultigrid = 1; diff --git a/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para.hypara b/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para.hypara +++ b/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para_supersonic.hypara b/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para_supersonic.hypara index 8d20a13..4c8bc45 100644 --- a/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para_supersonic.hypara +++ b/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para_supersonic.hypara @@ -146,7 +146,7 @@ int iunsteady = 0; double CFLEnd = 50.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -158,7 +158,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/Mesh4_137_97.fts"; +string gridfile = "./grid/Mesh4_137_97.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -172,7 +172,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). diff --git a/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/key.hypara b/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/key.hypara index 2689937..4ad27e3 100644 --- a/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/key.hypara +++ b/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para.hypara b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para.hypara +++ b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para_hypersonic.hypara b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para_hypersonic.hypara index 5d39856..4dc8207 100644 --- a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para_hypersonic.hypara +++ b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para_hypersonic.hypara @@ -48,7 +48,7 @@ double angleSlide = 0.00; double wallTemperature = 294.0 ; int inflowParaType = 0; -double refReNumber = 3.67e5; +double refReNumber = 3.67e5; double refDimensionalTemperature = 125.0; //int inflowParaType = 1; @@ -147,7 +147,7 @@ int iunsteady = 0; double CFLEnd = 3.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -175,7 +175,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -188,8 +188,8 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; double MUSCLCoefXk = 0.333333; diff --git a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/grid_para.hypara b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/grid_para.hypara index 58c83da..7beb562 100644 --- a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/grid_para.hypara +++ b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/grid_para.hypara @@ -27,4 +27,4 @@ int from_gtype = 3; // 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/input.grd"; -string out_gfile = "./grid/input.fts"; +string out_gfile = "./grid/input.fts"; diff --git a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/key.hypara b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/key.hypara index 91008f0..69d3aa6 100644 --- a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/key.hypara +++ b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/partition.hypara b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/partition.hypara index a949479..fc504bf 100644 --- a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/partition.hypara +++ b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/partition.hypara @@ -11,8 +11,8 @@ int pgridtype = 1; int maxproc = 1; -string original_grid_file = "./grid/input.fts"; -string partition_grid_file = "./grid/input.fts"; +string original_grid_file = "./grid/input.fts"; +string partition_grid_file = "./grid/input.fts"; // numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid. // 1 -- single level. diff --git a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para.hypara b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para.hypara +++ b/A06_ThreeD_NACA0012_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para_transonic.hypara b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para_transonic.hypara index b98b350..9aeb6e7 100644 --- a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para_transonic.hypara +++ b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para_transonic.hypara @@ -171,7 +171,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/NACA0012__4.fts"; +string gridfile = "./grid/NACA0012__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -185,7 +185,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -198,6 +198,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/grid_para.hypara b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/grid_para.hypara index 08eddf8..68b03f0 100644 --- a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/grid_para.hypara +++ b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/grid_para.hypara @@ -26,5 +26,5 @@ int from_gtype = 3; ######################################################################### // 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/NACA0012.grd"; -string out_gfile = "./grid/NACA0012.fts"; +string from_gfile = "./grid/NACA0012.grd"; +string out_gfile = "./grid/NACA0012.fts"; diff --git a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/key.hypara b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/key.hypara index 2332f09..413a81c 100644 --- a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/key.hypara +++ b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/partition.hypara b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/partition.hypara index 26597c0..3f9e99f 100644 --- a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/partition.hypara +++ b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/partition.hypara @@ -11,8 +11,8 @@ int pgridtype = 1; int maxproc = 4; -string original_grid_file = "./grid/NACA0012.fts"; -string partition_grid_file = "./grid/NACA0012__4.fts"; +string original_grid_file = "./grid/NACA0012.fts"; +string partition_grid_file = "./grid/NACA0012__4.fts"; // numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid. // 1 -- single level. diff --git a/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para.hypara b/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para.hypara +++ b/A07_TwoD_Rae2822_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para_transonic.hypara b/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para_transonic.hypara index 55a0007..e5b8431 100644 --- a/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para_transonic.hypara +++ b/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para_transonic.hypara @@ -171,7 +171,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/rae2822_vis2d__4.fts"; +string gridfile = "./grid/rae2822_vis2d__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -185,7 +185,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -198,6 +198,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/key.hypara b/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/key.hypara index 1fe1d99..0cdcd75 100644 --- a/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/key.hypara +++ b/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para.hypara b/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para.hypara +++ b/A08_TwoD_30p30n_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara b/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara index 11de810..278e7ce 100644 --- a/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara +++ b/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/30p30n_str__4.fts"; +string gridfile = "./grid/30p30n_str__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/A08_TwoD_30p30n_SST_Struct_4CPU/bin/key.hypara b/A08_TwoD_30p30n_SST_Struct_4CPU/bin/key.hypara index 0400d3a..217d4e8 100644 --- a/A08_TwoD_30p30n_SST_Struct_4CPU/bin/key.hypara +++ b/A08_TwoD_30p30n_SST_Struct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para.hypara b/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para.hypara +++ b/A09_ThreeD_M6_SST_Struct_MG2_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para_transonic.hypara b/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para_transonic.hypara index 9bd6090..dee3be2 100644 --- a/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para_transonic.hypara +++ b/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para_transonic.hypara @@ -171,7 +171,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/m6_str__4.fts"; +string gridfile = "./grid/m6_str__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -185,7 +185,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -198,8 +198,8 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; double MUSCLCoefXk = 0.333333; diff --git a/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/key.hypara b/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/key.hypara index 2332f09..413a81c 100644 --- a/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/key.hypara +++ b/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para.hypara b/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para.hypara +++ b/A10_ThreeD_CHNT_SST_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para_transonic.hypara b/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para_transonic.hypara index 24013eb..37787d6 100644 --- a/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para_transonic.hypara +++ b/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para_transonic.hypara @@ -171,7 +171,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/stm-dkbm-c-all__16.fts"; +string gridfile = "./grid/stm-dkbm-c-all__16.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -185,7 +185,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). diff --git a/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/key.hypara b/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/key.hypara index 2332f09..413a81c 100644 --- a/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/key.hypara +++ b/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para.hypara b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para.hypara +++ b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para_hypersonic.hypara b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para_hypersonic.hypara index dfee8de..5ae8b6c 100644 --- a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para_hypersonic.hypara +++ b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para_hypersonic.hypara @@ -147,7 +147,7 @@ int iunsteady = 0; double CFLEnd = 10.0; int CFLVaryStep = 100; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -159,7 +159,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3dball.fts"; +string gridfile = "./grid/3dball.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -175,7 +175,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -188,6 +188,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/grid_para.hypara b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/grid_para.hypara index e2fd4ad..1002bca 100644 --- a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/grid_para.hypara +++ b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/grid_para.hypara @@ -27,4 +27,4 @@ int from_gtype = 3; // 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/3dball.grd"; -string out_gfile = "./grid/3dball.fts"; +string out_gfile = "./grid/3dball.fts"; diff --git a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/key.hypara b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/key.hypara index 1b2743f..effe5f0 100644 --- a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/key.hypara +++ b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para.hypara b/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para.hypara +++ b/A12_ThreeD_DoubleEllipse_Laminar_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para_hypersonic.hypara b/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para_hypersonic.hypara index 045134a..540eba0 100644 --- a/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para_hypersonic.hypara +++ b/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para_hypersonic.hypara @@ -148,7 +148,7 @@ int iunsteady = 0; double CFLEnd = 1.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -160,7 +160,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/DoubleEllipse__4.fts"; +string gridfile = "./grid/DoubleEllipse__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -176,7 +176,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -189,50 +189,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; - -######################################################################### -# Non-equilibrium gas # -######################################################################### -// nGasModel: The type of gas. -// 0 -- Earth gas. -// 1 -- Mars gas. -// nchem: -// 0 -- without chemical reaction flow. -// 1 -- the chemical reaction flow is considered. -// nchemsrc: -// 0 -- the source terms are not computed. -// 1 -- the source terms are computed. -// nchemrad: -// 0 -- compute the spectrum radius without considering chemical reaction flow. -// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow. -// ntmodel: The thermodynamic temperature model. -// 1 -- One-temperature model. -// 2 -- Two-temperature model. -// 3 -- Three-temperature model. -// catalyticCoef: -// 0.0 -- full non-catalytic wall boundary condition. -// 1.0 -- full catalytic wall boundary condition. -// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient. -// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11". -// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions. -// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions. -// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. -// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. -// For self-definition model, the gasfile is used to indicate the file path of the new gas model. -// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. -// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. -// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. - -int nGasModel = 0; -int nchem = 0; -int ntmodel = 1; -int nchemsrc = 1; -int nchemrad = 1; -double catalyticCoef = 1.0; -string gasfile = "DK5"; -string speciesName = "O, O2, NO, N, N2"; -string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555"; -int ifStartFromPerfectGasResults = 0; +int limitVector = 1; diff --git a/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/key.hypara b/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/key.hypara index 1b2743f..effe5f0 100644 --- a/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/key.hypara +++ b/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para.hypara b/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para.hypara +++ b/A16-TwoD_NLR7301_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara b/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara index 49457cc..bcc16c2 100644 --- a/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara +++ b/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/2D_NLR7301_Str.fts"; +string gridfile = "./grid/2D_NLR7301_Str.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/key.hypara b/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/key.hypara index 78c5988..217d4e8 100644 --- a/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/key.hypara +++ b/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_deform_para.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/boundary_condition.hypara b/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/boundary_condition.hypara deleted file mode 100644 index 0592952..0000000 --- a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/boundary_condition.hypara +++ /dev/null @@ -1,53 +0,0 @@ -# nBoundaryConditons : number of global boundary conditions. -# bcName : Boundary Condition Name. -# bcType(in PHengLEI): Boundary Condition Type. - -# Account of how to set boundaryconditon. -# string bcName = "Farfield"; -# { -# int bcType = 4; -# int inflowParaType = 1; -# double attackd = 0; -# double refReNumber = 6.5e6; -# double refMachNumber = 3.5; -# double angleSlide = 0; -# } - -int nBoundaryConditons = 5; -string bcName = "wall"; -{ - string bodyName = "body"; - int bcType = 2; -} -string bcName = "sym"; -{ - int bcType = 3; -} -string bcName = "in"; -{ - int bcType = 4; -} -string bcName = "up"; -{ - int bcType = 4; -} -string bcName = "out"; -{ - int bcType = 6; -} - -# 'bcType' is defined as following: -# 99: PERIODIC -# -2: WAKE -# -1: INTERFACE -# 0 : NO_BOUNDARY_CONDITION -# 1 : EXTRAPOLATION -# 2 : SOLID_SURFACE -# 3 : SYMMETRY -# 4 : FARFIELD -# 5 : INFLOW -# 6 : OUTFLOW -# 52: PRESSURE_INLET -# 62: PRESSURE_OUTLET -# 61: OUTFLOW_CONFINED -# 7 : POLE diff --git a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para.hypara b/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para.hypara +++ b/A17-ThreeD_Compression_Ramp-16_SA_Struct/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para_supersonic.hypara b/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para_supersonic.hypara index ce2aa86..981255a 100644 --- a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para_supersonic.hypara +++ b/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para_supersonic.hypara @@ -147,7 +147,7 @@ int iunsteady = 0; double CFLEnd = 1.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -159,7 +159,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3d_16ramp_str.fts"; +string gridfile = "./grid/3d_16ramp_str.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -173,7 +173,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -186,6 +186,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/key.hypara b/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/key.hypara index 1f6a6c5..06a8b01 100644 --- a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/key.hypara +++ b/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/boundary_condition.hypara b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/boundary_condition.hypara deleted file mode 100644 index 15112a8..0000000 --- a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/boundary_condition.hypara +++ /dev/null @@ -1,49 +0,0 @@ -# nBoundaryConditons : number of global boundary conditions. -# bcName : Boundary Condition Name. -# bcType(in PHengLEI): Boundary Condition Type. - -# Account of how to set boundaryconditon. -# string bcName = "Farfield"; -# { -# int bcType = 4; -# int inflowParaType = 1; -# double attackd = 0; -# double refReNumber = 6.5e6; -# double refMachNumber = 3.5; -# double angleSlide = 0; -# } - -int nBoundaryConditons = 4; -string bcName = "wall"; -{ - string bodyName = "body"; - int bcType = 2; -} -string bcName = "sym"; -{ - int bcType = 3; -} -string bcName = "in"; -{ - int bcType = 5; -} -string bcName = "out"; -{ - int bcType = 6; -} - -# 'bcType' is defined as following: -# 99: PERIODIC -# -2: WAKE -# -1: INTERFACE -# 0 : NO_BOUNDARY_CONDITION -# 1 : EXTRAPOLATION -# 2 : SOLID_SURFACE -# 3 : SYMMETRY -# 4 : FARFIELD -# 5 : INFLOW -# 6 : OUTFLOW -# 52: PRESSURE_INLET -# 62: PRESSURE_OUTLET -# 61: OUTFLOW_CONFINED -# 7 : POLE diff --git a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para.hypara b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para.hypara +++ b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para_hypersonic.hypara b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para_hypersonic.hypara index b88ca8a..fff22b7 100644 --- a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para_hypersonic.hypara +++ b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para_hypersonic.hypara @@ -148,7 +148,7 @@ int iunsteady = 0; double CFLEnd = 3.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -160,7 +160,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3d_HCFlare_str__16.fts"; +string gridfile = "./grid/3d_HCFlare_str__16.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -176,7 +176,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -189,50 +189,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; - -######################################################################### -# Non-equilibrium gas # -######################################################################### -// nGasModel: The type of gas. -// 0 -- Earth gas. -// 1 -- Mars gas. -// nchem: -// 0 -- without chemical reaction flow. -// 1 -- the chemical reaction flow is considered. -// nchemsrc: -// 0 -- the source terms are not computed. -// 1 -- the source terms are computed. -// nchemrad: -// 0 -- compute the spectrum radius without considering chemical reaction flow. -// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow. -// ntmodel: The thermodynamic temperature model. -// 1 -- One-temperature model. -// 2 -- Two-temperature model. -// 3 -- Three-temperature model. -// catalyticCoef: -// 0.0 -- full non-catalytic wall boundary condition. -// 1.0 -- full catalytic wall boundary condition. -// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient. -// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11". -// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions. -// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions. -// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. -// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. -// For self-definition model, the gasfile is used to indicate the file path of the new gas model. -// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. -// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. -// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. - -int nGasModel = 0; -int nchem = 0; -int ntmodel = 1; -int nchemsrc = 1; -int nchemrad = 1; -double catalyticCoef = 1.0; -string gasfile = "DK5"; -string speciesName = "O, O2, NO, N, N2"; -string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555"; -int ifStartFromPerfectGasResults = 0; +int limitVector = 1; diff --git a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/key.hypara b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/key.hypara index a0b0913..effe5f0 100644 --- a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/key.hypara +++ b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/boundary_condition.hypara b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/boundary_condition.hypara deleted file mode 100644 index 1410388..0000000 --- a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/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 = "SOLID_SURFACE"; -{ - string bodyName = "body"; - int bcType = 2; -} -string bcName = "SYMMETRY"; -{ - int bcType = 3; -} -string bcName = "INFLOW"; -{ - int bcType = 5; -} -string bcName = "OUTFLOW"; -{ - int bcType = 6; -} -string bcName = "POLE3"; -{ - int bcType = 73; -} - -# 'bcType' is defined as following: -# 99: PERIODIC -# -2: WAKE -# -1: INTERFACE -# 0 : NO_BOUNDARY_CONDITION -# 1 : EXTRAPOLATION -# 2 : SOLID_SURFACE -# 3 : SYMMETRY -# 4 : FARFIELD -# 5 : INFLOW -# 6 : OUTFLOW -# 52: PRESSURE_INLET -# 62: PRESSURE_OUTLET -# 61: OUTFLOW_CONFINED -# 7 : POLE diff --git a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para.hypara b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para.hypara +++ b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para_hypersonic.hypara b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para_hypersonic.hypara index e9960b5..ab833e4 100644 --- a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para_hypersonic.hypara +++ b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para_hypersonic.hypara @@ -158,9 +158,9 @@ double venkatCoeff = 0.5; int iunsteady = 0; -double CFLEnd = 1.0; +double CFLEnd = 1.0; int CFLVaryStep = 1000; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -172,7 +172,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3D_bluntcone_str__64.fts"; +string gridfile = "./grid/3D_bluntcone_str__64.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -188,7 +188,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -201,6 +201,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/key.hypara b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/key.hypara index 04a16e4..effe5f0 100644 --- a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/key.hypara +++ b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/key.hypara @@ -14,16 +14,15 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; -//int nsimutask = 0; +int nsimutask = 0; //string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; -//string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +string parafilename = "./bin/cfd_para_hypersonic.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -31,14 +30,14 @@ int nparafile = 1; //int nsimutask = 2; //string parafilename = "./bin/cfd_para.hypara"; -int nsimutask = 3; -string parafilename = "./bin/partition.hypara"; +//int nsimutask = 3; +//string parafilename = "./bin/partition.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_deform_para.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -49,6 +48,9 @@ string parafilename = "./bin/partition.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para.hypara b/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para.hypara +++ b/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para_hypersonic.hypara b/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para_hypersonic.hypara index 0230051..7b4e112 100644 --- a/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para_hypersonic.hypara +++ b/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para_hypersonic.hypara @@ -158,9 +158,9 @@ double venkatCoeff = 0.5; int iunsteady = 0; -double CFLEnd = 2.0; +double CFLEnd = 2.0; int CFLVaryStep = 1000; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -172,7 +172,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/OV102__24.fts"; +string gridfile = "./grid/OV102__24.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -188,7 +188,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -201,6 +201,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; \ No newline at end of file +int limitVector = 1; \ No newline at end of file diff --git a/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/key.hypara b/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/key.hypara index 969b4ea..effe5f0 100644 --- a/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/key.hypara +++ b/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/key.hypara @@ -14,8 +14,7 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. -int ndim = 2; +int ndim = 3; int nparafile = 1; int nsimutask = 0; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_deform_para.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/boundary_condition_ref.hypara b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/boundary_condition_ref.hypara index 509bab9..0ae5048 100644 --- a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/boundary_condition_ref.hypara +++ b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/boundary_condition_ref.hypara @@ -13,7 +13,7 @@ # double angleSlide = 0; # } -int nBoundaryConditons = 5; +int nBoundaryConditions = 5; string bcName = "Wall"; { string bodyName = "body"; diff --git a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para.hypara b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para.hypara +++ b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para_supersonic.hypara b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para_supersonic.hypara index bff0440..db26f40 100644 --- a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para_supersonic.hypara +++ b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para_supersonic.hypara @@ -146,7 +146,7 @@ int iunsteady = 0; double CFLEnd = 30.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -158,7 +158,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3D_plate_UDB_str.fts"; +string gridfile = "./grid/3D_plate_UDB_str.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -172,7 +172,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -185,6 +185,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/key.hypara b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/key.hypara index 004f7fa..06a8b01 100644 --- a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/key.hypara +++ b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,20 +33,28 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; // ---------------- Advanced Parameters, DO NOT care it ---------------- -int iovrlap = 0; int numberOfGridProcessor = 0; // ATP read //@string parafilename1 = "" diff --git a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/partition.hypara b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/partition.hypara index 141bd80..48acc11 100644 --- a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/partition.hypara +++ b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/partition.hypara @@ -8,7 +8,7 @@ // original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts). // partition_grid_file: Target partition grid file(PHengLEI type, *.fts). -int pgridtype = 0; +int pgridtype = 1; int maxproc = 1; string original_grid_file = "./grid/3D_plate_UDB_str.fts"; diff --git a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/三维结构激波干扰超声速层流平板_算例说明文档.pdf b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/三维结构激波干扰超声速层流平板_算例说明文档.pdf index 2df6e21..939b6f1 100644 Binary files a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/三维结构激波干扰超声速层流平板_算例说明文档.pdf and b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/三维结构激波干扰超声速层流平板_算例说明文档.pdf differ diff --git a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/boundary_condition_ref.hypara b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/boundary_condition_ref.hypara index cbc3a24..ac853b0 100644 --- a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/boundary_condition_ref.hypara +++ b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/boundary_condition_ref.hypara @@ -25,7 +25,7 @@ # For more information, see examples/bin/boundary_condition.hypara file!!! -int nBoundaryConditons = 6; +int nBoundaryConditions = 6; string bcName = "Solid"; { string bodyName = "body"; diff --git a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/cfd_para.hypara b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/cfd_para.hypara +++ b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/cfd_para_supersonic.hypara b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/cfd_para_supersonic.hypara index 005cdd1..42ef92c 100644 --- a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/cfd_para_supersonic.hypara +++ b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/cfd_para_supersonic.hypara @@ -146,7 +146,7 @@ int iunsteady = 0; double CFLEnd = 5.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -158,7 +158,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3D_jet__8.fts"; +string gridfile = "./grid/3D_jet__8.fts"; int plotFieldType = 1; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -172,7 +172,7 @@ int plotFieldType = 1; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -185,6 +185,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/key.hypara b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/key.hypara index 1f6a6c5..06a8b01 100644 --- a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/key.hypara +++ b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/partition.hypara b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/partition.hypara index ba683a8..3e87df2 100644 --- a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/partition.hypara +++ b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/partition.hypara @@ -8,16 +8,16 @@ // 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 = 8; +int pgridtype = 1; +int maxproc = 8; -string original_grid_file = "./grid/3D_jet.fts"; -string partition_grid_file = "./grid/3D_jet__8.fts"; +string original_grid_file = "./grid/3D_jet.fts"; +string partition_grid_file = "./grid/3D_jet__8.fts"; // Number of multi-grid levels, ONLY used for structured grid. // 1 -- single level, 2 -- 2 level, N -- N level, ..., et al. -int numberOfMultigrid = 1; +int numberOfMultigrid = 1; diff --git a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/三维结构弹体喷流_算例说明文档.pdf b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/三维结构弹体喷流_算例说明文档.pdf index fb8683d..4c9b51b 100644 Binary files a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/三维结构弹体喷流_算例说明文档.pdf and b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/三维结构弹体喷流_算例说明文档.pdf differ diff --git a/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/cfd_para.hypara b/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/cfd_para.hypara +++ b/B01_TwoD_NACA0012_SA_Unstruct_1CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara b/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara index d6584ad..e13b446 100644 --- a/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara +++ b/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/NACA0012_unstr.fts"; +string gridfile = "./grid/NACA0012_unstr.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/key.hypara b/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/key.hypara index 0400d3a..217d4e8 100644 --- a/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/key.hypara +++ b/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para.hypara b/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para.hypara +++ b/B02_TwoD_NACA4412_SA_Unstruct_2CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para_subsonic.hypara b/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para_subsonic.hypara index 5867ddc..6cbdb9a 100644 --- a/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para_subsonic.hypara +++ b/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/NACA4412_unstr__2.fts"; +string gridfile = "./grid/NACA4412_unstr__2.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; \ No newline at end of file +int limitVector = 0; \ No newline at end of file diff --git a/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/key.hypara b/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/key.hypara index 0400d3a..217d4e8 100644 --- a/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/key.hypara +++ b/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para.hypara b/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para.hypara +++ b/B03_TwoD_Rae2822_SA_Unstruct_1CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para_transonic.hypara b/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para_transonic.hypara index a939104..6334a18 100644 --- a/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para_transonic.hypara +++ b/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para_transonic.hypara @@ -171,7 +171,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/rae2822_hybrid2d_fine.fts"; +string gridfile = "./grid/rae2822_hybrid2d_fine.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -185,7 +185,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -198,6 +198,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/key.hypara b/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/key.hypara index 1fe1d99..0cdcd75 100644 --- a/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/key.hypara +++ b/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para.hypara b/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para.hypara +++ b/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para_subsonic.hypara b/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para_subsonic.hypara index e4f3d76..76f17cf 100644 --- a/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para_subsonic.hypara +++ b/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para_subsonic.hypara @@ -165,7 +165,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/F6WB_unstr__60.fts"; +string gridfile = "./grid/F6WB_unstr__60.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -179,7 +179,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -192,6 +192,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/key.hypara b/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/key.hypara index 4c2e265..0e522d7 100644 --- a/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/key.hypara +++ b/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para.hypara b/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para.hypara +++ b/B05_ThreeD_x38_Laminar_Unstruct_128CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para_hypersonic.hypara b/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para_hypersonic.hypara index bb977b8..cab8aa3 100644 --- a/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para_hypersonic.hypara +++ b/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para_hypersonic.hypara @@ -148,7 +148,7 @@ int iunsteady = 0; double CFLEnd = 1.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -160,7 +160,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/X-38_unstr__128.fts"; +string gridfile = "./grid/X-38_unstr__128.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -176,7 +176,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -189,50 +189,7 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; -######################################################################### -# Non-equilibrium gas # -######################################################################### -// nGasModel: The type of gas. -// 0 -- Earth gas. -// 1 -- Mars gas. -// nchem: -// 0 -- without chemical reaction flow. -// 1 -- the chemical reaction flow is considered. -// nchemsrc: -// 0 -- the source terms are not computed. -// 1 -- the source terms are computed. -// nchemrad: -// 0 -- compute the spectrum radius without considering chemical reaction flow. -// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow. -// ntmodel: The thermodynamic temperature model. -// 1 -- One-temperature model. -// 2 -- Two-temperature model. -// 3 -- Three-temperature model. -// catalyticCoef: -// 0.0 -- full non-catalytic wall boundary condition. -// 1.0 -- full catalytic wall boundary condition. -// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient. -// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11". -// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions. -// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions. -// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. -// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. -// For self-definition model, the gasfile is used to indicate the file path of the new gas model. -// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. -// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. -// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. - -int nGasModel = 0; -int nchem = 0; -int ntmodel = 1; -int nchemsrc = 1; -int nchemrad = 1; -double catalyticCoef = 1.0; -string gasfile = "DK5"; -string speciesName = "O, O2, NO, N, N2"; -string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555"; -int ifStartFromPerfectGasResults = 0; diff --git a/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/key.hypara b/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/key.hypara index 1b2743f..effe5f0 100644 --- a/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/key.hypara +++ b/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para.hypara b/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para.hypara +++ b/B06_ThreeD_Axisymmetric_SA_Unstruct_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para_transonic.hypara b/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para_transonic.hypara index 4b2b6f8..c81bea1 100644 --- a/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para_transonic.hypara +++ b/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para_transonic.hypara @@ -144,8 +144,8 @@ double venkatCoeff = 5.0; int iunsteady = 0; -double CFLStart = 5.0 -double CFLEnd = 10.0; +double CFLStart = 5.0 +double CFLEnd = 10.0; int nLUSGSSweeps = 1; @@ -172,7 +172,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/10zy__64.fts"; +string gridfile = "./grid/10zy__64.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -186,7 +186,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -199,6 +199,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/key.hypara b/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/key.hypara index 2332f09..413a81c 100644 --- a/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/key.hypara +++ b/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para.hypara b/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para.hypara +++ b/B07_ThreeD_Sphere_Laminar_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara b/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara index f25323a..5b03509 100644 --- a/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara +++ b/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara @@ -145,10 +145,10 @@ double venkatCoeff = 0.5; int iunsteady = 0; -double CFLEnd = 3.0; +double CFLEnd = 3.0; int CFLVaryStep = 1000; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -160,7 +160,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/sphere_m10__4.fts"; +string gridfile = "./grid/sphere_m10__4.fts"; int plotFieldType = 1; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -176,7 +176,7 @@ int plotFieldType = 1; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -189,6 +189,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/key.hypara b/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/key.hypara index 1b2743f..effe5f0 100644 --- a/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/key.hypara +++ b/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para.hypara b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para.hypara +++ b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para_subsonic.hypara b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para_subsonic.hypara index 56269f3..104c08e 100644 --- a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para_subsonic.hypara +++ b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/2d_plate_laminar_unstr.fts"; +string gridfile = "./grid/2d_plate_laminar_unstr.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/key.hypara b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/key.hypara index 0400d3a..217d4e8 100644 --- a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/key.hypara +++ b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/partition.hypara b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/partition.hypara index 7c964a4..abd839e 100644 --- a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/partition.hypara +++ b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/partition.hypara @@ -18,4 +18,4 @@ string partition_grid_file = "./grid/2d_plate_laminar_unstr.fts"; // 1 -- single level. // 2 -- 2 level. // N -- N level,..., et al. -int numberOfMultigrid = 1; +int numberOfMultigrid = 1; diff --git a/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para.hypara b/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para.hypara +++ b/B09_TwoD_plate_SA_Unstruct_1CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara b/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara index 1db99fa..c16c73f 100644 --- a/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara +++ b/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/2d_plate_turb_unstr.fts"; +string gridfile = "./grid/2d_plate_turb_unstr.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B09_TwoD_plate_SA_Unstruct_1CPU/bin/key.hypara b/B09_TwoD_plate_SA_Unstruct_1CPU/bin/key.hypara index 0400d3a..217d4e8 100644 --- a/B09_TwoD_plate_SA_Unstruct_1CPU/bin/key.hypara +++ b/B09_TwoD_plate_SA_Unstruct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para.hypara b/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para.hypara +++ b/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para_supersonic.hypara b/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para_supersonic.hypara index 0f3dade..5e83027 100644 --- a/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para_supersonic.hypara +++ b/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para_supersonic.hypara @@ -146,7 +146,7 @@ int iunsteady = 0; double CFLEnd = 2.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -158,7 +158,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3d_16ramp_unstr.fts"; +string gridfile = "./grid/3d_16ramp_unstr.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -172,7 +172,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -185,6 +185,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/key.hypara b/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/key.hypara index 12585cb..06a8b01 100644 --- a/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/key.hypara +++ b/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para.hypara b/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para.hypara +++ b/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para_hypersonic.hypara b/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para_hypersonic.hypara index 48af691..50538d1 100644 --- a/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para_hypersonic.hypara +++ b/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para_hypersonic.hypara @@ -147,9 +147,9 @@ double venkatCoeff = 0.1; int iunsteady = 0; double CFLStart = 1.0; -double CFLEnd = 5.0; +double CFLEnd = 5.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -161,7 +161,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/GK01_unstr__8.fts"; +string gridfile = "./grid/GK01_unstr__8.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,50 +190,7 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; -######################################################################### -# Non-equilibrium gas # -######################################################################### -// nGasModel: The type of gas. -// 0 -- Earth gas. -// 1 -- Mars gas. -// nchem: -// 0 -- without chemical reaction flow. -// 1 -- the chemical reaction flow is considered. -// nchemsrc: -// 0 -- the source terms are not computed. -// 1 -- the source terms are computed. -// nchemrad: -// 0 -- compute the spectrum radius without considering chemical reaction flow. -// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow. -// ntmodel: The thermodynamic temperature model. -// 1 -- One-temperature model. -// 2 -- Two-temperature model. -// 3 -- Three-temperature model. -// catalyticCoef: -// 0.0 -- full non-catalytic wall boundary condition. -// 1.0 -- full catalytic wall boundary condition. -// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient. -// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11". -// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions. -// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions. -// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. -// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. -// For self-definition model, the gasfile is used to indicate the file path of the new gas model. -// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. -// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. -// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. - -int nGasModel = 0; -int nchem = 0; -int ntmodel = 1; -int nchemsrc = 1; -int nchemrad = 1; -double catalyticCoef = 1.0; -string gasfile = "DK5"; -string speciesName = "O, O2, NO, N, N2"; -string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555"; -int ifStartFromPerfectGasResults = 0; diff --git a/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/key.hypara b/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/key.hypara index 1b2743f..effe5f0 100644 --- a/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/key.hypara +++ b/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para.hypara b/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para.hypara +++ b/B12_ThreeD_DoubleEllipse_Laminar_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara b/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara index 8f7a329..119a4b8 100644 --- a/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara +++ b/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara @@ -146,8 +146,8 @@ double venkatCoeff = 0.01; int iunsteady = 0; -double CFLStart = 0.1; -double CFLEnd = 1.0; +double CFLStart = 0.1; +double CFLEnd = 1.0; int CFLVaryStep = 5000; double ktmax = 1.0e10; @@ -162,7 +162,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3d_DoubleEllipse_unstr__4.fts"; +string gridfile = "./grid/3d_DoubleEllipse_unstr__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -178,7 +178,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -191,50 +191,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; - -######################################################################### -# Non-equilibrium gas # -######################################################################### -// nGasModel: The type of gas. -// 0 -- Earth gas. -// 1 -- Mars gas. -// nchem: -// 0 -- without chemical reaction flow. -// 1 -- the chemical reaction flow is considered. -// nchemsrc: -// 0 -- the source terms are not computed. -// 1 -- the source terms are computed. -// nchemrad: -// 0 -- compute the spectrum radius without considering chemical reaction flow. -// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow. -// ntmodel: The thermodynamic temperature model. -// 1 -- One-temperature model. -// 2 -- Two-temperature model. -// 3 -- Three-temperature model. -// catalyticCoef: -// 0.0 -- full non-catalytic wall boundary condition. -// 1.0 -- full catalytic wall boundary condition. -// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient. -// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11". -// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions. -// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions. -// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. -// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. -// For self-definition model, the gasfile is used to indicate the file path of the new gas model. -// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. -// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. -// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. - -int nGasModel = 0; -int nchem = 0; -int ntmodel = 1; -int nchemsrc = 1; -int nchemrad = 1; -double catalyticCoef = 1.0; -string gasfile = "DK5"; -string speciesName = "O, O2, NO, N, N2"; -string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555"; -int ifStartFromPerfectGasResults = 0; +int limitVector = 1; diff --git a/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/key.hypara b/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/key.hypara index 1b2743f..effe5f0 100644 --- a/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/key.hypara +++ b/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/boundary_condition.hypara b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/boundary_condition.hypara deleted file mode 100644 index c063842..0000000 --- a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/boundary_condition.hypara +++ /dev/null @@ -1,64 +0,0 @@ -# nBoundaryConditons : number of global boundary conditions. -# bcName : Boundary Condition Name. -# bcType(in PHengLEI): Boundary Condition Type. - -# Account of how to set boundaryconditon. -# string bcName = "Farfield"; -# { -# int bcType = 4; -# int inflowParaType = 1; -# double attackd = 0; -# double refReNumber = 6.5e6; -# double refMachNumber = 3.5; -# double angleSlide = 0; -# } - -int nBoundaryConditons = 8; -string bcName = "body"; -{ - int bcType = 2; -} -string bcName = "fairing"; -{ - int bcType = 2; -} -string bcName = "htail"; -{ - int bcType = 2; -} -string bcName = "nose"; -{ - int bcType = 2; -} -string bcName = "vtail"; -{ - int bcType = 2; -} -string bcName = "wing"; -{ - int bcType = 2; -} -string bcName = "symm"; -{ - int bcType = 3; -} -string bcName = "farfield"; -{ - int bcType = 4; -} - -# 'bcType' is defined as following: -# 99: PERIODIC -# -2: WAKE -# -1: INTERFACE -# 0 : NO_BOUNDARY_CONDITION -# 1 : EXTRAPOLATION -# 2 : SOLID_SURFACE -# 3 : SYMMETRY -# 4 : FARFIELD -# 5 : INFLOW -# 6 : OUTFLOW -# 52: PRESSURE_INLET -# 62: PRESSURE_OUTLET -# 61: OUTFLOW_CONFINED -# 7 : POLE diff --git a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para.hypara b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para.hypara +++ b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para_subsonic.hypara b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para_subsonic.hypara index f1d7b29..f6bc07f 100644 --- a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para_subsonic.hypara +++ b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/grid_chnt-1_m_2065W__100.fts"; +string gridfile = "./grid/grid_chnt-1_m_2065W__100.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/key.hypara b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/key.hypara index 6189a3b..0e522d7 100644 --- a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/key.hypara +++ b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,10 +22,10 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; -int nsimutask = 1; -string parafilename = "./bin/grid_para.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_para.hypara"; //int nsimutask = 2; //string parafilename = "./bin/cfd_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/grid_para.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para.hypara b/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para.hypara +++ b/B14-TwoD_30p30n_SA_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara b/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara index d5bb3e7..cf1d9ba 100644 --- a/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara +++ b/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/30p30n_hygrid_2d__4.fts"; +string gridfile = "./grid/30p30n_hygrid_2d__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/key.hypara b/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/key.hypara index 78c5988..217d4e8 100644 --- a/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/key.hypara +++ b/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_deform_para.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para.hypara b/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para.hypara +++ b/B15-TwoD_NLR7301_SA_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara b/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara index ec5cced..cf38747 100644 --- a/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara +++ b/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/2D_NLR7301_Unstr.fts"; +string gridfile = "./grid/2D_NLR7301_Unstr.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/key.hypara b/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/key.hypara index 78c5988..217d4e8 100644 --- a/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/key.hypara +++ b/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_deform_para.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/boundary_condition.hypara b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/boundary_condition.hypara deleted file mode 100644 index 15112a8..0000000 --- a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/boundary_condition.hypara +++ /dev/null @@ -1,49 +0,0 @@ -# nBoundaryConditons : number of global boundary conditions. -# bcName : Boundary Condition Name. -# bcType(in PHengLEI): Boundary Condition Type. - -# Account of how to set boundaryconditon. -# string bcName = "Farfield"; -# { -# int bcType = 4; -# int inflowParaType = 1; -# double attackd = 0; -# double refReNumber = 6.5e6; -# double refMachNumber = 3.5; -# double angleSlide = 0; -# } - -int nBoundaryConditons = 4; -string bcName = "wall"; -{ - string bodyName = "body"; - int bcType = 2; -} -string bcName = "sym"; -{ - int bcType = 3; -} -string bcName = "in"; -{ - int bcType = 5; -} -string bcName = "out"; -{ - int bcType = 6; -} - -# 'bcType' is defined as following: -# 99: PERIODIC -# -2: WAKE -# -1: INTERFACE -# 0 : NO_BOUNDARY_CONDITION -# 1 : EXTRAPOLATION -# 2 : SOLID_SURFACE -# 3 : SYMMETRY -# 4 : FARFIELD -# 5 : INFLOW -# 6 : OUTFLOW -# 52: PRESSURE_INLET -# 62: PRESSURE_OUTLET -# 61: OUTFLOW_CONFINED -# 7 : POLE diff --git a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para.hypara b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para.hypara +++ b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para_hypersonic.hypara b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para_hypersonic.hypara index de62bd2..f59b843 100644 --- a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para_hypersonic.hypara +++ b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para_hypersonic.hypara @@ -148,7 +148,7 @@ int iunsteady = 0; double CFLEnd = 3.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -160,7 +160,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3d_HCFlare_unstr__16.fts"; +string gridfile = "./grid/3d_HCFlare_unstr__16.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -176,7 +176,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -189,50 +189,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; - -######################################################################### -# Non-equilibrium gas # -######################################################################### -// nGasModel: The type of gas. -// 0 -- Earth gas. -// 1 -- Mars gas. -// nchem: -// 0 -- without chemical reaction flow. -// 1 -- the chemical reaction flow is considered. -// nchemsrc: -// 0 -- the source terms are not computed. -// 1 -- the source terms are computed. -// nchemrad: -// 0 -- compute the spectrum radius without considering chemical reaction flow. -// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow. -// ntmodel: The thermodynamic temperature model. -// 1 -- One-temperature model. -// 2 -- Two-temperature model. -// 3 -- Three-temperature model. -// catalyticCoef: -// 0.0 -- full non-catalytic wall boundary condition. -// 1.0 -- full catalytic wall boundary condition. -// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient. -// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11". -// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions. -// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions. -// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. -// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. -// For self-definition model, the gasfile is used to indicate the file path of the new gas model. -// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. -// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. -// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. - -int nGasModel = 0; -int nchem = 0; -int ntmodel = 1; -int nchemsrc = 1; -int nchemrad = 1; -double catalyticCoef = 1.0; -string gasfile = "DK5"; -string speciesName = "O, O2, NO, N, N2"; -string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555"; -int ifStartFromPerfectGasResults = 0; +int limitVector = 1; \ No newline at end of file diff --git a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/key.hypara b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/key.hypara index a0b0913..effe5f0 100644 --- a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/key.hypara +++ b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara"; diff --git a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/boundary_condition.hypara b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/boundary_condition.hypara deleted file mode 100644 index db20732..0000000 --- a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/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 = "BCWallInviscid"; -{ - int bcType = 2; -} -string bcName = "BCSymmetryPlane"; -{ - int bcType = 3; -} -string bcName = "BCFarfield"; -{ - int bcType = 4; -} - -# 'bcType' is defined as following: -# 99: PERIODIC -# -2: WAKE -# -1: INTERFACE -# 0 : NO_BOUNDARY_CONDITION -# 1 : EXTRAPOLATION -# 2 : SOLID_SURFACE -# 3 : SYMMETRY -# 4 : FARFIELD -# 5 : INFLOW -# 6 : OUTFLOW -# 52: PRESSURE_INLET -# 62: PRESSURE_OUTLET -# 61: OUTFLOW_CONFINED -# 7 : POLE diff --git a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para.hypara b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para.hypara +++ b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/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 speciesSpeciesA, SpeciesB. +// for unstruct solver mixing multi-speciesO2 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/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para_supersonic.hypara b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para_supersonic.hypara index 2e15574..c3df0b6 100644 --- a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para_supersonic.hypara +++ b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para_supersonic.hypara @@ -146,7 +146,7 @@ int iunsteady = 0; double CFLEnd = 2.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -158,7 +158,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/seeb__8.fts"; +string gridfile = "./grid/seeb__8.fts"; int plotFieldType = 1; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -172,7 +172,7 @@ int plotFieldType = 1; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -185,6 +185,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/key.hypara b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/key.hypara index 12585cb..06a8b01 100644 --- a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/key.hypara +++ b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; +//int nsimutask = 13; +//string parafilename = "./bin/lbm_para.hypara"; + //int nsimutask = 14; //string parafilename = "./bin/integrative_solver.hypara"; +//int nsimutask = 15; +//string parafilename = "./bin/gridcheck_solver.hypara"; + //int nsimutask = 99; //string parafilename = "./bin/post_processing.hypara";