forked from p15932078/PHengLEI-TestCases
V2171 F06
This commit is contained in:
parent
d4b98c9abc
commit
f541028f51
|
@ -0,0 +1,57 @@
|
|||
# nBoundaryConditons : number of global boundary conditions.
|
||||
# bcName : Boundary Condition Name.
|
||||
# bcType(in PHengLEI): Boundary Condition Type.
|
||||
|
||||
# Account of how to set boundaryconditon.
|
||||
# string bcName = "Farfield";
|
||||
# {
|
||||
# int bcType = 4;
|
||||
# int inflowParaType = 1;
|
||||
# double attackd = 0;
|
||||
# double refReNumber = 6.5e6;
|
||||
# double refMachNumber = 3.5;
|
||||
# double angleSlide = 0;
|
||||
# }
|
||||
|
||||
int nBoundaryConditons = 5;
|
||||
string bcName = "0";
|
||||
{
|
||||
int bcType = 2;
|
||||
}
|
||||
|
||||
string bcName = "1";
|
||||
{
|
||||
int bcType = 2;
|
||||
}
|
||||
|
||||
string bcName = "4";
|
||||
{
|
||||
int bcType = 1000;
|
||||
}
|
||||
|
||||
string bcName = "3";
|
||||
{
|
||||
int bcType = 3;
|
||||
}
|
||||
|
||||
string bcName = "2";
|
||||
{
|
||||
int bcType = 4;
|
||||
}
|
||||
|
||||
|
||||
# 'bcType' is defined as following:
|
||||
# 99: PERIODIC
|
||||
# -2: WAKE
|
||||
# -1: INTERFACE
|
||||
# 0 : NO_BOUNDARY_CONDITION
|
||||
# 1 : EXTRAPOLATION
|
||||
# 2 : SOLID_SURFACE
|
||||
# 3 : SYMMETRY
|
||||
# 4 : FARFIELD
|
||||
# 5 : INFLOW
|
||||
# 6 : OUTFLOW
|
||||
# 52: PRESSURE_INLET
|
||||
# 62: PRESSURE_OUTLET
|
||||
# 61: OUTFLOW_CONFINED
|
||||
# 7 : POLE
|
|
@ -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;
|
||||
|
|
@ -0,0 +1,204 @@
|
|||
#########################################################################
|
||||
# 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 = 50;
|
||||
|
||||
int intervalStepFlow = 10;
|
||||
int intervalStepPlot = 10;
|
||||
int intervalStepForce = 10;
|
||||
int intervalStepRes = 10;
|
||||
|
||||
#########################################################################
|
||||
# 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.95;
|
||||
double attackd = 0.00;
|
||||
double angleSlide = 0.00;
|
||||
|
||||
int inflowParaType = 0;
|
||||
double refReNumber = 7.87E6;
|
||||
double refDimensionalTemperature = 288.15;
|
||||
|
||||
//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)).
|
||||
|
||||
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;
|
||||
|
||||
int roeEntropyFixMethod = 3;
|
||||
double roeEntropyScale = 0.1;
|
||||
#########################################################################
|
||||
# Spatial Discretisation #
|
||||
#########################################################################
|
||||
#*******************************************************************
|
||||
# Struct Solver *
|
||||
#*******************************************************************
|
||||
// inviscidSchemeName: Spatial discretisation scheme of struct grid.
|
||||
// Using this when solve structered grid or hybrid.
|
||||
// -- "roe", "vanleer", "ausm+up", "ausmpw".
|
||||
// str_limiter_name: Limiter of struct grid.
|
||||
// -- "3rdsmooth", "smooth".
|
||||
// -- "nolim", no limiter.
|
||||
|
||||
string inviscidSchemeName = "roe";
|
||||
string str_limiter_name = "smooth";
|
||||
|
||||
#*******************************************************************
|
||||
# UnStruct Solver *
|
||||
#*******************************************************************
|
||||
// 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.
|
||||
// -- "vencat", "barth".
|
||||
// -- "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_scheme_name = "roe";
|
||||
string uns_limiter_name = "vencat";
|
||||
double venkatCoeff = 0.5;
|
||||
|
||||
#########################################################################
|
||||
# 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 = 0.5;
|
||||
|
||||
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 = 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/Wing__6.fts";
|
||||
int plotFieldType = 1;
|
||||
int visualfileType = 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), 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];
|
||||
|
||||
// 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;
|
|
@ -0,0 +1,41 @@
|
|||
#########################################################################
|
||||
# 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 = 0;
|
||||
int axisup = 1;
|
||||
int from_gtype = 5;
|
||||
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/Missile.cas";
|
||||
//string out_gfile = "./grid/Missile.fts";
|
||||
|
||||
//string from_gfile = "./grid/MissileIn.cas";
|
||||
//string out_gfile = "./grid/MissileIn.fts";
|
||||
|
||||
//string from_gfile = "./grid/Wing.cas";
|
||||
//string out_gfile = "./grid/Wing.fts";
|
||||
|
||||
string from_gfile = "./grid/WingIn.cas";
|
||||
string out_gfile = "./grid/WingIn.fts";
|
|
@ -0,0 +1,57 @@
|
|||
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 = 3;
|
||||
int nparafile = 2;
|
||||
|
||||
int nsimutask = 0;
|
||||
//string parafilename = "./bin/cfd_para_subsonic.hypara";
|
||||
string parafilename = "./bin/cfd_para_transonic.hypara";
|
||||
//string parafilename = "./bin/cfd_para_supersonic.hypara";
|
||||
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
|
||||
//string parafilename = "./bin/incompressible.hypara";
|
||||
string parafilename1 = "./bin/overset_config.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 = 6;
|
||||
//string parafilename = "./bin/overset_config.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 = "";
|
|
@ -0,0 +1,25 @@
|
|||
int parallelStrategy = 1;
|
||||
int numberOfGridGroups = 2;
|
||||
string gridfile = "./grid/Wing__6.fts";
|
||||
string gridfile1 = "./grid/Missile__2.fts";
|
||||
int codeOfOversetGrid = 1; // 0: 无重叠 1: 重叠;
|
||||
int codeOfOversetSlipGrid = 0; // 0: 无滑移 1: 滑移;
|
||||
int readOversetFileOrNot = 0; // 0: 适时装配 1: 读ovs文件
|
||||
int symetryOrNot = 1; //是否只进行半场计算
|
||||
int readInAuxiliaryInnerGrid = 1; //是否需要辅助网格(inner)
|
||||
int readInAuxiliaryOuterGrid = 0; //是否需要辅助网格(outer)
|
||||
int readInSklFileOrNot = 0; //读入skl文件有助于点属性的准确通讯,但是比较耗时
|
||||
string auxiliaryInnerGrid0 = "./grid/WingIn.fts";
|
||||
string auxiliaryInnerGrid1 = "./grid/MissileIn.fts";
|
||||
string oversetGridFileName = "./grid/overlap.ovs";
|
||||
double walldistMainZone = 1.0
|
||||
double toleranceForOversetSearch = 1e-3;
|
||||
double toleranceForOversetBox = 1e-3;
|
||||
int twoOrderInterpolationOrNot = 1; //1-采用二阶插值(多一排插值点);0-一阶插值
|
||||
int keyEnlargeOfActiveNodes = 1; //活跃区域扩展次数
|
||||
int outTecplotOverset = 1; //
|
||||
// kinetic
|
||||
int numberOfMovingBodies = 2;
|
||||
int morphing_0 = 0; //0-不变形;1-二维fish
|
||||
int morphing_1 = 0; //0-不变形;1-二维fish
|
||||
int morphing_2 = 0; //0-不变形;1-二维fish
|
|
@ -0,0 +1,24 @@
|
|||
// 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 = 0;
|
||||
int maxproc = 6;
|
||||
|
||||
//string original_grid_file = "./grid/Missile.fts";
|
||||
//string partition_grid_file = "./grid/Missile__2.fts";
|
||||
|
||||
string original_grid_file = "./grid/Wing.fts";
|
||||
string partition_grid_file = "./grid/Wing__6.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;
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue