forked from PHengLEI/PHengLEI-TestCases
300 lines
13 KiB
Plaintext
300 lines
13 KiB
Plaintext
#########################################################################
|
|
# 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 = 400;
|
|
|
|
int intervalStepFlow = 100;
|
|
int intervalStepPlot = 100;
|
|
int intervalStepForce = 10;
|
|
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.0,0.0,0.5];
|
|
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.
|
|
// forceReferenceLength, forceReferenceLengthSpanWise, forceReferenceArea: Reference length, SpanWise length and area, independent of grid unit.
|
|
// TorqueRefX, TorqueRefY, TorqueRefZ: Reference point, independent of grid unit.
|
|
|
|
double refMachNumber = 0.4;
|
|
double attackd = 9.29;
|
|
double angleSlide = 0.00;
|
|
|
|
int inflowParaType = 0;
|
|
double refReNumber = 50000.0;
|
|
double refDimensionalTemperature = 288.15;
|
|
|
|
//int inflowParaType = 1;
|
|
//double height = 0.001;
|
|
|
|
double gridScaleFactor = 1.0;
|
|
|
|
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
|
|
double forceReferenceLength = 1.0; // unit of meter.
|
|
double forceReferenceArea = 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 = 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 = "3rdsmooth";
|
|
|
|
#*******************************************************************
|
|
# UnStruct Solver *
|
|
#*******************************************************************
|
|
// uns_limiter_name: Limiter of Unstruct grid.
|
|
// -- "vencat".
|
|
// -- "1st", meaning accuracy of first-order.
|
|
// -- "nolim", no limiter.
|
|
// venkatCoeff: Coefficient of vencat limiter, when uns_limiter_name = 'vencat'.
|
|
// The smaller the value, the more robust it is.
|
|
|
|
string uns_limiter_name = "vencat";
|
|
double venkatCoeff = 50.0;
|
|
|
|
#########################################################################
|
|
# Temporal Discretisation #
|
|
#########################################################################
|
|
// iunsteady: Steady or unsteady.
|
|
// 0 -- steady.
|
|
// 1 -- unsteay.
|
|
// CFLEnd: The CFL number, [0.1, 100].
|
|
// The bigger the value, the convergence faster but lower robustness.
|
|
// nLUSGSSweeps: Number of Sub-iteration of LU-SGS.
|
|
// 1 -- is recommended for structured solver.
|
|
// 1-3 -- is recommended for unstructured solver.
|
|
|
|
int iunsteady = 1;
|
|
double physicalTimeStep = 0.002;
|
|
int ifStaticsFlowField = 1;
|
|
int ifStaticsReynoldsStress = 1;
|
|
int startStatisticStep = 30010;
|
|
double statisticalTimePeriod = -1.0;
|
|
int statisticMethod = 0;
|
|
|
|
int min_sub_iter = 20;
|
|
int max_sub_iter = 20;
|
|
|
|
double CFLStart = 10.0;
|
|
double CFLEnd = 10.0;
|
|
int CFLVaryStep = 1;
|
|
|
|
int nLUSGSSweeps = 4;
|
|
double LUSGSTolerance = 1.0e-20;
|
|
|
|
//-----------------------------------------------------------------------
|
|
# 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 = "sigma";
|
|
int deltaFunctionType = 2;
|
|
int wallDampingFunctionType = 0;
|
|
int turbViscousCutType = 2;
|
|
double smagConstant = 0.11;
|
|
double isotropicConstant = 0.0;
|
|
double waleConstant = 0.6;
|
|
double sigmaConstant = 1.35;
|
|
int filterDirection[] = [1, 1, 0];
|
|
int averageDirection[] = [1, 1, 0];
|
|
double testFilterScale = 2.0;
|
|
int averageWidth = 1;
|
|
int monitorNegativeConstant = 0;
|
|
|
|
#########################################################################
|
|
# 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 = 1;
|
|
string str_highorder_solver = "WCNS";
|
|
int SolverStructOrder = 0;
|
|
double str_highorder_interpolation_epsilon = 1.0e-4;
|
|
string str_highorder_interpolation_type = "test";
|
|
string str_highorder_flux_name = "roe";
|
|
string structhighordergradient = "conservation";
|
|
|
|
#########################################################################
|
|
# 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/naca0012_str_26m_yup__400.fts";
|
|
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 = 9;
|
|
int visualVariables[] = [0, 1, 2, 3, 4, 5, 8, 12, 14];
|
|
|
|
// limitVariables: Limit model (It is useful only if limitVector is 0).
|
|
// 0 -- limit only for pressure and denstiny, then get the min value.
|
|
// 1 -- limit for every variables, then get the min value.
|
|
// limitVector:
|
|
// 0 -- Each variable use the same limiter coefficient.
|
|
// 1 -- Each variable use the respective limiter coefficients.
|
|
// reconmeth:
|
|
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
|
|
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
|
|
|
|
int reconmeth = 1;
|
|
int limitVariables = 0;
|
|
int limitVector = 0;
|
|
|
|
double eddyViscosityLimit = 1.0e5;
|
|
double MUSCLCoefXk = 0.8; |