From 6d8706a3a5b19f476f87d941153f59532cade777 Mon Sep 17 00:00:00 2001 From: hexianyao <371008816@qq.com> Date: Mon, 28 Jun 2021 17:26:42 +0800 Subject: [PATCH] V2171 E01 --- .../bin/cfd_para.hypara | 713 ++++++++++-------- .../bin/cfd_para_subsonic.hypara | 300 ++++++++ .../bin/grid_para.hypara | 34 +- .../bin/key.hypara | 7 +- .../grid/cylinder_270w_split120.cgns | Bin 5 files changed, 711 insertions(+), 343 deletions(-) rename {ThreeD_Cylinder_LES_Re3900_Struct_120CPU => E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU}/bin/cfd_para.hypara (60%) create mode 100644 E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para_subsonic.hypara rename {ThreeD_Cylinder_LES_Re3900_Struct_120CPU => E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU}/bin/grid_para.hypara (52%) rename {ThreeD_Cylinder_LES_Re3900_Struct_120CPU => E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU}/bin/key.hypara (92%) rename {ThreeD_Cylinder_LES_Re3900_Struct_120CPU => E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU}/grid/cylinder_270w_split120.cgns (100%) diff --git a/ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para.hypara b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para.hypara similarity index 60% rename from ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para.hypara rename to E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para.hypara index 2d2bc82..df090b7 100644 --- a/ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para.hypara +++ b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para.hypara @@ -10,51 +10,41 @@ // (C) Copyright, Since 2010 + //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ########################################################################### -# Default parameters for Grid conversion # +# 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. +// 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. +// 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. -// grid_database_index: Case of typical case, only for gridobj=0. -// 1 -- Laminar flat plate of subsonic flow. -// 2 -- Laminar flat plate of supersonic flow. -// 3 -- Turbulent flat plate of subsonic flow. -// 4 -- Turbulent flat plate of supersonic flow. +// 0 -- Not. +// 1 -- Yes. // iadapt: Adaptation number for unstructure grid. -// iovrlap: Overlapping(overset) grid or not. -// 0 -- NON-overlapping grid. -// 1 -- Overlapping grid. // SymmetryFaceVector: The vector of symmetry face. -// 0 -- X axis. -// 1 -- Y axis. -// 2 -- Z axis. +// 0 -- X axis. +// 1 -- Y axis. +// 2 -- Z axis. int gridtype = 0; int gridobj = 1; int multiblock = 0; -int grid_database_index = 3; int iadapt = 0; -int iovrlap = 0; -int SymmetryFaceVector = 1; +int SymmetryFaceVector = 1; // axisup: Type of Cartisien coordinates system, used in grid conversion. -// 1 -- Y upward. (default) -// 2 -- Z upward. -int axisup = 1; +// 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. +// 0 -- Interface. (default) +// 1 -- Physical boundary condition, used in Hybrid solver. int omit_no_bound_bc = 0; //----------------------------------------------------------------------- @@ -63,19 +53,19 @@ int omit_no_bound_bc = 0; // 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. +// 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. +// 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; +// 0 -- Not. (default) +// 1 -- Yes. +int from_gtype = 2; +int to_gtype = 1; +int dumpOldGrid = 0; //----------------------------------------------------------------------- # File path # @@ -87,37 +77,33 @@ 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 iunsteady = 0; +int iale = 0; +int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. // 1 -- ASCII. -int fileformat = 0; - -// .skl meaning skeleton. -string original_grid_info_file = "./grid/FLUENT_test.skl"; +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. -// mixgrid_str_bc: path of structure grid boundary condition file for hybrid solver. -string mixgrid_uns = "./grid/rae2822_uns2d_4.fts"; -string mixgrid_str = "./grid/flat_laminr_133_85_2d.fts"; -string mixgrid_str_bc = "./grid/flat_laminr_133_85_2d.inp"; +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"; +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"; +string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; +string geometryFileName = "./grid/jsm.igs"; // geometryUnit: Geometry unit. // 1 -- meter. @@ -130,11 +116,11 @@ string geometryFileName = "./grid/jsm.igs"; // projectOrgPoint: If the original wall points need to be projected or not. int geometryUnit = 1; int anisoRefine = 0; -int isProject = 0; +int isProject = 0; int readDist = 0; -int isDeform = 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 projectOrgPoint = 0; // if project original wall points. // ----------------- RBF Parameters ------------------------------------- // symmetryPlane: Which symmetry plane is used in the mesh. @@ -147,56 +133,61 @@ double influenceRadius = 20; int symmetryPlane = 3; // 1: plane of x=0; 2: plane of y=0; 3: plane of z=0; // ----------------- Periodic Parameters -------------------------------- -// Notice:Periodic boundary only support translation or rotation along the X axis! -// periodicType: Which symmetry plane is used in the mesh. +// 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 = 1; -double translationLength[] = [0,3.14,0]; -double rotationAngle = 0; +int periodicType = 0; +double translationLength[] = [0.0,0.0,0.0]; +double rotationAngle = 0.0; ######################################################################### -# Default parameters for Partition # +# 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. +// 2 -- refine structured grid. +// maxproc: The number of partition zones that want to be divided into. int pgridtype = 0; -int maxproc = 4; +int maxproc = 4; // traceMark: Trace mark or not, only for structured grid partition. -// 0 -- Not. -// 1 -- Yes. +// 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 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"; +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. +// 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. +// 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. +// 1.05 -- recommended. int omit_no_bound_bc = 0; int npartmethod = 1; @@ -207,7 +198,7 @@ double parmetisBalance = 1.05; // 1 -- single level. // 2 -- 2 level. // N -- N level, ..., et al. -int numberOfMultigrid = 1; +int numberOfMultigrid = 1; ######################################################################### # Default parameters for CFD simulation # @@ -215,84 +206,86 @@ int numberOfMultigrid = 1; // 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 'res.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 = 3000; -int intervalStepFlow = 1000; -int intervalStepPlot = 1000; +int maxSimuStep = 20000; + +int intervalStepFlow = 1000; +int intervalStepPlot = 1000; int intervalStepSample = 1000; -int intervalStepForce = 100; -int intervalStepRes = 10; -int ifLowSpeedPrecon = 0; +int intervalStepForce = 100; +int intervalStepRes = 10; +int ifLowSpeedPrecon = 0; // compressible: // 0 -- incompressible flow. // 1 -- compressible flow. (default) -int compressible = 1; +int compressible = 1; //----------------------------------------------------------------------- -# CFD Control Parameter # +# CFD Control Parameter # //----------------------------------------------------------------------- // refMachNumber: Mach number. -// attackd: Angle of attack. +// 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. +// 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. -// dump_Q: Dump out thermal flux Q of solid wall. -// 0 -- no dump out. -// 1 -- dump out wall Q only. -// 2 -- dump out wall Q & the typical position Q of ball. -// 3 -- dump out wall Q & the typical position Q of cone. -// 4 -- dump out wall Q & the typical position Q of double sphere. -// gridScaleFactor: The customizable unit of the grid, default value is 1.0 for meter. +// 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 +// 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.20; -double attackd = 0.00; -double angleSlide = 0.00; +double refMachNumber = 0.73; +double attackd = 2.79; +double angleSlide = 0.00; -int inflowParaType = 0; -double refReNumber = 3900; -double refDimensionalTemperature = 288.15; -double freestream_vibration_temperature = 10000.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 = 1; +//double height = 0.001; -//int inflowParaType = 2; +//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; +//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; -int dump_Q = 0; -double radiationCoef = 0.8; +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. @@ -300,12 +293,11 @@ double TorqueRefX = 0.0; // unit of meter. double TorqueRefY = 0.0; // unit of meter. double TorqueRefZ = 0.0; // unit of meter. - //----------------------------------------------------------------------- -# Spatial Discretisation # +# Spatial Discretisation # //----------------------------------------------------------------------- #******************************************************************* -# Struct Solver * +# Struct Solver * #******************************************************************* // inviscidSchemeName: Spatial discretisation scheme of struct grid. // Using this when solve structered grid or hybrid. @@ -316,13 +308,13 @@ double TorqueRefZ = 0.0; // unit of meter. // -- "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"; +string inviscidSchemeName = "roe"; +string str_limiter_name = "vanalbada"; #******************************************************************* -# UnStruct Solver or Common * +# UnStruct Solver or Common * #******************************************************************* -// iviscous: Viscous model. +// viscousType: Viscous model. // 0 -- Euler. // 1 -- Lamilar. // 2 -- Algebraic. @@ -345,14 +337,14 @@ string str_limiter_name = "vanalbada"; // 2 -- DDES. // 3 -- IDDES. // uns_scheme_name: Spatial discretisation scheme of Unstruct grid. -// Using this when solve Unstructered grid or hybrid. +// 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. +// uns_vis_name: Discretisation method of viscous term. // -- "std", "test", "aver", "new1", "new2". // uns_gradient: Gradient reconstruction method. // -- "default", "ggcell", "ggnode", "lsq". @@ -362,7 +354,7 @@ string str_limiter_name = "vanalbada"; // 4 -- Ustar limiter model, without grid size unitary. // 7 -- default used. // venkatCoeff: Cofficient of vencat, when using vencat limter. -// limitVariables: Limit model. +// 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: @@ -382,43 +374,42 @@ string str_limiter_name = "vanalbada"; //int viscousType = 0; //string viscousName = "Euler"; -int viscousType = 1; -string viscousName = "laminar"; +//int viscousType = 1; +//string viscousName = "laminar"; -//int viscousType = 3; -//string viscousName = "1eq-sa"; +int viscousType = 3; +string viscousName = "1eq-sa"; //int viscousType = 4; //string viscousName = "2eq-kw-menter-sst"; -int DESType = 0; +int DESType = 0; -string uns_scheme_name = "roe"; -string uns_limiter_name = "vencat"; -string uns_vis_name = "test"; -string gradientName = "ggnode"; +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 limit_angle = 0; -double skewnessAngle = 60.0; +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; +int roeEntropyFixMethod = 3; +double roeEntropyScale = 1.0; //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- -// iunsteady: Steady or unsteady. +// 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. +// 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. @@ -434,20 +425,20 @@ double roeEntropyScale = 1.0; // 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. +// 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. +// 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. -// iale: Arbitrary Lagrangian-Eulerian method. +// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. // 0 -- no ALE method. // 1 -- ALE method for non-moving grids. // 2 -- ALE method for moving grids. @@ -459,64 +450,65 @@ double roeEntropyScale = 1.0; // RKStage: The number of Runge-Kutta step. // lamda: Cofficient of Runge-Kutta step. -int iunsteady = 1; -double physicalTimeStep = 0.005; -int ifStartFromSteadyResults = 0; -int ifStaticsFlowField = 0; -int startStatisticStep = 0; +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 min_sub_iter = 20; -int max_sub_iter = 20; +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 tscheme = 4; +int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; -double ktmax = 1.0e10; +double ktmax = 1.0e10; -int swapDq = 1; +int swapDq = 1; -int nLUSGSSweeps = 1; -double LUSGSTolerance = 0.01; -int order = 2; +int nLUSGSSweeps = 1; +double LUSGSTolerance = 0.01; +int order = 2; -double visl_min = 0.01; +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; -double timemax = 1.0e10; -double dtsave = -1.0; -int iale = 0; -int ialetype = 2; -int maxale = 10; -double dtau = 0.001; -double dtau_max = 1E-01; +int wallFunctionType = 0; -int wallFunctionType = 0; - -int RKStage = 2; +int RKStage = 2; double lamda[] = 0.5, 1.0; -//int RKStage = 1; -//double lamda[] = 1.0; +//int RKStage = 1; +//double lamda[] = 1.0; -//int RKStage = 4; +//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. +// 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, +// e.g. if the partitioned grid is rae2822_hybrid2d__4_0.fts, // please use 'rae2822_hybrid2d__4.fts' here! -// isPlotVolumeField: If dump out the field results to visulization. -// walldistMethod: The method to compute wall distance. +// 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! @@ -527,34 +519,34 @@ double lamda[] = 0.5, 1.0; // 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/cylinder_270w_split120.fts"; +string gridfile = "./grid/rae2822_hybrid2d__4.fts"; int walldistMethod = 1; -string resSaveFile = "results/res.dat"; +string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; string aircoeffile = "results/aircoef.dat"; -string restartNSFile = "results/flow.dat"; +string restartNSFile = "results/flow.dat"; string turbfile = "results/turb.dat"; string visualfile = "results/tecflow.plt"; -string Qwall_file = "results/Qwall.dat"; string wall_aircoefile = "results/wall_aircoef.dat"; string probesflowfile = "results/sample.dat"; -string surfacefile = ""; +int nDumpSurfaceInfo = 0; string wall_varfile = ""; -string componentDefineFile = "bin/component.hypara"; -string jetDefineFile = "bin/jet.hypara"; +string jetDefineFile = "bin/jet.hypara"; -string componentforcefile = "results/component_aircoef.dat"; +string overset_gridfile = "results/iblank.ovs"; +string sixDofFileName = "results/sixDofInfo.dat"; -string overset_gridfile = "iblank.ovs"; - -int isPlotVolumeField = 1; +int plotFieldType = 0; // visualfileType: The file type of visualfile. // 0 -- Tecplot binary. @@ -571,45 +563,76 @@ int visualfileType = 1; // 3 -- Z_DIR. // slicePostion: Coordinate of slice. -int visualSlice = 0; -int sliceAxis = 1; -double slicePostion = -0.5; -string sliceFile = "results/Slice.plt"; +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(33), electron temperature(34) -// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!. -// Arriables order must from small to larger. -int nVisualVariables = 10; -int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 11, 12, 15];; +// 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; -// ifSetProbesToMonitor: Set probes location to Monitor. -// 0 -- Do not monitor. -// 1 -- To monitor and save data to files. -// probesDefineFile: probes location information file. +// 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). +// -- 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. -int ifSetProbesToMonitor = 0; -string probesDefineFile = "bin/probes_location.hypara"; +// 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 # //----------------------------------------------------------------------- @@ -621,74 +644,89 @@ int probeVariables[] = [0, 1, 2, 3, 4, 5]; // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. int turbInterval = 1; -int turb_vis_kind = 2; int kindOfTurbSource = 0; int mod_turb_res = 0; double turb_relax = 1.0; -double turb_min_coef = 1.0e-1; -double freeStreamViscosity = 1.0e-3; -double muoo = 1.0e-1; -double kwoo = 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.0e5; -double sdilim = 1.0e20; -double coef_kvist = 1.0; +double eddyViscosityLimit = 1.0e10; int monitor_vistmax = 0; //----------------------------------------------------------------------- # LES Parameter # //----------------------------------------------------------------------- -// iLES : Create LESSolver or not. -// >= 1 - Create LESSolver; -// < 1 - not; -// 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 +// 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 = 1; -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[] = [1, 1, 0]; -double testFilterScale = 2.0; -int averageWidth = 1; -int monitorNegativeConstant = 0; +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 Parameter # +# Other Parameters for Hypersonic Non-equilibrium Gas # //----------------------------------------------------------------------- // dg_high_order: // 0 -- generic order accuracy. // 1 -- high order accuracy. // iapplication: -// 0 -- NS. -// 1 -- MHD. +// 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. @@ -710,44 +748,45 @@ int monitorNegativeConstant = 0; // "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. -// For self-definition model, the gasfile is used to indicate the file path of the new gas model. +// "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; +int iapplication = 0; +int iCodeBranch = 0; +int nm = 5; -// MHD -double bxoo = 0.0; -double byoo = 0.0; -double bzoo = 0.0; - -double refGama = 1.4; +double refGama = 1.4; double prl = 0.72; double prt = 0.90; double sc_l = 0.5; double sc_t = 0.5; -int nchem = 0; -int nchemsrc = 1; -int nchemrad = 1; -int ntmodel = 1; +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 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 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 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; ######################################################################### @@ -762,22 +801,22 @@ int ifStartFromPerfectGasResults = 0; // 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. +// 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; +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 -------------------- @@ -791,16 +830,16 @@ 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"; +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 # +# High Order Struct Solver # ######################################################################### // ifvfd: // 0 -- NSSolverStruct using Finite Volume Method. @@ -820,9 +859,9 @@ string zoneInverseFileName = "./grid/zoneInverseMapping.inp"; int ifvfd = 0; string str_highorder_solver = "WCNS"; int SolverStructOrder = 0; -double str_highorder_interpolation_epsilon = 1.0e-4; +double str_highorder_interpolation_epsilon = 1.0e-6; string str_highorder_interpolation_type = "test"; -string str_highorder_flux_name = "roe"; +string str_highorder_flux_name = "steger"; string structhighordergradient = "conservation"; double coefofstrflux = 0.5; double limitcoefofinterface = 0.0; @@ -838,17 +877,47 @@ double limitcoefofinterface = 0.0; // 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 = 0.8; -double MUSCLCoefXb = 1.0; +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"; +//@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/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para_subsonic.hypara b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para_subsonic.hypara new file mode 100644 index 0000000..cbbcd41 --- /dev/null +++ b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/cfd_para_subsonic.hypara @@ -0,0 +1,300 @@ +######################################################################### +# 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 = 3000; + +int intervalStepFlow = 1000; +int intervalStepPlot = 1000; +int intervalStepForce = 100; +int intervalStepRes = 10; + +// 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; + +// ----------------- Periodic Parameters -------------------------------- +// Notice:Periodic boundary only support translation or rotation along the X axis! +// periodicType: Which symmetry plane is used in the mesh. +// 0 -- without Periodic Boundary. +// 1 -- Translational periodicity. +// 2 -- Rotational periodicity. +int periodicType = 1; +double translationLength[] = [0,3.14,0]; +double rotationAngle = 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 = 3900.0; +double refDimensionalTemperature = 288.15; + +//int inflowParaType = 1; +//double height = 0.001; + +double gridScaleFactor = 1.0; + +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. + +######################################################################### +# 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; +double limit_angle = 0; + +int roeEntropyFixMethod = 3; +double roeEntropyScale = 1.0; +######################################################################### +# Spatial Discretisation # +######################################################################### +#******************************************************************* +# Struct Solver * +#******************************************************************* +// str_limiter_name: Limiter of struct grid. +// -- "3rdsmooth", "smooth". +// -- "nolim", no limiter. + +string inviscidSchemeName = "roe"; +string str_limiter_name = "vanalbada"; + +#******************************************************************* +# 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. + +int ivencat = 4; +string uns_limiter_name = "nolim"; +double venkatCoeff = 100.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 = 1; +double physicalTimeStep = 0.005; +int ifStartFromSteadyResults = 0; +int min_sub_iter = 20; +int max_sub_iter = 20; +double tol_sub_iter = 0.01; + +double ktmax = 1.0e10; + +double CFLStart = 0.01; +double CFLEnd = 10.0; +int CFLVaryStep = 500; + +int nLUSGSSweeps = 1; +double LUSGSTolerance = 0.01; +double dtau_max = 1E-01; + +######################################################################### +# 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 = 0; + +######################################################################### +# 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/cylinder_270w_split120.fts"; +int walldistMethod = 0; +int PlotFieldType = 1; + +// ----------------- 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 = 10; +int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 11, 12, 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; + +//----------------------------------------------------------------------- +# 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 turb_vis_kind = 2; +int kindOfTurbSource = 0; +int mod_turb_res = 0; +double turb_relax = 1.0; +double turb_min_coef = 1.0e-1; +double freeStreamViscosity = 1.0e-3; +double muoo = 1.0e-1; +double kwoo = 1.0; + +# maximum eddy viscosity (myt/my) max. +double eddyViscosityLimit = 1.0e5; +double sdilim = 1.0e20; +double coef_kvist = 1.0; +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 = 1; +string sgsmodel = "smagorinsky"; +int deltaFunctionType = 2; +int wallDampingFunctionType = 1; +int turbViscousCutType = 2; +double smagConstant = 0.11; +double isotropicConstant = 0.0; +double waleConstant = 0.6; +int filterDirection[] = [1, 1, 0]; +int averageDirection[] = [1, 1, 0]; +double testFilterScale = 2.0; +int averageWidth = 1; +int monitorNegativeConstant = 0; + +double MUSCLCoefXk = 0.8; diff --git a/ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/grid_para.hypara b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/grid_para.hypara similarity index 52% rename from ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/grid_para.hypara rename to E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/grid_para.hypara index 1cd1b92..2416a4e 100644 --- a/ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/grid_para.hypara +++ b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/grid_para.hypara @@ -2,24 +2,24 @@ # 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. +// 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 -- HyperFLOW( 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, nMGLevel.in. -// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. -// 8 -- GMSH, *.msh. -int gridtype = 1; -int axisup = 2; -int from_gtype = 2; +// -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 = 2; +int from_gtype = 2; ######################################################################### # File path # diff --git a/ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/key.hypara b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/key.hypara similarity index 92% rename from ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/key.hypara rename to E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/key.hypara index 97f35f2..4c2e265 100644 --- a/ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/key.hypara +++ b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/bin/key.hypara @@ -19,7 +19,7 @@ int ndim = 3; int nparafile = 1; int nsimutask = 0; -//string parafilename = "./bin/cfd_para_subsonic.hypara"; +string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; @@ -29,7 +29,7 @@ int nsimutask = 0; //string parafilename = "./bin/grid_para.hypara"; //int nsimutask = 2; -string parafilename = "./bin/cfd_para.hypara"; +//string parafilename = "./bin/cfd_para.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; @@ -40,14 +40,13 @@ string parafilename = "./bin/cfd_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; -//int nsimutask = 21; +//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 iovrlap = 0; int numberOfGridProcessor = 0; // ATP read //@string parafilename1 = "" diff --git a/ThreeD_Cylinder_LES_Re3900_Struct_120CPU/grid/cylinder_270w_split120.cgns b/E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/grid/cylinder_270w_split120.cgns similarity index 100% rename from ThreeD_Cylinder_LES_Re3900_Struct_120CPU/grid/cylinder_270w_split120.cgns rename to E01_ThreeD_Cylinder_LES_Re3900_Struct_120CPU/grid/cylinder_270w_split120.cgns