From 2654e03b29b94ac7164c93963a9cabbf0f37e01e Mon Sep 17 00:00:00 2001 From: hexianyao <371008816@qq.com> Date: Sat, 26 Jun 2021 20:47:01 +0800 Subject: [PATCH] V2171 A03 --- .../bin/cfd_para.hypara | 923 ++++++++++++++++++ .../bin/cfd_para_subsonic.hypara | 198 ++++ .../bin/grid_para.hypara | 30 + .../bin/key.hypara | 54 + .../bin/partition.hypara | 21 + .../grid/Mesh4_137_97.grd | Bin 0 -> 318952 bytes .../grid/Mesh4_137_97.inp | 10 + 7 files changed, 1236 insertions(+) create mode 100644 A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para.hypara create mode 100644 A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para_subsonic.hypara create mode 100644 A03_TwoD_plate_SST_LowMach_Struct/bin/grid_para.hypara create mode 100644 A03_TwoD_plate_SST_LowMach_Struct/bin/key.hypara create mode 100644 A03_TwoD_plate_SST_LowMach_Struct/bin/partition.hypara create mode 100644 A03_TwoD_plate_SST_LowMach_Struct/grid/Mesh4_137_97.grd create mode 100644 A03_TwoD_plate_SST_LowMach_Struct/grid/Mesh4_137_97.inp diff --git a/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para.hypara b/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para.hypara new file mode 100644 index 0000000..df090b7 --- /dev/null +++ b/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para.hypara @@ -0,0 +1,923 @@ +//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +// PPPPP H H EEEEE N N GGGGG L EEEEE III + +// P P H H E NN N G L E I + +// PPPPP HHHHH EEEEE N N N G GG L EEEEE I + +// P H H E N N N G G L E I + +// P H H EEEEE N N GGGGG LLLLL EEEEE III + +//------------------------------------------------------------------------+ +// Platform for Hybrid Engineering Simulation of Flows + +// China Aerodynamics Research and Development Center + +// (C) Copyright, Since 2010 + +//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +########################################################################### +# Default parameters for Grid conversion # +########################################################################### +// gridtype: Grid type for generation, conversion, reconstruction, merging. +// 0 -- Unstructured grid. +// 1 -- Structured grid. +// 2 -- Hybrid grid, include both of unstructured and structured grid. +// gridobj: Task type of grid treatment. +// 0 -- Grid generation of typical case, such as cylinder, flat plate, etc. +// 1 -- Grid conversion, from other grid data to PHenglEI, such as Fluent, CGNS. +// 2 -- Grid refinement. +// 3 -- Grid merging, merge two blocks into one block. +// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. +// 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// multiblock: Multi-block grid or not, only for structured grid conversion. +// 0 -- Not. +// 1 -- Yes. +// iadapt: Adaptation number for unstructure grid. +// SymmetryFaceVector: The vector of symmetry face. +// 0 -- X axis. +// 1 -- Y axis. +// 2 -- Z axis. +int gridtype = 0; +int gridobj = 1; +int multiblock = 0; +int iadapt = 0; +int SymmetryFaceVector = 1; + +// axisup: Type of Cartisien coordinates system, used in grid conversion. +// 1 -- Y upward. (default) +// 2 -- Z upward. +int axisup = 1; + +// omit_no_bound_bc: What's boundary condition for the type of "no_boundary_condition". +// 0 -- Interface. (default) +// 1 -- Physical boundary condition, used in Hybrid solver. +int omit_no_bound_bc = 0; + +//----------------------------------------------------------------------- +# Grid data type # +//----------------------------------------------------------------------- +// from_gtype/to_gtype: Type of grid data type in grid conversion process. +// -1 -- MULTI_TYPE. +// 1 -- PHengLEI, *.fts. +// 2 -- CGNS, *.cgns. +// 3 -- Plot3D type of structured grid, *.dat/*.grd. +// 4 -- Fieldview type of unstructured grid, *.dat/*.inp. +// 5 -- Fluent, *.cas/*.msh. +// 6 -- Ustar, mgrid.in. +// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. +// 8 -- GMSH, *.msh. +// dumpOldGrid: If dump out the old grid file. +// 0 -- Not. (default) +// 1 -- Yes. +int from_gtype = 2; +int to_gtype = 1; +int dumpOldGrid = 0; + +//----------------------------------------------------------------------- +# File path # +//----------------------------------------------------------------------- +// from_gfile: path of original data file for unstructure grid convert from. +// out_gfile: path of target file for grid convert to, *.fts type of file usually. +string from_gfile = "./grid/rae2822_hybrid2d.cas"; +string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; + +// ----------------- some advanced choices ------------------------------ +// iunsteady: The Grid is for unsteady simulation or not. +int iunsteady = 0; +int iale = 0; +int codeOfAleModel = 0; + +// fileformat: Ustar Grid file format. +// 0 -- BINARY. +// 1 -- ASCII. +int fileformat = 0; + +// Parameters for hybrid solver. +// mixgrid_uns: path of unstructure grid file for hybrid solver, *.fts type. +// mixgrid_str: path of structure grid file for hybrid solver, *.fts type. +string mixgrid_uns = "./grid/rae2822_uns2d_4.fts"; +string mixgrid_str = "./grid/flat_laminr_133_85_2d.fts"; + +// Some parameters for structured overlapping grid. +int codeOfDigHoles = 1; +string holeBasicFileName = "./oversetGridView/holeBasicFile.inp"; +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"; + +// geometryUnit: Geometry unit. +// 1 -- meter. +// 2 -- millimeter. +// 3 -- inch. +// exclusiveCase: Parallel projection exclusive case. +// 0 -- NON case. +// 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 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. + +// ----------------- RBF Parameters ------------------------------------- +// symmetryPlane: Which symmetry plane is used in the mesh. +// 0 -- without symmetry. +// 1 -- plane of x=0. +// 2 -- plane of y=0. +// 3 -- plane of z=0. +int numberOfReferenceCP = 10; +double influenceRadius = 20; +int symmetryPlane = 3; // 1: plane of x=0; 2: plane of y=0; 3: plane of z=0; + +// ----------------- Periodic Parameters -------------------------------- +// Notice: Rotational periodicity only support rotation along the X axis! +// periodicType: Which periodic boundary is used. +// 0 -- without Periodic Boundary. +// 1 -- Translational periodicity. +// 2 -- Rotational periodicity. +int periodicType = 0; +double translationLength[] = [0.0,0.0,0.0]; +double rotationAngle = 0.0; + +######################################################################### +# Default parameters for Partition # +######################################################################### +// pgridtype: The grid type. +// 0 -- unstruct grid. +// 1 -- struct grid. +// 2 -- refine structured grid. +// maxproc: The number of partition zones that want to be divided into. +int pgridtype = 0; +int maxproc = 4; + +// traceMark: Trace mark or not, only for structured grid partition. +// 0 -- Not. +// 1 -- Yes. +// blockIndexOfMark: the block index of mark, only for structured grid partition. +// cellIndexOfMark: the cell index of mark, only for structured grid partition. +int traceMark = 0; +int blockIndexOfMark = 0; +int cellIndexOfMark[] = [185,30,1]; + +// parallel Strategy: +//! -# 0 : each zone is assigned to the one that defined in grid partition procedure. +//! -# 1 : random assigned for each zone or by some else ways. +int parallelStrategy = 1; + +//----------------------------------------------------------------------- +# File path # +//----------------------------------------------------------------------- +// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts). +// partition_grid_file: Target partition grid file(PHengLEI type, *.fts). +string original_grid_file = "./grid/sphere_mixed.fts"; +string partition_grid_file = "./grid/sphere_mixed__4.fts"; + +// ------------------ Sompe advanced parameters ------------------------- +// omit_no_bound_bc: What's boundary condition for the type of "no_boundary_condition". +// 0 -- Interface. (default) +// 1 -- Physical boundary condition, used in Hybrid solver. +// npartmethod: Method of interface reconstruction, default is 1. +// parallelPartMethod: Method of parallel partition, this is set only when execute parallel partition. It would be skipped when serial partition. +// 1 -- Using ParMetis for homogeneous MPI. +// 2 -- Using Metis for homogeneous MPI. +// 3 -- using METIS partition for homogeneous OpenMP. +// parmetisBalance: Used to specify the imbalance tolerance. +// 1 -- perfect balance. +// maxproc -- perfect imbalance. +// 1.05 -- recommended. + +int omit_no_bound_bc = 0; +int npartmethod = 1; +int parallelPartitionMethod = 2; +double parmetisBalance = 1.05; + +// 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; + +######################################################################### +# Default parameters for CFD simulation # +######################################################################### +// maxSimuStep: The max simulation step, don't care simulation is restart or not. +// intervalStepFlow: The step intervals for flow variables file 'flow.dat' saved. +// intervalStepPlot: The step intervals for tecplot visual file 'tecflow.dat' saved. +// intervalStepSample: The step intervals for monitored probes variables file 'sample.dat' saved. +// intervalStepForce: The step intervals for aerodynamics coefficients file 'aircoef.dat' saved. +// intervalStepRes: The step intervals for residual file 'res.dat' saved. +// ifLowSpeedPrecon: Precondition process to accelerate convergence for low speed flow. +// 0 -- no precondition process. (default, mach > 0.3) +// 1 -- carry out precondition process. (mach number <= 0.3) + +int maxSimuStep = 20000; + +int intervalStepFlow = 1000; +int intervalStepPlot = 1000; +int intervalStepSample = 1000; +int intervalStepForce = 100; +int intervalStepRes = 10; +int ifLowSpeedPrecon = 0; + +// compressible: +// 0 -- incompressible flow. +// 1 -- compressible flow. (default) +int compressible = 1; + +//----------------------------------------------------------------------- +# CFD Control Parameter # +//----------------------------------------------------------------------- +// refMachNumber: Mach number. +// attackd: Angle of attack. +// angleSlide: Angle of sideslip. +// inflowParaType: The type of inflow parameters. +// 0 -- the nondimensional conditions. +// 1 -- the flight conditions. +// 2 -- the experiment conditions. +// 3 -- the subsonic boundary conditions. +// refReNumber: Reynolds number, which is based unit length, unit of 1/m. +// refDimensionalTemperature: Dimensional reference temperature, or the total temperature only for the experiment condition. +// freestream_vibration_temperature: Dimensional freestream vibration temperature. +// refDimensionalPressure: Dimensional reference pressure, or the total pressure only for the experiment condition. +// height: Fly height, unit of km. +// wallTemperature: Temprature of the solid wall, minus value is for adiabatic boundary condition. +// gridScaleFactor: The customizable unit of the grid, default value is 1.0 for meter.Common dimensions like: +// 1 dm = 0.1 m. +// 1 cm = 0.01 m. +// 1 mm = 0.001m. +// 1 inch = 0.0254m. +// 1 foot = 12 inches = 0.3048m. +// 1 yard = 3 feet = 0.9144m. +// forceRefenenceLength, forceRefenenceLengthSpanWise, forceRefenenceArea: Reference length, SpanWise length and area, independent of grid unit. +// TorqueRefX, TorqueRefY, TorqueRefZ: Reference point, independent of grid unit. +// radiationCoef: The radiation coefficient on wall, it is used to compute the radiation heat flux on wall when the boundary +// condition is radiation equilibrium temperature, and 0.8 is the default value. + +double refMachNumber = 0.73; +double attackd = 2.79; +double angleSlide = 0.00; + +int inflowParaType = 0; +double refReNumber = 6.5e6; +double refDimensionalTemperature = 288.15; +double freestream_vibration_temperature = 10000.00; + +//int inflowParaType = 1; +//double height = 0.001; + +//int inflowParaType = 2; +//double refDimensionalTemperature = 6051.024; // The total temperature, T*(1+(refGama-1)*M*M/2). +//double refDimensionalPressure = 4.299696E09; // The total pressure, p*(T0/T)^(refGama/(refGama-1)). + +//int inflowParaType = 3; +//int nsubsonicInlet = 1; +//int nsubsonicOutlet = 1; +//string inLetFileName = "./bin/subsonicInlet.hypara"; +//string outLetFileName = "./bin/subsonicOutlet.hypara"; +//double refDimensionalTemperature = 288.144; +//double refDimensionalPressure = 1.01313E05; + +double wallTemperature = -1.0; + +double radiationCoef = 0.8; +double gridScaleFactor = 1.0; + +int numberOfAerodynamicForceComponents = 1; +double forceRefenenceLengthSpanWise = 1.0; // unit of meter. +double forceRefenenceLength = 1.0; // unit of meter. +double forceRefenenceArea = 1.0; // unit of meter^2. +double TorqueRefX = 0.0; // unit of meter. +double TorqueRefY = 0.0; // unit of meter. +double TorqueRefZ = 0.0; // unit of meter. + +//----------------------------------------------------------------------- +# Spatial Discretisation # +//----------------------------------------------------------------------- +#******************************************************************* +# Struct Solver * +#******************************************************************* +// inviscidSchemeName: Spatial discretisation scheme of struct grid. +// Using this when solve structered grid or hybrid. +// -- "vanleer", "steger", "hlle", "lax_f". +// -- "roe", "modified_roe". +// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw". +// str_limiter_name: Limiter of struct grid. +// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". +// -- "nolim", no limiter. +// -- "vanalbada_clz", clz supersonic version. +string inviscidSchemeName = "roe"; +string str_limiter_name = "vanalbada"; + +#******************************************************************* +# UnStruct Solver or Common * +#******************************************************************* +// viscousType: Viscous model. +// 0 -- Euler. +// 1 -- Lamilar. +// 2 -- Algebraic. +// 3 -- 1eq turbulent. +// 4 -- 2eq turbulent. +// viscousName: Laminar or tubulent model. +// -- "0eq-bl". +// -- "1eq-sa". +// -- "2eq-kw-menter-sst". +// -- "2eq-kw-menter-bsl". +// -- "2eq-kw-wilcox-1988". +// -- "2eq-kw-wilcox-1998". +// -- "2eq-kw-kok-tnt". +// -- "2eq-kw-wilcox-2006". +// -- "easm-kw-2003". +// -- "easm-kw-2005". +// DESType: Type of DES. +// 0 -- RANS. (default) +// 1 -- DES. +// 2 -- DDES. +// 3 -- IDDES. +// uns_scheme_name: Spatial discretisation scheme of Unstruct grid. +// Using this when solve Unstructered grid or hybrid. +// -- "vanleer", "roe", "steger", "kfvs", "lax_f", "hlle". +// -- "ausm+", "ausmdv", "ausm+w", "ausmpw", "ausmpwplus". +// uns_limiter_name: Limiter of Unstruct grid. +// -- "barth", "vencat", "vanleer", "minmod". +// -- "vanalbada", "smooth", "nnd", "lpz", "1st". +// -- "nolim", no limiter. +// uns_vis_name: Discretisation method of viscous term. +// -- "std", "test", "aver", "new1", "new2". +// uns_gradient: Gradient reconstruction method. +// -- "default", "ggcell", "ggnode", "lsq". +// ivencat: Variation of vencat limiter. +// 0 -- org method, it is independent of grid scale. +// 1 -- new method, it is dependent of grid scale. +// 4 -- Ustar limiter model, without grid size unitary. +// 7 -- default used. +// venkatCoeff: Cofficient of vencat, when using vencat limter. +// limitVariables: Limit model (It is useful only if limitVector is 0). +// 0 -- limit only for pressure and denstiny, then get the min value. +// 1 -- limit for every variables, then get the min value. +// limitVector: +// 0 -- Each variable use the same limiter coefficient. +// 1 -- Each variable use the respective limiter coefficients. +// reconmeth: +// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. +// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. +// skewnessAngle: The skewness angle of grid cells. +// roeEntropyFixMethod: Entropy fix (correction) method. +// 1 -- direct fix, which limits the minimum eigenvalue directly. +// 2 -- multi-dimensional fix, which is derived from structured solver and now is only valid for struct solver. +// 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. + +//int viscousType = 0; +//string viscousName = "Euler"; + +//int viscousType = 1; +//string viscousName = "laminar"; + +int viscousType = 3; +string viscousName = "1eq-sa"; + +//int viscousType = 4; +//string viscousName = "2eq-kw-menter-sst"; + +int DESType = 0; + +string uns_scheme_name = "roe"; +string uns_limiter_name = "vencat"; +string uns_vis_name = "test"; +string gradientName = "ggnode"; + +int ivencat = 7; +double venkatCoeff = 5.0; +int reconmeth = 1; +int limitVariables = 0; +int limitVector = 0; +double skewnessAngle = 60.0; + +int roeEntropyFixMethod = 3; +double roeEntropyScale = 1.0; + +//----------------------------------------------------------------------- +# Temporal Discretisation # +//----------------------------------------------------------------------- +// iunsteady: Steady or unsteady. +// 0 -- steady. +// 1 -- unsteay. +// physicalTimeStep: The nondimensional physical time step. +// ifStartFromSteadyResults: The unsteady simulation is start from steady flowfield or not, 0 is for no and else is for yes. +// ifStaticsFlowField: Statistical variables for DES simulation. +// startStatisticStep: Outer step when start statistics. +// when the value is larger than "maxSimuStep", it is useless. +// min_sub_iter: The min sub iteration of unsteady simulation. +// max_sub_iter: The max sub iteration of unsteady simulation. +// tol_sub_iter: The tolerance of sub iteration of unsteady simulation. +// tscheme: Temporal Discretisation method. +// 1 -- Runge-Kutta Multi-State. +// 2 -- Point implicit. +// 3 -- Full implicit. +// 4 -- LU-SGS. +// 5 -- Block LU-SGS. +// 6 -- Jacobian iteration. +// 7 -- Lower G-S iteration. +// 8 -- Upper G-S iteration. +// 9 -- Lower/Upper G-S iteration. +// iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. +// Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. +// CFLStart: Started cfl number. +// CFLEnd: End cfl number. +// CFLVaryStep: The number of step when cfl increase from CFLStart to CFLEnd. +// ktmax: Dtratio. dt[i] = MIN(dt[i], ktmax * dtmin / vol[i]) +// swapDq: Communication dq between forward/backward sweep of LUSGS or not, default is 0. +// nLUSGSSweeps: Sub iteration of LU-SGS or Block LU-SGS. +// LUSGSTolerance: Sub iter tolerance of LU-SGS or Block LU-SGS. +// ifLocalTimeStep: Time step method. +// 0 --Local. +// 1 --Global. +// visl_min: Minimum value of laminar viscosity coefficient. +// turbCFLScale: Turbulence model cfl number factor. +// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. +// 0 -- no ALE method. +// 1 -- ALE method for non-moving grids. +// 2 -- ALE method for moving grids. +// 3 -- ALE method for deforming grids. +// wallFunctionType: The type of wall function to implement. +// 0 -- no wall function. (default) +// 1 -- standard wall function. +// 2 -- Pab3D wall function. +// RKStage: The number of Runge-Kutta step. +// lamda: Cofficient of Runge-Kutta step. + +int iunsteady = 0; +double physicalTimeStep = 0.01; +int ifStartFromSteadyResults = 0; +int ifStaticsFlowField = 0; +int startStatisticStep = 800000; +int linearTwoStepMethods = 1; // 1--BDF1; 2--C-N; 3--BDF2; + +int methodOfDualTime = 3; +int min_sub_iter = 50; +int max_sub_iter = 50; +double tol_sub_iter = 0.01; + +int tscheme = 4; +int iSimplifyViscousTerm = 1; +int ifLocalTimeStep = 0; +double CFLStart = 0.01; +double CFLEnd = 10.0; +int CFLVaryStep = 500; + +double ktmax = 1.0e10; + +int swapDq = 1; + +int nLUSGSSweeps = 1; +double LUSGSTolerance = 0.01; +int order = 2; + +double visl_min = 0.01; +double turbCFLScale = 1.0; +double csrv = 2.0; +double timemax = 1.0e10; +double dtsave = -1.0; +int codeOfAleModel = 0; +int aleStartStrategy = -1; +int maxale = 10; +double dtau = 0.001; + +int wallFunctionType = 0; + +int RKStage = 2; +double lamda[] = 0.5, 1.0; + +//int RKStage = 1; +//double lamda[] = 1.0; + +//int RKStage = 4; +//double lamda[] = [0.25, 0.33333333333, 0.5, 1.0]; + +//----------------------------------------------------------------------- +# File In or Out # +//----------------------------------------------------------------------- +// numberOfGridGroups: The number of grid groups. +// gridfile: The partitioned Grid file path, using relative path, +// which is relative to the working directory. +// IMPORTANT WARNING: The file index should be ignored, +// e.g. if the partitioned grid is rae2822_hybrid2d__4_0.fts, +// please use 'rae2822_hybrid2d__4.fts' here! +// plotFieldType: If dump out the field results to visulization. +// walldistMethod: The method to compute wall distance. +// 0 -- accurate but not fast enough. +// 1 -- fast but not accurate enough. +// 2 -- super fast but more non-accurate! +// resSaveFile: The file path to save the residual convergence process, write data for every default (intervalStepRes) steps. +// turbresfile: The file path to save the residual convergence process of turbulence, write data for every default (intervalStepRes) steps. +// aircoeffile: The file path to save the aerodynamic force coefficients convergence process, write data for every default (intervalStepForce) steps. +// restartNSFile: The file path to write restart flowfield variables, write data for every default (intervalStepFlow) steps. +// turbfile: The file path to write restart flowfield variables of turbulence , write data for every default(intervalStepFlow) steps. +// visualfile: The visualization file path of flowfield , write data for every default (intervalStepPlot) steps. +// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. +// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. +// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. + +int numberOfGridGroups = 1; +string gridfile = "./grid/rae2822_hybrid2d__4.fts"; + +int walldistMethod = 1; + +string resSaveFile = "results/res.dat"; +string turbresfile = "results/turbres.dat"; +string aircoeffile = "results/aircoef.dat"; + +string restartNSFile = "results/flow.dat"; +string turbfile = "results/turb.dat"; + +string visualfile = "results/tecflow.plt"; +string wall_aircoefile = "results/wall_aircoef.dat"; +string probesflowfile = "results/sample.dat"; + +int nDumpSurfaceInfo = 0; +string wall_varfile = ""; + +string jetDefineFile = "bin/jet.hypara"; + +string overset_gridfile = "results/iblank.ovs"; +string sixDofFileName = "results/sixDofInfo.dat"; + +int plotFieldType = 0; + +// visualfileType: The file type of visualfile. +// 0 -- Tecplot binary. +// 1 -- Tecplot ASCII. + +int visualfileType = 1; + +// visualSlice: The slice of tecflow. +// 0 -- Do not save slice data. +// 1 -- comput and save it to sliceFile. +// sliceAxis: Normal vector of slice. +// 1 -- X_DIR. +// 2 -- Y_DIR. +// 3 -- Z_DIR. +// slicePostion: Coordinate of slice. + +int visualSlice = 0; +int sliceAxis = 1; +double slicePostion = -0.5; +string sliceFile = "results/Slice.plt"; + +// min-max box of the visual block. +double lowerPlotFieldBox[] = [0.0 0.0 0.0]; +double upperPlotFieldBox[] = [1.0 1.0 1.0]; + +// nVisualVariables: Number of variables want to be dumped for tecplot visualization. +// visualVariables : Variable types dumped, listed as following: +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6), +// -- viscosityLaminar(7), viscosityTurbulent(8), +// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12), +// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17), +// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), +// -- 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). +// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! +// Variables order must from small to big. +int nVisualVariables = 8; +int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; + +// dumpStandardModel: Dump many standard model data. +// 1 -- Turbulent flat plate. +int dumpStandardModel = 0; + +// ifSetDataMonitor: Whether to set the data monitor. +// 0 -- No. +// 1 -- Yes. +// dataMonitorType: The type of data Monitor. +// 0 -- Probes data monitor. +// 1 -- Lines data monitor. +// 2 -- Surfaces data monitor. +// probesDefineFile: Probes location information file. +// nLines: The number of lines need to be monitored. +// linesDefineFile: Lines location information file. +// nSurfaces: The number of surfaces need to be monitored. +// surfacesDefineFile: Surfaces location information file. +// searchCellsMethod: method to search the cell of each probe. +// 0 -- Nearest cell to the probe. +// 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). +// 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. +// 0 -- Take the value of probe's cell as probe real value. +// 1 -- Interpolation from probe's and neighbouring cell to probe. +// 2 -- Interpolation from probe's cell nodes to probe. +int ifSetDataMonitor = 0; + +int dataMonitorType = 0; +string probesDefineFile = "bin/probes_XYZ.dat"; + +//int dataMonitorType = 1; +//int nLines = 1; +//string linesDefineFile = "bin/lines_XYZ.dat"; + +//int dataMonitorType = 2; +//int nSurfaces = 4; +//string surfacesDefineFile = "bin/surfaces_XYZ.dat"; + +int searchCellsMethod = 0; + +int nProbeVariables = 6; +int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int probeVariablesInterpolationMethod = 0; +//----------------------------------------------------------------------- +# Turbulence Parameter # +//----------------------------------------------------------------------- +// 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. + +int turbInterval = 1; +int kindOfTurbSource = 0; +int mod_turb_res = 0; +double turb_relax = 1.0; +double freeStreamViscosity = 1.0e-3; +double muoo = 3.0; +double kwoo = 5.0; +int transitionType = 0; +double turbIntensity = -1.0; + +# maximum eddy viscosity (myt/my) max. +double eddyViscosityLimit = 1.0e10; +int monitor_vistmax = 0; + +//----------------------------------------------------------------------- +# LES Parameter # +//----------------------------------------------------------------------- +// iLES: Create LESSolver or not. +// >= 1 - Create LESSolver; +// < 1 - not. +// amplitudeofDisturb: Amplitude of adding disturb. +// disturbstep: Unsteady time step or steady iteration of adding random disturb. +// iterdisturb: Add random disturb in every sub-iter or only first sub-iter. +// = 0 - in only first sub-iter; +// != 0 - in every sub-iter. +// ipraddisturb: Add density and pressure disturb or not. +// ibodyforce: Add body force in source flux of NS equations or not. +// = 0 - not; +// != 0 - Add body force. +// bodyforce: Body force in source flux of NS equations or not. +// utau: friction velocity, using in DNSDisturb. +// sgsmodel: subgrid scale model. +// = "smagorinsky"; +// = "dsm"; +// = "wale". +// deltaFunctionType: = 1 - MAX(deltai, deltaj, deltak); +// = 2 - pow(deltai * deltaj *deltak, 1/3); +// = 3 - Devloped by Scotti. +// wallDampingFunctionType: = 0 - no wall function; +// = 1 - van Driest; +// = 2 - developed by Dr. Deng Xiaobing; +// = 3 - developed by Piomelli. +// turbViscousCutType: turbulent viscosity cut type. +// = 0 - mu_total = mut + mul; +// = 1 - mu_total = max(mut-mul,0)+ mul; +// = 2 - mu_total = max(mut ,0)+ mul. +// smagConstant: constant of smagorinsky model. +// waleConstant: constant of wale model. +// filterDirection[3]: filter variables in i, j, k direction or not. +// averageDirection[3]: average variables in i, j, k direction or not. +// isotropicConstant: constant of isotropic part of SGS stress. + +int iLES = 0; +string sgsmodel = "smagorinsky"; +int deltaFunctionType = 2; +int wallDampingFunctionType = 1; +int turbViscousCutType = 2; +double smagConstant = 0.135; +double isotropicConstant = 0.0; +double waleConstant = 0.6; +int filterDirection[] = [1, 1, 0]; +int averageDirection[] = [0, 0, 0]; +double testFilterScale = 2.0; +int averageWidth = 1; +int monitorNegativeConstant = 0; + +//----------------------------------------------------------------------- +# Other Parameters for Hypersonic Non-equilibrium Gas # +//----------------------------------------------------------------------- +// dg_high_order: +// 0 -- generic order accuracy. +// 1 -- high order accuracy. +// 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. +// nm: Equation number of the physics, but is out of commision now. +// 4 -- for 2D. +// 5 -- for 3D. +// 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 dg_high_order = 0; +int iapplication = 0; +int iCodeBranch = 0; +int nm = 5; + +double refGama = 1.4; +double prl = 0.72; +double prt = 0.90; +double sc_l = 0.5; +double sc_t = 0.5; + +int nGasModel = 0; +int nchem = 0; +int nchemsrc = 1; +int nchemrad = 1; +int ntmodel = 1; +int nChemicalFlowStep = 0; +double catalyticCoef = 0.0; +string gasfile = "DK5"; +//string gasfile = "./chemical/Dunn-Kang_air5s11r.dat"; +string speciesName = "O, O2, NO, N, N2"; +string initMassFraction = "0.0, 0.23, 0.0, 0.0, 0.77"; + +//string speciesName = "O, O2, NO, N, NO+, N2, e-"; +//string initMassFraction = "0.0, 0.23, 0.0, 0.0, 0.0, 0.77, 0.0"; + +//string speciesName = "O, O2, NO, N, O+, O2+, NO+, N+, N2+, N2, e-"; +//string initMassFraction = "0.0, 0.23, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.77, 0.0"; + +//string gasfile = "Mars-Pa8"; +//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"; + +int ifStartFromPerfectGasResults = 0; + +######################################################################### +// Multi-Grid parameters. +// nMGLevel: The number of level of Multi-Grid. +// <= 1 -- Single-level. +// > 1 -- multi-level. +// MGPreIteration: For each grid, the number of pre-smoothing steps. +// n_post: For each grid, the number of post-smoothing steps. +// MGCoarsestIteration: For the coarest grid the number of smoothing steps. +// MGFasType: V-multi cycle or W-multi cycle. +// 1 -- V-multi cycle. +// 2 -- W-multi cycle. +// flowInitStep: Flow initialization step, 0 - 500 is suggested. +// Multi-Grid : Number of steps computing on coarse grid, during flow initialization. +// Single-Grid: Number of steps computing using first-order with vanleer, during flow initialization. +// mgCFLScale: CFL number enlarge times for coarse grid. +// mprol: Multi-grid interpolation method, interpolation from coarse cell to fine grid. +// 1 -- zero order. +// 2 -- first-order. (default) +// mgCorrectionLimit: Multi-grid correction limit. + +int nMGLevel = 1; +int MGCoarsestIteration = 1; +int MGPreIteration = 1; +int MGFasType = 1; +int n_post = 0; +int flowInitStep = 100; +int mprol = 2; +double mgCFLScale = 1.0; +double mgCorrectionLimit = 0.01; + +//--------------- Some parameter for turbulent model -------------------- +// neasm: The variation of kw turbulent model. +// ismooth_turb: Residual smooth for turb or not. +// SSTProductType: The type of product term based on vorticity for SST. +// SAProductType: The type of product term based on vorticity for SA. +int neasm = -3; +int SSTProductType = 0; +int ismooth_turb = 0; +int SAProductType = 2; + +// ----------------- Overset Grid parameter ----------------------------- +int codeOfDigHoles = 1; +int codeOfTurbulentModel = 0; +string masterFileName = "./grid/searchFile.inp"; +string holeBasicFileName = "./grid/holeBasicFile.inp"; +string holeFullFileName = "./grid/holeFullFile.dat"; +string linkFileName = "./grid/topology.dat"; +string zoneInverseFileName = "./grid/zoneInverseMapping.inp"; + +######################################################################### +# High Order Struct Solver # +######################################################################### +// ifvfd: +// 0 -- NSSolverStruct using Finite Volume Method. +// 1 -- NSSolverStruct using Finite Differ Method. +// SolverStructOrder: Spatial discretisation order of NS equations with struct grid. +// <= 2 -- finite volume method. +// >= 3 -- finite difference order. (to be completed) +// 0 -- default. +// str_highorder_interpolation_epsilon: Epsilon in weighted interpolation, bigger epsilon, better convergence, +// smaller epsilon, robuster for shock-detecting. +// str_highorder_interpolation_type: +// -- "classical", "test". +// str_highorder_flux_name: +// -- "roe", "steger". +// structhighordergradient: +// -- "conservation", "chain_rule". +int ifvfd = 0; +string str_highorder_solver = "WCNS"; +int SolverStructOrder = 0; +double str_highorder_interpolation_epsilon = 1.0e-6; +string str_highorder_interpolation_type = "test"; +string str_highorder_flux_name = "steger"; +string structhighordergradient = "conservation"; +double coefofstrflux = 0.5; +double limitcoefofinterface = 0.0; + +// ----------------- Advanced choices ----------------------------------- +// outtimesc: Time stepping scheme for the outer loop. +// MUSCLCoefXk: The parameter of MUSCL interpolations, belongs to [-1, 1]. +// -1 -- seconde-order fully-upwind differencing. +// 0 -- seconde-order upwind-biased differencing. +// 0.333333 -- third-order upwind-biased differencing. +// 1 -- seconde-order central differencing. +// MUSCLCoefXb: The limiter parameter. +// 0 -- the effect of the limiter is cancelled, means the first-order interpolations. +// allReduceStep: Iteration intervals for MPI AllReduce operation, default is 1. +string outtimesc = "impbd2"; +double MUSCLCoefXk = -1; +double MUSCLCoefXb = 1.0; +int allReduceStep = 1; + +// ----------------- overlap configuration ------------------------------ +// codeOfOversetGrid: Overlapping(overset) grid or not. +// 0 -- NON-overlapping grid. +// 1 -- Overlapping grid. +int codeOfOversetGrid = 0; +int codeOfOversetSlipGrid = 0; +int readOversetFileOrNot = 0; +int symetryOrNot = 0; +int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryOuterGrid = 0; +int readInSklFileOrNot = 0; +string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; +string auxiliaryInnerGrid1 = "./grid/aux-lower.fts"; +string auxiliaryInnerGrid2 = ""; +string oversetGridFileName = "./grid/overlap.ovs"; +double walldistMainZone = 1.0 +double toleranceForOversetSearch = 1.0e-3; +double toleranceForOversetBox = 1.0e-3; +int twoOrderInterpolationOrNot = 0; +int keyEnlargeOfActiveNodes = 0; +int outTecplotOverset = 0; + +int numberOfMovingBodies = 2; + +// ---------------- ATP read -------------------------------------------- +//@int inflowParaType = 0; +//@double refReNumber = 2.329418E08; +//@double refDimensionalTemperature = 288.144; +//@double refDimensionalPressure = 1.01313E05; +//@double height = -0.001; +//@int nsubsonicInlet = 0; +//@int nsubsonicOutlet = 0; +//@string inLetFileName = "./bin/subsonicInlet.hypara"; +//@string outLetFileName = "./bin/subsonicOutlet.hypara"; + +######################################################################### +# Old Parameter # +######################################################################### +int isPlotVolumeField = 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 new file mode 100644 index 0000000..3798b7e --- /dev/null +++ b/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para_subsonic.hypara @@ -0,0 +1,198 @@ +######################################################################### +# General Control Parameter # +######################################################################### +// maxSimuStep: The max simulation step, don't care simulation is restart or not. +// intervalStepFlow: The step intervals for flow variables file 'flow.dat' saved. +// intervalStepPlot: The step intervals for tecplot visual file 'tecflow.dat' saved. +// intervalStepForce: The step intervals for aerodynamics coefficients file 'aircoef.dat' saved. +// intervalStepRes: The step intervals for residual 'res.dat' saved. + +int maxSimuStep = 100000; + +int intervalStepFlow = 5000; +int intervalStepPlot = 5000; +int intervalStepForce = 100; +int intervalStepRes = 100; + +// ifLowSpeedPrecon: Precondition process to accelerate convergence for low speed flow. +// 0 -- no precondition process. (default, mach > 0.3) +// 1 -- carry out precondition process. (mach number <= 0.3) +int ifLowSpeedPrecon = 0; + +######################################################################### +# Inflow Parameter # +######################################################################### +// refMachNumber: Mach number. +// attackd: Angle of attack. +// angleSlide: Angle of sideslip. +// inflowParaType: The type of inflow parameters. +// 0 -- the nondimensional conditions. +// 1 -- the flight conditions. +// 2 -- the experiment conditions. +// 3 -- the subsonic boundary conditions. +// refReNumber: Reynolds number, which is based unit length, unit of 1/m. +// refDimensionalTemperature: Dimensional reference temperature, or the total temperature only for the experiment condition. +// refDimensionalPressure: Dimensional reference pressure, or the total pressure only for the experiment condition. +// height: Fly height, unit of km. +// gridScaleFactor: The customizable unit of the grid, default value is 1.0 for meter.Common dimensions like: +// 1 dm = 0.1 m. +// 1 cm = 0.01 m. +// 1 mm = 0.001m. +// 1 inch = 0.0254m. +// 1 foot = 12 inches = 0.3048m. +// 1 yard = 3 feet = 0.9144m. +// forceRefenenceLength, forceRefenenceLengthSpanWise, forceRefenenceArea: Reference length, SpanWise length and area, independent of grid unit. +// TorqueRefX, TorqueRefY, TorqueRefZ: Reference point, independent of grid unit. + +double refMachNumber = 0.2; +double attackd = 0.00; +double angleSlide = 0.00; + +int inflowParaType = 0; +double refReNumber = 5.0e6; +double refDimensionalTemperature = 288.15; + +//int inflowParaType = 1; +//double height = 0.001; + +double gridScaleFactor = 0.001; + +double forceRefenenceLengthSpanWise = 1.0; // unit of meter. +double forceRefenenceLength = 1.0; // unit of meter. +double forceRefenenceArea = 2.0; // unit of meter^2. +double TorqueRefX = 0.0; // unit of meter. +double TorqueRefY = 0.0; // unit of meter. +double TorqueRefZ = 0.0; // unit of meter. + +######################################################################### +# Physical models # +######################################################################### +// viscousType : Viscous model. +// 0 -- Euler. +// 1 -- Lamilar. +// 3 -- 1eq turbulent. +// 4 -- 2eq turbulent. +// viscousName: Laminar or tubulent model. +// -- "1eq-sa", when viscousType = 3. +// -- "2eq-kw-menter-sst", when viscousType = 4. +// DESType: Type of DES. +// 0 -- RANS.(default) +// 1 -- DES. +// 2 -- DDES. +// 3 -- IDDES. + +//int viscousType = 0; +//string viscousName = "Euler"; + +//int viscousType = 1; +//string viscousName = "laminar"; + +//int viscousType = 3; +//string viscousName = "1eq-sa"; + +int viscousType = 4; +string viscousName = "2eq-kw-menter-sst"; + +int DESType = 0; + +int roeEntropyFixMethod = 2; +double roeEntropyScale = 1.0; +######################################################################### +# Spatial Discretisation # +######################################################################### +#******************************************************************* +# Struct Solver * +#******************************************************************* +// str_limiter_name: Limiter of struct grid. +// -- "3rdsmooth", "smooth". +// -- "nolim", no limiter. + +string str_limiter_name = "nolim"; + +#******************************************************************* +# UnStruct Solver * +#******************************************************************* +// uns_limiter_name: Limiter of Unstruct grid. +// -- "vencat". +// -- "1st", meaning accuracy of first-order. +// -- "nolim", no limiter. +// venkatCoeff: Coefficient of vencat limiter, when uns_limiter_name = 'vencat'. +// The smaller the value, the more robust it is. + +string uns_limiter_name = "vencat"; +double venkatCoeff = 50.0; + +######################################################################### +# Temporal Discretisation # +######################################################################### +// iunsteady: Steady or unsteady. +// 0 -- steady. +// 1 -- unsteay. +// CFLEnd: The CFL number, [0.1, 100]. +// The bigger the value, the convergence faster but lower robustness. +// nLUSGSSweeps: Number of Sub-iteration of LU-SGS. +// 1 -- is recommended for structured solver. +// 1-3 -- is recommended for unstructured solver. + +int iunsteady = 0; + +double CFLEnd = 500.0; + +int nLUSGSSweeps = 1; + +######################################################################### +# Multi-Grid parameters # +######################################################################### +// nMGLevel: The number of Multi-Grid level. +// = 1 -- single-level. +// > 1 -- multi-level. +// flowInitStep: Flow initialization step, 0 - 500 is suggested. +// Multi-Grid : Number of steps computing on coarse grid, during flow initialization. +// Single-Grid: Number of steps computing using first-order with vanleer, during flow initialization. + +int nMGLevel = 1; +int flowInitStep = 100; + +######################################################################### +# File In or Out # +######################################################################### +// gridfile: The partitioned Grid file path, using relative path, +// which is relative to the working directory. +// IMPORTANT WARNING: The file index should be ignored, +// e.g. if the partitioned grid is rae2822_hybrid2d__4_0.fts, +// Please use 'rae2822_hybrid2d__4.fts' here! +// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. + +string gridfile = "./grid/Mesh4_137_97.fts"; +int plotFieldType = 0; + +// ----------------- Advanced Parameters, DO NOT care it ---------------- +// nVisualVariables: Number of variables want to be dumped for tecplot visualization. +// visualVariables: Variable types dumped, listed as following: +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6), +// -- viscosityLaminar(7), viscosityTurbulent(8), +// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12), +// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17), +// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21). +// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! +// Variables order must from small to big. + +int nVisualVariables = 8; +int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; + +// limitVariables: Limit model (It is useful only if limitVector is 0). +// 0 -- limit only for pressure and denstiny, then get the min value. +// 1 -- limit for every variables, then get the min value. +// limitVector: +// 0 -- Each variable use the same limiter coefficient. +// 1 -- Each variable use the respective limiter coefficients. +// reconmeth: +// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. +// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. + +int reconmeth = 1; +int limitVariables = 0; +int limitVector = 0; + +double MUSCLCoefXk =0.333333; + diff --git a/A03_TwoD_plate_SST_LowMach_Struct/bin/grid_para.hypara b/A03_TwoD_plate_SST_LowMach_Struct/bin/grid_para.hypara new file mode 100644 index 0000000..9309eb4 --- /dev/null +++ b/A03_TwoD_plate_SST_LowMach_Struct/bin/grid_para.hypara @@ -0,0 +1,30 @@ +######################################################################### +# Grid data type # +######################################################################### +// gridtype: Grid type for generation, conversion, reconstruction, merging. +// 0 -- Unstructured grid. +// 1 -- Structured grid. +// axisup: Type of Cartisien coordinates system, used in grid conversion. +// 1 -- Y upward. (default) +// 2 -- Z upward. +// from_gtype: Type of grid data type in grid conversion process. +// -1 -- MULTI_TYPE. +// 1 -- PHengLEI, *.fts. +// 2 -- CGNS, *.cgns. +// 3 -- Plot3D type of structured grid, *.dat/*.grd. +// 4 -- Fieldview type of unstructured grid, *.dat/*.inp. +// 5 -- Fluent, *.cas/*.msh. +// 6 -- Ustar, mgrid.in. +// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. +// 8 -- GMSH, *.msh. +int gridtype = 1; +int axisup = 1; +int from_gtype = 3; + +######################################################################### +# File path # +######################################################################### +// from_gfile: path of original data file for unstructure grid convert from. +// out_gfile: path of target file for grid convert to, *.fts type of file usually. +string from_gfile = "./grid/Mesh4_137_97.grd"; +string out_gfile = "./grid/Mesh4_137_97.fts"; diff --git a/A03_TwoD_plate_SST_LowMach_Struct/bin/key.hypara b/A03_TwoD_plate_SST_LowMach_Struct/bin/key.hypara new file mode 100644 index 0000000..f02a285 --- /dev/null +++ b/A03_TwoD_plate_SST_LowMach_Struct/bin/key.hypara @@ -0,0 +1,54 @@ +string title = "PHengLEI Main Parameter Control File"; + +// IMPORTANT NOTICE: DON NOT MODIFY THE FOWLLOWING LINE. +string defaultParaFile = "./bin/cfd_para.hypara"; + +// ndim: Dimensional of the grid, 2 or 3. +// nparafile: the number of parameter files. +// nsimutask: simulation task type. +// 0 -- CFD Solver of NS or Turbulation. +// 1 -- Grid generation: for special typical cases, such as cylinder, flat plate, etc. +// Grid conversion: from other format to PHengLEI format (.fts). +// Grid reconstruction: such as grid adaptation. +// Grid merging: merge two blocks into one block. +// Grid repairing: repair the original grid in order to remove the negative volume cells. +// 2 -- Wall distance computation for turb-solver. +// 3 -- Grid partition. +// 4 -- Knowledge repository / examples of PHengLEI-API. +int ndim = 2; +int nparafile = 1; + +int nsimutask = 0; +string parafilename = "./bin/cfd_para_subsonic.hypara"; +//string parafilename = "./bin/cfd_para_transonic.hypara"; +//string parafilename = "./bin/cfd_para_supersonic.hypara"; +//string parafilename = "./bin/cfd_para_hypersonic.hypara"; +//string parafilename = "./bin/incompressible.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_para.hypara"; + +//int nsimutask = 2; +//string parafilename = "./bin/cfd_para.hypara"; + +//int nsimutask = 3; +//string parafilename = "./bin/partition.hypara"; + +//int nsimutask = 4; +//string parafilename = "./bin/repository.hypara"; + +//int nsimutask = 5; +//string parafilename = "./bin/overset_grid_view.hypara"; + +//int nsimutask = 14; +//string parafilename = "./bin/integrative_solver.hypara"; + +//int nsimutask = 99; +//string parafilename = "./bin/post_processing.hypara"; + +// ---------------- Advanced Parameters, DO NOT care it ---------------- +int numberOfGridProcessor = 0; +// ATP read +//@string parafilename1 = "" +//@string parafilename2 = ""; + diff --git a/A03_TwoD_plate_SST_LowMach_Struct/bin/partition.hypara b/A03_TwoD_plate_SST_LowMach_Struct/bin/partition.hypara new file mode 100644 index 0000000..7bb7e69 --- /dev/null +++ b/A03_TwoD_plate_SST_LowMach_Struct/bin/partition.hypara @@ -0,0 +1,21 @@ +// pgridtype: The grid type. +// 0 -- unstruct grid. +// 1 -- struct grid. +// maxproc: The number of partition zones that want to be divided into, +// which is equal to the number of CPU processors you want. +// Usually, 50~100 thousands structured cells per CPU-Core is suggested. +// 30~70 thousands unstructured cells per CPU-Core is suggested. +// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts). +// partition_grid_file: Target partition grid file(PHengLEI type, *.fts). + +int pgridtype = 1; +int maxproc = 1; + +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; diff --git a/A03_TwoD_plate_SST_LowMach_Struct/grid/Mesh4_137_97.grd b/A03_TwoD_plate_SST_LowMach_Struct/grid/Mesh4_137_97.grd new file mode 100644 index 0000000000000000000000000000000000000000..c69890c1a02361b18229d6e1a8104f5b4dfe07f5 GIT binary patch literal 318952 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
m7rw;1X_2idkq+ero`$5d# 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

Xvwb?JAUtMXx3H_;Szlmrk*A=eF zm-2jd@h^bp%oFn5=Z$=@ezV$hJw_?B93QHGNU2GAvPR@#QG55wF zA^mCVll|z&P&8kN`J}bY2Vh)%JEjT7(bnJ+=tom;eL76`kGkf(jCNAi4@RDt1N~7i z<|;STvtFo$a@L=wD5q9Uj3C!X?Rg9_b^db1)X3q8-?vh=tQBIaOUfbAFLmk-#NoSC zO`M6CTG$gYwM7HOK7~{besz%aPrY>-F}2Fso1Hzb&r?v{*CD3PABULrm0ORS}y$jK=wk8ZfKk91U6z$~Nyd?6a9R2wQ`FzCOavAkv z-V8=PYmUh%XRY5A< zHLX!DWnFvZ>Do(H=r^tGTL9zf+tidooT0oQjC4R_2JQM@$e?JH9p}pZDwAaQYclONAlc zAEc`DT*S|ORGs97xTp)<-AL6|wum1VRdrle#AfdclKD`#$0KfX9^Ton>fYHlzb58d zqWII@a;_p-2QFWS-}l3c>{y5Nc3!gzWMAsrsZ*@UIGS3a#OGNrCI=|Ex>*Mcw@+j} zxyHE;d6$1ApI>^L`Njt_4_*7k4E^fb>DLzK>D4w+VJwczkNI->I{e#?;C6j(Mb*weoOX(E!qt^9l>lG~<8Mlq&zmx0W8rM1~d@)~Rv2F>>SJ&2z_(t}x zrrNrpy}FkF`jw2Usb!X%8;E+YZr9;zF7#(;p5Gct z?h9=_<%oXN_1M$nWPEi!I34ZObx(P;6Z7W5q>pvowUSN^e|bqhA1>D6 zOhEd2ybi|K)`-{_#Q+vzBJjUP}k=huaS0K z&DP;@6SU)E9qvB5O7>HFd($8D(3Mxqpg(mzf9wib4=GP|N1j}drCcWc%JtAH&FJGa7jlN|q>TT4uL`^=ndbQm$)99Y()g?bhMLY_!iP4(*ET zNo$iTVO(wP|ILEjFY5aA9NLN5I}r6!KJ14)F}vHNUdlV!ktb#6xMJjbsaXpa4xLkX zuR_Yn56wwlTKg*$<8tM#!-Pr5Gd7c*Fz>W-bZLyItsh<&BKL({haE+}n6KudUdsON z$P@FaE$YSW{lkpRTg->&Q7>lqm8hq_kB&b-b4j>@I&=kMxhC~TzOmZB9_Ih2nV19D zZD{tod5`QzefwYw#?e&wF=#K>+s%{uPdTF)vL;J!`8DC>Qfg zIn;~U?86;0uSHpvBeEzDD5&|bHzKiI=WIm2v6yot=KH5Oy$P<@(9CRxdFjhZj~vK8 z*4C8W=tr*O{E;u^7iZ+Ljw*w4G2gvWkn3U{at!5SCe1@VYya*j7c;R6>RCNg8j^WX zzuDQAtkyI_A?E08s8`pI*DI5LGm67E;d+eS*CTNq>FvO#n1`-?YKDHbwa?>9WdF+b z@gC%h*>f`L#k~6$>RG#3qMY@{TN^Sz)(*!}&U$q|%30g?Ksjr4Rg|-~_*s#R%bNVm ze#NXEM-{9i51?GG?`I%Cy&dX`d1MrmtZ_YtV*k%|$$rtdPflSRUFo?L{i*AN-e@PK zdu`;2c`GyOSv$qpk@aMaS&wp7=MgApy(FNVwN(L>vz~oWhm1>Y7K)hlgdfUTl};$9 z9?$tKd3IE!V&c1}|Eb~@>gD?VIPwkEL&2Dzu{m}D=AB;F9gFex<)0RhbhXbr9VC)*LgYbY2U_gqZF)jKc6DyVz!A#y}IT)jdsT3xt*A=p*mwJ=9gAB z^Tl|&HcKD$tF0&6pdY#V*G9gSjY=R-%9PB=V?FZnB)Okh$H$3 zP8~G@F}0Q(V%GNp%Bi6?h^a#gAZD%lHHyri`sx8<>P-(5yE=VNE2zs_B4+Ja1LaZ{ zDuz6Ldo4A!&hL2}x(l9Rp6R926^yTM^Bll9+InFv`q9)`GtgeHjzf_zWe!*5iFw)q z^{msZQO?>VFUqMVpMR14Og(-NF?Hf8#8kyj#MJLg5K|9MK+HO}H_EAX+aRWXs)d*u zRva~tV6e&5oCSS%ZrT;k@0n9hiQRpCl9`+;HJ+yn3`f-u5qu!sYT1leUx5K zEQayZ+PXo@$aTLf{@2{*p|J|qZR?#$IhU`)@BN{#ec)+>_5D*U9_mEytF$uK4&&+D zs+B(0E$0xY_)|;_{Xnjl%h%!ezF$)p>tHB$KKh>QPkouc8T!|?7GEY6jVp6o!A;+F zxaN!TxrVV0v$J3xX>F6)e&l}CwLc1=UtJr%d?J}|#X7y(_wIF1A?3pePm;&|v)3W8 zF|PklxBWQ}azE(XT+SFrS4Q3FN#?C9C%B`(Lvt_QTAlNug0;wBDCZjXI*cfU`EfN{ zhs$vn$o@|+ZC7G^ZJpU2{b*}~CHhfUyVk=B)GqZ{k=8ECi*dPs);hesI+W};W4HBE zT!*d=?u>plHFF8H*H(}FL&)bO*H#fvOFtR&M4@XpPei}mjJXb(8soY$n%%SFy7cX# zvx(%s)6^n!&|Xu$ozPxgFBe2R)=-nE(ZQvkDYP}usS~6hu3@i3|CyNIpXTY-xbC#F zY(9*qtrM?BlKVXT-~gL>0tE3mA4Lkt0OPH zJ^3M#+%LMa%zpGISKo2SSJzt#w3BNc6XeUaL+R(M8%%kv(AHg#o{@gI>9Y=|n=$U6 zV*mcQ-t_X6EymYW%ePO-{i3eEd(lp=w?-phu6Fg2FV{sWiR3!QJk6fpZpS-?m{#Xd zpHYq7hU?>Mw+{Yu(B9CkHU#t3m-n2|zq-z;fp${XH$$FWpMK0n?r*sU+(5pRO%EWC zI^fmia!;;*P>5OdGU^T8Q=ynAS2yc0auND5Hp`8~y!GXkj_6-g{pzBWB7HzUzrRDc3eeo|NsZkSFDjtjLpc+tZfhzG3~gWcTzExxOmI+&UWd z>7{FDjL+3<9kSL(J7aTCam+id^hgOM_kp(NzmI<8dgM6r#T>XE^-@|)MV^>v`=DOT z(JfFfWjPznGXA@`-RXuc>Vf1{3>9JqWP_&zZF`(XUHALM>DG#AWY@Zs)~EDl`04tyV^|9$Y~ z%Y1S_8k?yfv;V48I=cgxufw0b54_y*`E%v1!-Z4X$hkp{Q1r04os!dm%h!SL1I_P) za+|x8`{++~`qZX{?ls8cz|9!zkd)Mfe4gAtdmUUl;`-CdQ-hB8UGyZsgYETWT)qx` zAL#i$Sfs#xmeGte+hq4Gi~=>;rIO~cOQJcxP{!WhGu~? zOT8L>w{YO{b;yYOpz(Nou3Xi17*h?guH5^hThDTCr5wb38j5-@Ux(lOgzp30?1N%` z&`(BjS+*Vne=V_e;PQ3g`#^X1LFj|-rVHk0D83*0?pw5twS%b>m#+ig2kCtuSli$}G&Wz|nCidbSw#oAX5Wo`E?KH&F( arssgkKmRGIsOiAv>%jK`zYjD$2mTL>RXErH literal 0 HcmV?d00001 diff --git a/A03_TwoD_plate_SST_LowMach_Struct/grid/Mesh4_137_97.inp b/A03_TwoD_plate_SST_LowMach_Struct/grid/Mesh4_137_97.inp new file mode 100644 index 0000000..a4eee46 --- /dev/null +++ b/A03_TwoD_plate_SST_LowMach_Struct/grid/Mesh4_137_97.inp @@ -0,0 +1,10 @@ + 1 + 1 + 137 97 +A + 5 + 1 25 1 1 3 + 25 137 1 1 2 + 137 137 1 97 6 + 1 137 97 97 4 + 1 1 1 97 4