Compare commits

..

129 Commits

Author SHA1 Message Date
hechao 17098ab5f3 F06算例说明文档更新 2024-09-03 14:59:16 +08:00
hechao ed6b54ad1e 补充Y03算例网格存放位置txt说明 2024-07-15 14:01:35 +08:00
hechao 103065be55 修改参数文档,解决俯仰振荡算例Bug 2024-07-09 13:54:20 +08:00
hechao 25aa6e302f 默认参数文件cfd_para.hypara更新 2024-07-01 12:34:30 +08:00
hechao 6cd9da73a0 红山官方算例库,更新2406版本默认参数 2024-06-28 15:38:48 +08:00
hechao f674abb75a 新添B25、B26、F12、Y03算例;部分算例参数及文档更新 2024-06-28 15:23:07 +08:00
hechao 188d76d348 A、B系列编号后均改为下划线 2024-05-21 14:49:53 +08:00
hechao 9bd6e95857 更新算例库Readme 2024-01-08 16:08:45 +08:00
hechao 0cfd53b09b 更新算例说明文档 2023-12-29 16:32:40 +08:00
hechao b3d4b0e102 更新部分算算例算例说明文档 2023-12-29 15:48:13 +08:00
hechao 2359166d07 默认参数替换 2023-12-29 15:01:57 +08:00
hechao 386c0834bb 添加3个旋转坐标系功能算例,修改部分参数Bug 2023-12-29 14:44:56 +08:00
hechao 3805128c29 处理参数文件及说明文档中存在的问题 2023-12-12 15:10:26 +08:00
hechao bad0c2967c 参数及文件名错误修复 2023-11-28 11:05:33 +08:00
hechao 490571f48d Readme调整表格列宽 2023-07-27 16:35:52 +08:00
hechao 56832c5e3b gmresh网格参数路径更新 2023-06-30 15:25:38 +08:00
hechao edfcc04ada 更新昇腾分支算例 2023-06-28 18:11:30 +08:00
hechao 9668b8d060 参数及文档更新 2023-06-26 16:57:41 +08:00
hechao 47d9130744 更新README 2023-06-25 14:27:05 +08:00
hechao 79e1353e13 参数及文件名更新 2023-06-25 13:53:52 +08:00
hechao 3a7371295a 参数更新 2023-06-22 08:39:50 +08:00
hechao 2b5c9c0758 部分算例文件夹命名及参数更新 2023-06-21 14:06:48 +08:00
hechao 8bc9386ade 新增Gmresh两个算例 2023-06-20 14:02:06 +08:00
hechao 6eff6a7e02 新增LBM算例6个 2023-06-19 11:06:28 +08:00
hechao 9a0ac605d8 X系列,Z系列参数及文档更新;替换和新增共13个不可压算例 2023-06-19 10:10:42 +08:00
hechao e15d25f771 F系列、G系列算例参数及文档更新;新增F01及F02结构走非结构装配流程算例、新增G08二维储气罐泄漏算例 2023-06-16 16:39:58 +08:00
hechao 243058d1ec C混合、D高阶、E大涡参数,文档更新 2023-06-16 09:45:17 +08:00
hechao e8c3ddafe4 B系列非结构参数,网格及文档更新;新增B19TrapWing算例 2023-06-15 18:18:40 +08:00
hechao cf2e9e39fd Merge branch 'master' of https://git.osredm.com/p68217053/PHengLEI-TestCases 2023-06-15 16:11:11 +08:00
hechao 4ee435c6b6 结构网格参数,网格,文档更新;新增A32低速预处理NACA0012翼型算例 2023-06-15 16:07:23 +08:00
lxcinner 9bab92bda9 Merge branch 'master' of https://git.osredm.com/p68217053/PHengLEI-TestCases 2022-09-15 20:23:25 +08:00
hechao 20cb88cdb3 F、G、H、X、Y、Z系列网格算例原始网格清理 2022-09-05 18:08:58 +08:00
hechao 69f2992014 C、D、E系列网格算例原始网格清理 2022-09-05 17:45:54 +08:00
hechao 8a8ac8768d B系列非结构网格算例原始网格清理 2022-09-05 17:26:44 +08:00
hechao 57c3da9c8d A系列结构网格算例原始网格清理 2022-09-05 16:51:51 +08:00
hechao a60cfecb64 新增B18:CRM-HL高升力外形模拟算例 2022-09-04 10:16:41 +08:00
hechao 1718040e3a F03-F06重叠算例overset_config.hypara添加引英文注释,整合参数,修改文档 2022-08-23 19:52:22 +08:00
hechao 7265132150 修改F06算例说明文档 2022-07-25 23:25:27 +08:00
hechao 90ee4709f5 对F05、F06进行文档修改并删除没有必要的文件 2022-07-25 22:57:51 +08:00
hechao a193a841a4 F07-F08参数规范 2022-07-14 10:29:06 +08:00
hechao 0477fefeb4 A15算例增加算例说明文档 2022-07-14 10:26:58 +08:00
hechao 5880409c39 移除H01中的多余文件 2022-07-14 10:24:42 +08:00
lxcinner 564274777b A15算例添加说明文档 2022-07-13 17:33:53 +08:00
hechao 6aaeafe07b G07算例参数及说明文档更新 2022-06-30 09:59:26 +08:00
hechao 7a1a3f7137 新增D03、D04算例 2022-06-29 23:47:23 +08:00
hechao 35fd719b7a 添加A24-A29,F11新算例;修改A13、A15参数、更新README 2022-06-29 23:33:27 +08:00
hechao edab4af668 更新F05-F06(参数,文档,流程,网格);新增D05、A30、A31算例 2022-06-29 23:05:35 +08:00
hechao fda314f0ec 优化A13-A15参数及说明文档;新增A24-A29、F11算例 2022-06-29 21:32:49 +08:00
hechao 1740362305 调整F03-F04;更新F09-F10、Z01-Z02;新增G05-G07、H01-H05 2022-06-29 21:09:35 +08:00
hechao 8d8748c38a A23、B17、C01-C04、E01-E03、F07=F08算例参数及文档更新 2022-06-29 14:56:35 +08:00
hechao 607c306f8f 1)A01-A12、A16-A22、B01-B16key文件参数更新
2)D01-D02、F01-F02文件参数更新
2022-06-29 10:23:38 +08:00
hechao 332e4f594e A01-A12、A16-A22、B01-B16、X01算例参数及文档更新 2022-06-28 21:52:43 +08:00
hechao 78fc3dbffd 修改分区文件参数pgridtype由0改为1,解决因网格类型不一致,分区报错问题 2022-06-23 10:24:21 +08:00
hechao beb08d641d PHengLEI2112版本算例中英文对照表更新 2021-12-31 11:54:53 +08:00
hechao d7bc8daf2d PHengLEI2112版本已有算例参数及文档更新 2021-12-31 11:27:31 +08:00
hechao 356ace3f2e PHengLEI2112版本已有算例参数及文档更新 2021-12-31 11:20:05 +08:00
hechao a498f7c23e PHengLEI2112版本已有算例参数及文档更新 2021-12-31 11:05:40 +08:00
hechao c954ffa7bb PHengLEI2112版本新算例添加 2021-12-31 10:11:18 +08:00
hechao 8def12d73b PHengLEI2112版本新添功能算例库更新 2021-12-31 10:01:15 +08:00
hechao c99fd81fb3 PHengLEI2112版本新添功能算例库更新 2021-12-31 09:04:02 +08:00
hexianyao e24b48e6e0 更新version图片 2021-12-18 09:53:13 +08:00
hexianyao bf8d2f778c 更新readme 2021-12-17 17:38:33 +08:00
hechao 7d6550334b 用户分享算例(三维结构SEEB-ALR旋成体算例)及说明文档更新 2021-11-20 15:58:52 +08:00
zhangyong af5bdd8431 Add Unstuctured ChntCase for CPU and GPU 2021-08-06 10:11:47 +08:00
hechao 640e1490f6 增加B13,Y01两个大网格CHNT算例 2021-08-05 20:42:47 +08:00
hechao 18ac0b3e62 更新结构LES及4个非结构重叠算例说明文档 2021-07-20 17:14:01 +08:00
hechao 73f0c95698 将计算参数文件与所在速域对应,跨声速改为高超声速 2021-07-20 10:59:14 +08:00
hechao 3d5389c37e Merge branch 'master' of https://git.osredm.com/p68217053/PHengLEI-TestCases 2021-07-20 10:56:38 +08:00
hechao 92c9705292 修改非结构双翼0012算例文件名,参数及重叠装配算例说明文档 2021-07-20 10:25:58 +08:00
hexianyao 590045e05a 2171 B06 2021-07-18 15:17:41 +08:00
hexianyao 3ea934e659 2171 B12 2021-07-18 14:42:28 +08:00
hexianyao 735ea26843 2171 B11 2021-07-18 14:36:14 +08:00
hexianyao aed41e3f04 2171 B10 2021-07-18 14:18:31 +08:00
hexianyao 7e9c4f3c60 2171 B09 2021-07-18 14:11:50 +08:00
hexianyao 8d52e4122c 2171 B08 2021-07-18 14:02:02 +08:00
hexianyao 0c141fae05 修改readme,非结构增加算例 2021-07-15 00:30:53 +08:00
hechao 6fe10d81a0 解决LES生成流场可视化文件出错问题 2021-07-10 09:18:45 +08:00
hechao 74e38625bb 更新bin文件及说明文档,解决结构LES不能计算的问题 2021-07-09 09:29:09 +08:00
hechao c1b9d2658e 2171版本算例库混合求解及LES算例说明文档更新 2021-07-08 19:36:23 +08:00
hechao 0a2096b0ad 算例库混合求解及LES算例说明文档更新 2021-07-08 18:48:18 +08:00
hechao 3b6d9b5d55 change:球头限制器参数、空间离散格式 2021-07-06 12:55:11 +08:00
hexianyao ff2d7cad52 更新readme 2021-07-03 09:51:14 +08:00
hexianyao daab43eff8 增加非结构球头高超算例 2021-07-03 09:48:50 +08:00
hexianyao 0ba3a5a88d 部分算例添加补充说明 2021-06-29 19:05:04 +08:00
hexianyao 392de7175b 结构重叠网格算例补充说明 2021-06-29 18:08:53 +08:00
hexianyao 9b475695a5 部分算例添加说明文档 2021-06-29 16:21:57 +08:00
hexianyao f541028f51 V2171 F06 2021-06-29 14:50:16 +08:00
hexianyao d4b98c9abc V2171 F05 2021-06-29 14:42:08 +08:00
hexianyao 7eb4d5fa00 V2171 F02 2021-06-29 14:23:49 +08:00
hexianyao fcea1baf9c V2171 F04 2021-06-29 11:23:50 +08:00
hexianyao 71c87959e3 V2171 F03 2021-06-29 11:13:59 +08:00
hexianyao 184a3f5866 V2171 F01 2021-06-29 11:00:06 +08:00
hexianyao 8574092868 V2171 G01,G02 2021-06-29 10:36:09 +08:00
hexianyao 6d8706a3a5 V2171 E01 2021-06-28 17:26:42 +08:00
hexianyao c680dbfa6e V2171 B05 2021-06-28 16:23:19 +08:00
hexianyao ea639eef7f Merge branch 'master' of https://git.osredm.com/p68217053/PHengLEI-TestCases 2021-06-28 15:31:43 +08:00
lxcinner 703348aae9 v2171 2021-06-28 15:26:16 +08:00
hexianyao e8500bd0cf Merge branch 'master' of https://git.osredm.com/p68217053/PHengLEI-TestCases 2021-06-28 15:25:03 +08:00
hexianyao 766fa31f79 V2171 C04 2021-06-28 15:23:44 +08:00
lxcinner 2be2af1217 v2171 2021-06-28 15:21:55 +08:00
hexianyao 05e170f433 V2171 C03 2021-06-28 13:17:46 +08:00
hexianyao 564b04c7dd V2171 B04 2021-06-28 12:58:31 +08:00
hexianyao 54ffdfeba2 V2171 E02 2021-06-28 12:38:06 +08:00
hexianyao 56c54cf8fc V2171 Z02 2021-06-27 19:51:08 +08:00
hexianyao 73348d85a2 V2171 Z01 2021-06-27 19:18:38 +08:00
hexianyao 71f5346db1 V2171 D02 2021-06-27 18:35:04 +08:00
hexianyao 303c629844 V2171 D01 2021-06-27 17:10:27 +08:00
hexianyao 7990d4276b V2171 C02 2021-06-27 15:39:28 +08:00
hexianyao 60a9724899 V2171 C01 2021-06-27 15:32:49 +08:00
hexianyao 837dd15b36 V2171 B03 2021-06-27 11:09:26 +08:00
hexianyao 1229d736ba V2171 B02 2021-06-27 11:02:30 +08:00
hexianyao 5bc44af30f V2171 B01 2021-06-27 10:37:19 +08:00
hexianyao 6b2403a9f9 V2171 A15 2021-06-27 10:18:26 +08:00
hexianyao 58ed80d2c7 V2171 A15 2021-06-27 10:17:03 +08:00
hexianyao 89deeafb1e V2171 A14 2021-06-27 09:30:54 +08:00
hexianyao 25f8a5e62a V2171 A13 2021-06-27 09:18:30 +08:00
hexianyao e5d6682a64 V2171 A12 2021-06-27 09:01:19 +08:00
hexianyao 9664f376ac V2171 A11 2021-06-27 08:43:38 +08:00
hexianyao 58f30ff1ac V2171 A10 2021-06-27 08:27:06 +08:00
hexianyao 539f14d52a V2171 A09 2021-06-26 23:44:44 +08:00
hexianyao d288c5c4f3 V2171 A08 2021-06-26 23:30:22 +08:00
hexianyao 97e6d7c438 V2171 A07 2021-06-26 23:14:38 +08:00
hexianyao c27d042fa6 V2171 A06 2021-06-26 21:39:43 +08:00
hexianyao 395439f46a V2171 A05 2021-06-26 21:19:15 +08:00
hexianyao 5022f3ac33 V2171 A04 2021-06-26 20:59:23 +08:00
hexianyao 2654e03b29 V2171 A03 2021-06-26 20:47:01 +08:00
hexianyao 5b45257a79 V2171 A02 2021-06-26 20:30:13 +08:00
hexianyao 910fd98285 V2171 A01 2021-06-26 20:12:55 +08:00
hexianyao 4b19efaef1 修改Readme文件 2021-06-25 12:40:47 +08:00
847 changed files with 205834 additions and 134839 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,197 @@
#########################################################################
# 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 = 150000;
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;
#########################################################################
# 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.1;
double attackd = 0.00;
double angleSlide = 0.00;
int inflowParaType = 0;
double refReNumber = 2.0e5;
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 = 2;
double roeEntropyScale = 1.0;
#########################################################################
# Spatial Discretisation #
#########################################################################
#*******************************************************************
# Struct Solver *
#*******************************************************************
// str_limiter_name: Limiter of struct grid.
// -- "3rdsmooth", "smooth".
// -- "nolim", no limiter.
string str_limiter_name = "nolim";
#*******************************************************************
# UnStruct Solver *
#*******************************************************************
// uns_limiter_name: Limiter of Unstruct grid.
// -- "vencat".
// -- "1st", meaning accuracy of first-order.
// -- "nolim", no limiter.
// venkatCoeff: Coefficient of vencat limiter, when uns_limiter_name = 'vencat'.
// The smaller the value, the more robust it is.
string uns_limiter_name = "vencat";
double venkatCoeff = 50.0;
#########################################################################
# Temporal Discretisation #
#########################################################################
// iunsteady: Steady or unsteady.
// 0 -- steady.
// 1 -- unsteay.
// CFLEnd: The CFL number, [0.1, 100].
// The bigger the value, the convergence faster but lower robustness.
// nLUSGSSweeps: Number of Sub-iteration of LU-SGS.
// 1 -- is recommended for structured solver.
// 1-3 -- is recommended for unstructured solver.
int iunsteady = 0;
double CFLEnd = 100.0;
int nLUSGSSweeps = 1;
#########################################################################
# Multi-Grid parameters #
#########################################################################
// nMGLevel: The number of Multi-Grid level.
// = 1 -- single-level.
// > 1 -- multi-level.
// flowInitStep: Flow initialization step, 0 - 500 is suggested.
// Multi-Grid : Number of steps computing on coarse grid, during flow initialization.
// Single-Grid: Number of steps computing using first-order with vanleer, during flow initialization.
int nMGLevel = 1;
int flowInitStep = 100;
#########################################################################
# File In or Out #
#########################################################################
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
// IMPORTANT WARNING: The file index should be ignored,
// e.g. if the partitioned grid is rae2822_hybrid2d__4_0.fts,
// Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/flat_laminar_73_81.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables: Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6),
// -- viscosityLaminar(7), viscosityTurbulent(8),
// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12),
// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17),
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21).
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0).
// 0 -- limit only for pressure and denstiny, then get the min value.
// 1 -- limit for every variables, then get the min value.
// limitVector:
// 0 -- Each variable use the same limiter coefficient.
// 1 -- Each variable use the respective limiter coefficients.
// reconmeth:
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1;
int limitVariables = 0;
int limitVector = 0;
double MUSCLCoefXk = 0.333333;

View File

@ -0,0 +1,35 @@
#########################################################################
# Grid data type #
#########################################################################
// gridtype: Grid type for generation, conversion, reconstruction, merging.
// 0 -- Unstructured grid.
// 1 -- Structured grid.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
// 2 -- CGNS, *.cgns.
// 3 -- Plot3D type of structured grid, *.dat/*.grd.
// 4 -- Fieldview type of unstructured grid, *.dat/*.inp.
// 5 -- Fluent, *.cas/*.msh.
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 3;
#########################################################################
# File path #
#########################################################################
// from_gfile: path of original data file for unstructure grid convert from.
// out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/flat_laminar_73_81.grd";
string out_gfile = "./grid/flat_laminar_73_81.fts";

View File

@ -0,0 +1,52 @@
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.
int ndim = 2;
int nparafile = 1;
int nsimutask = 0;
string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 = "";

View File

@ -0,0 +1,21 @@
// pgridtype: The grid type.
// 0 -- unstruct grid.
// 1 -- struct grid.
// maxproc: The number of partition zones that want to be divided into,
// which is equal to the number of CPU processors you want.
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
// 30~70 thousands unstructured cells per CPU-Core is suggested.
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
int pgridtype = 1;
int maxproc = 1;
string original_grid_file = "./grid/flat_laminar_73_81.fts";
string partition_grid_file = "./grid/flat_laminar_73_81.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;

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,196 @@
#########################################################################
# 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 = 50000;
int intervalStepFlow = 1000;
int intervalStepPlot = 1000;
int intervalStepForce = 100;
int intervalStepRes = 10;
#########################################################################
# Inflow Parameter #
#########################################################################
// refMachNumber: Mach number.
// attackd: Angle of attack.
// angleSlide: Angle of sideslip.
// wallTemperature: Temprature of the solid wall, minus value is for adiabatic boundary condition.
// 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.
// 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 = 5.00;
double attackd = 0.00;
double angleSlide = 0.00;
double wallTemperature = 327.36;
int inflowParaType = 0;
double refReNumber = 1.5e7;
double refDimensionalTemperature = 300.33;
double freestream_vibration_temperature = 10000.0;
//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 = 0.001;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
double forceReferenceLength = 1.0; // unit of meter.
double forceReferenceArea = 2.0; // unit of meter^2.
double TorqueRefX = 0.0; // unit of meter.
double TorqueRefY = 0.0; // unit of meter.
double TorqueRefZ = 0.0; // unit of meter.
#########################################################################
# Physical models #
#########################################################################
// viscousType: Viscous model.
// 0 -- Euler.
// 1 -- Lamilar.
// 3 -- 1eq turbulent.
// 4 -- 2eq turbulent.
// viscousName: Laminar or tubulent model.
// -- "1eq-sa", when viscousType = 3.
// -- "2eq-kw-menter-sst", when viscousType = 4.
// DESType: Type of DES.
// 0 -- RANS.(default)
// 1 -- DES.
// 2 -- DDES.
// 3 -- IDDES.
//int viscousType = 0;
//string viscousName = "Euler";
int viscousType = 1;
string viscousName = "laminar";
//int viscousType = 3;
//string viscousName = "1eq-sa";
//int viscousType = 4;
//string viscousName = "2eq-kw-menter-sst";
int DESType = 0;
int roeEntropyFixMethod = 2;
double roeEntropyScale = 0.0002;
#########################################################################
# Spatial Discretisation #
#########################################################################
#*******************************************************************
# Struct Solver *
#*******************************************************************
// inviscidSchemeName: Spatial discretisation scheme of struct grid.
// Using this when solve structered grid or hybrid.
// -- "vanleer", "steger", "ausmpw".
// str_limiter_name: Limiter of struct grid.
// -- "minmod", "3rd_minmod_smooth".
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 = "vanleer";
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.
// ktmax: The lower the value, the more robustness, 1.0e5 - 1.0e10.
int iunsteady = 0;
double CFLEnd = 100;
int CFLVaryStep = 500;
double ktmax = 1.0e10;
#########################################################################
# 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/plate_137_97.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables: Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6),
// -- viscosityLaminar(7), viscosityTurbulent(8),
// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12),
// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17),
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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).
// 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 = 0;
int limitVariables = 0;
int limitVector = 1;
double MUSCLCoefXk = 0.333333;

View File

@ -0,0 +1,35 @@
#########################################################################
# Grid data type #
#########################################################################
// gridtype: Grid type for generation, conversion, reconstruction, merging.
// 0 -- Unstructured grid.
// 1 -- Structured grid.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
// 2 -- CGNS, *.cgns.
// 3 -- Plot3D type of structured grid, *.dat/*.grd.
// 4 -- Fieldview type of unstructured grid, *.dat/*.inp.
// 5 -- Fluent, *.cas/*.msh.
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 3;
#########################################################################
# File path #
#########################################################################
// from_gfile: path of original data file for unstructure grid convert from.
// out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/plate_137_97.grd";
string out_gfile = "./grid/plate_137_97.fts";

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,17 +33,19 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 iovrlap = 0;
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""

View File

@ -0,0 +1,21 @@
// pgridtype: The grid type.
// 0 -- unstruct grid.
// 1 -- struct grid.
// maxproc: The number of partition zones that want to be divided into,
// which is equal to the number of CPU processors you want.
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
// 30~70 thousands unstructured cells per CPU-Core is suggested.
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
int pgridtype = 1;
int maxproc = 1;
string original_grid_file = "./grid/plate_137_97.fts";
string partition_grid_file = "./grid/plate_137_97.fts";
// numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid.
// 1 -- single level.
// 2 -- 2 level.
// N -- N level,..., et al.
int numberOfMultigrid = 1;

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,198 @@
#########################################################################
# General Control Parameter #
#########################################################################
// maxSimuStep: The max simulation step, don't care simulation is restart or not.
// intervalStepFlow: The step intervals for flow variables file 'flow.dat' saved.
// intervalStepPlot: The step intervals for tecplot visual file 'tecflow.dat' saved.
// intervalStepForce: The step intervals for aerodynamics coefficients file 'aircoef.dat' saved.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 100000;
int intervalStepFlow = 5000;
int intervalStepPlot = 5000;
int intervalStepForce = 100;
int intervalStepRes = 100;
// ifLowSpeedPrecon: Precondition process to accelerate convergence for low speed flow.
// 0 -- no precondition process. (default, mach > 0.3)
// 1 -- carry out precondition process. (mach number <= 0.3)
int ifLowSpeedPrecon = 0;
#########################################################################
# Inflow Parameter #
#########################################################################
// refMachNumber: Mach number.
// attackd: Angle of attack.
// angleSlide: Angle of sideslip.
// inflowParaType: The type of inflow parameters.
// 0 -- the nondimensional conditions.
// 1 -- the flight conditions.
// 2 -- the experiment conditions.
// 3 -- the subsonic boundary conditions.
// refReNumber: Reynolds number, which is based unit length, unit of 1/m.
// refDimensionalTemperature: Dimensional reference temperature, or the total temperature only for the experiment condition.
// refDimensionalPressure: Dimensional reference pressure, or the total pressure only for the experiment condition.
// height: Fly height, unit of km.
// gridScaleFactor: The customizable unit of the grid, default value is 1.0 for meter.Common dimensions like:
// 1 dm = 0.1 m.
// 1 cm = 0.01 m.
// 1 mm = 0.001m.
// 1 inch = 0.0254m.
// 1 foot = 12 inches = 0.3048m.
// 1 yard = 3 feet = 0.9144m.
// forceRefenenceLength, forceRefenenceLengthSpanWise, forceRefenenceArea: Reference length, SpanWise length and area, independent of grid unit.
// TorqueRefX, TorqueRefY, TorqueRefZ: Reference point, independent of grid unit.
double refMachNumber = 0.2;
double attackd = 0.00;
double angleSlide = 0.00;
int inflowParaType = 0;
double refReNumber = 5.0e6;
double refDimensionalTemperature = 288.15;
//int inflowParaType = 1;
//double height = 0.001;
double gridScaleFactor = 0.001;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
double forceReferenceLength = 1.0; // unit of meter.
double forceReferenceArea = 2.0; // unit of meter^2.
double TorqueRefX = 0.0; // unit of meter.
double TorqueRefY = 0.0; // unit of meter.
double TorqueRefZ = 0.0; // unit of meter.
#########################################################################
# Physical models #
#########################################################################
// viscousType : Viscous model.
// 0 -- Euler.
// 1 -- Lamilar.
// 3 -- 1eq turbulent.
// 4 -- 2eq turbulent.
// viscousName: Laminar or tubulent model.
// -- "1eq-sa", when viscousType = 3.
// -- "2eq-kw-menter-sst", when viscousType = 4.
// DESType: Type of DES.
// 0 -- RANS.(default)
// 1 -- DES.
// 2 -- DDES.
// 3 -- IDDES.
//int viscousType = 0;
//string viscousName = "Euler";
//int viscousType = 1;
//string viscousName = "laminar";
//int viscousType = 3;
//string viscousName = "1eq-sa";
int viscousType = 4;
string viscousName = "2eq-kw-menter-sst";
int DESType = 0;
int roeEntropyFixMethod = 2;
double roeEntropyScale = 1.0;
#########################################################################
# Spatial Discretisation #
#########################################################################
#*******************************************************************
# Struct Solver *
#*******************************************************************
// str_limiter_name: Limiter of struct grid.
// -- "3rdsmooth", "smooth".
// -- "nolim", no limiter.
string str_limiter_name = "nolim";
#*******************************************************************
# UnStruct Solver *
#*******************************************************************
// uns_limiter_name: Limiter of Unstruct grid.
// -- "vencat".
// -- "1st", meaning accuracy of first-order.
// -- "nolim", no limiter.
// venkatCoeff: Coefficient of vencat limiter, when uns_limiter_name = 'vencat'.
// The smaller the value, the more robust it is.
string uns_limiter_name = "vencat";
double venkatCoeff = 50.0;
#########################################################################
# Temporal Discretisation #
#########################################################################
// iunsteady: Steady or unsteady.
// 0 -- steady.
// 1 -- unsteay.
// CFLEnd: The CFL number, [0.1, 100].
// The bigger the value, the convergence faster but lower robustness.
// nLUSGSSweeps: Number of Sub-iteration of LU-SGS.
// 1 -- is recommended for structured solver.
// 1-3 -- is recommended for unstructured solver.
int iunsteady = 0;
double CFLEnd = 500.0;
int nLUSGSSweeps = 1;
#########################################################################
# Multi-Grid parameters #
#########################################################################
// nMGLevel: The number of Multi-Grid level.
// = 1 -- single-level.
// > 1 -- multi-level.
// flowInitStep: Flow initialization step, 0 - 500 is suggested.
// Multi-Grid : Number of steps computing on coarse grid, during flow initialization.
// Single-Grid: Number of steps computing using first-order with vanleer, during flow initialization.
int nMGLevel = 1;
int flowInitStep = 100;
#########################################################################
# File In or Out #
#########################################################################
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
// IMPORTANT WARNING: The file index should be ignored,
// e.g. if the partitioned grid is rae2822_hybrid2d__4_0.fts,
// Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/Mesh4_137_97.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables: Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6),
// -- viscosityLaminar(7), viscosityTurbulent(8),
// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12),
// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17),
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21).
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0).
// 0 -- limit only for pressure and denstiny, then get the min value.
// 1 -- limit for every variables, then get the min value.
// limitVector:
// 0 -- Each variable use the same limiter coefficient.
// 1 -- Each variable use the respective limiter coefficients.
// reconmeth:
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1;
int limitVariables = 0;
int limitVector = 0;
double MUSCLCoefXk = 0.333333;

View File

@ -0,0 +1,35 @@
#########################################################################
# Grid data type #
#########################################################################
// gridtype: Grid type for generation, conversion, reconstruction, merging.
// 0 -- Unstructured grid.
// 1 -- Structured grid.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
// 2 -- CGNS, *.cgns.
// 3 -- Plot3D type of structured grid, *.dat/*.grd.
// 4 -- Fieldview type of unstructured grid, *.dat/*.inp.
// 5 -- Fluent, *.cas/*.msh.
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 3;
#########################################################################
# File path #
#########################################################################
// from_gfile: path of original data file for unstructure grid convert from.
// out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/Mesh4_137_97.grd";
string out_gfile = "./grid/Mesh4_137_97.fts";

View File

@ -0,0 +1,52 @@
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.
int ndim = 2;
int nparafile = 1;
int nsimutask = 0;
string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 = "";

View File

@ -0,0 +1,21 @@
// pgridtype: The grid type.
// 0 -- unstruct grid.
// 1 -- struct grid.
// maxproc: The number of partition zones that want to be divided into,
// which is equal to the number of CPU processors you want.
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
// 30~70 thousands unstructured cells per CPU-Core is suggested.
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
int pgridtype = 1;
int maxproc = 1;
string original_grid_file = "./grid/Mesh4_137_97.fts";
string partition_grid_file = "./grid/Mesh4_137_97.fts";
// numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid.
// 1 -- single level.
// 2 -- 2 level.
// N -- N level,..., et al.
int numberOfMultigrid = 1;

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,192 @@
#########################################################################
# 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 = 20000;
int intervalStepFlow = 2000;
int intervalStepPlot = 2000;
int intervalStepForce = 100;
int intervalStepRes = 10;
#########################################################################
# Inflow Parameter #
#########################################################################
// refMachNumber: Mach number.
// attackd: Angle of attack.
// angleSlide: Angle of sideslip.
// wallTemperature: Temprature of the solid wall, minus value is for adiabatic boundary condition.
// 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 = 5.00;
double attackd = 0.00;
double angleSlide = 0.00;
double wallTemperature = 327.36;
int inflowParaType = 0;
double refReNumber = 1.5e7;
double refDimensionalTemperature = 300.33;
//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 = 0.001;
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
double forceReferenceLength = 1.0; // unit of meter.
double forceReferenceArea = 2.0; // unit of meter^2.
double TorqueRefX = 0.0; // unit of meter.
double TorqueRefY = 0.0; // unit of meter.
double TorqueRefZ = 0.0; // unit of meter.
#########################################################################
# Physical models #
#########################################################################
// viscousType : Viscous model.
// 0 -- Euler.
// 1 -- Lamilar.
// 3 -- 1eq turbulent.
// 4 -- 2eq turbulent.
// viscousName: Laminar or tubulent model.
// -- "1eq-sa", when viscousType = 3.
// -- "2eq-kw-menter-sst", when viscousType = 4.
// DESType: Type of DES.
// 0 -- RANS.(default)
// 1 -- DES.
// 2 -- DDES.
// 3 -- IDDES.
//int viscousType = 0;
//string viscousName = "Euler";
//int viscousType = 1;
//string viscousName = "laminar";
//int viscousType = 3;
//string viscousName = "1eq-sa";
int viscousType = 4;
string viscousName = "2eq-kw-menter-sst";
int DESType = 0;
int roeEntropyFixMethod = 2;
double roeEntropyScale = 1.0;
#########################################################################
# Spatial Discretisation #
#########################################################################
#*******************************************************************
# Struct Solver *
#*******************************************************************
// inviscidSchemeName: Spatial discretisation scheme of struct grid.
// Using this when solve structered grid or hybrid.
// -- "vanleer", "steger", "ausmpw".
// str_limiter_name: Limiter of struct grid.
// -- "minmod", "3rd_minmod_smooth".
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 = "vanleer";
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.
// ktmax: The lower the value, the more robustness, 1.0e5 - 1.0e10.
int iunsteady = 0;
double CFLEnd = 50.0;
double ktmax = 1.0e10;
#########################################################################
# File In or Out #
#########################################################################
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
// IMPORTANT WARNING: The file index should be ignored,
// e.g. if the partitioned grid is rae2822_hybrid2d__4_0.fts,
// Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/Mesh4_137_97.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables: Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6),
// -- viscosityLaminar(7), viscosityTurbulent(8),
// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12),
// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17),
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21).
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0).
// 0 -- limit only for pressure and denstiny, then get the min value.
// 1 -- limit for every variables, then get the min value.
// limitVector:
// 0 -- Each variable use the same limiter coefficient.
// 1 -- Each variable use the respective limiter coefficients.
// reconmeth:
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 0;
int limitVariables = 0;
int limitVector = 1;
double MUSCLCoefXk = 0.333333;

View File

@ -0,0 +1,35 @@
#########################################################################
# Grid data type #
#########################################################################
// gridtype: Grid type for generation, conversion, reconstruction, merging.
// 0 -- Unstructured grid.
// 1 -- Structured grid.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
// 2 -- CGNS, *.cgns.
// 3 -- Plot3D type of structured grid, *.dat/*.grd.
// 4 -- Fieldview type of unstructured grid, *.dat/*.inp.
// 5 -- Fluent, *.cas/*.msh.
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 3;
#########################################################################
# File path #
#########################################################################
// from_gfile: path of original data file for unstructure grid convert from.
// out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/Mesh4_137_97.grd";
string out_gfile = "./grid/Mesh4_137_97.fts";

View File

@ -0,0 +1,52 @@
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.
int ndim = 2;
int nparafile = 1;
int nsimutask = 0;
//string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 = "";

View File

@ -0,0 +1,21 @@
// pgridtype: The grid type.
// 0 -- unstruct grid.
// 1 -- struct grid.
// maxproc: The number of partition zones that want to be divided into,
// which is equal to the number of CPU processors you want.
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
// 30~70 thousands unstructured cells per CPU-Core is suggested.
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
int pgridtype = 1;
int maxproc = 1;
string original_grid_file = "./grid/Mesh4_137_97.fts";
string partition_grid_file = "./grid/Mesh4_137_97.fts";
// numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid.
// 1 -- single level.
// 2 -- 2 level.
// N -- N level,..., et al.
int numberOfMultigrid = 1;

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,195 @@
#########################################################################
# 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 = 30000;
int intervalStepFlow = 1000;
int intervalStepPlot = 1000;
int intervalStepForce = 100;
int intervalStepRes = 10;
#########################################################################
# Inflow Parameter #
#########################################################################
// refMachNumber: Mach number.
// attackd: Angle of attack.
// angleSlide: Angle of sideslip.
// wallTemperature: Temprature of the solid wall, minus value is for adiabatic boundary condition.
// 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.
// 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 = 8.03;
double attackd = 0.00;
double angleSlide = 0.00;
double wallTemperature = 294.0 ;
int inflowParaType = 0;
double refReNumber = 3.67e5;
double refDimensionalTemperature = 125.0;
//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 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 = 2;
double roeEntropyScale = 0.0001;
#########################################################################
# Spatial Discretisation #
#########################################################################
#*******************************************************************
# Struct Solver *
#*******************************************************************
// inviscidSchemeName: Spatial discretisation scheme of struct grid.
// Using this when solve structered grid or hybrid.
// -- "vanleer", "steger", "ausmpw".
// str_limiter_name: Limiter of struct grid.
// -- "minmod", "3rd_minmod_smooth".
string inviscidSchemeName = "roe";
string str_limiter_name = "vanleer";
#*******************************************************************
# 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 = "vanleer";
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.
// ktmax: The lower the value, the more robustness, 1.0e5 - 1.0e10.
int iunsteady = 0;
double CFLEnd = 3.0;
double ktmax = 1.0e10;
#########################################################################
# 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/input.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables: Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6),
// -- viscosityLaminar(7), viscosityTurbulent(8),
// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12),
// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17),
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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).
// 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 = 0;
int limitVariables = 0;
int limitVector = 1;
double MUSCLCoefXk = 0.333333;

View File

@ -0,0 +1,35 @@
#########################################################################
# Grid data type #
#########################################################################
// gridtype: Grid type for generation, conversion, reconstruction, merging.
// 0 -- Unstructured grid.
// 1 -- Structured grid.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
// 2 -- CGNS, *.cgns.
// 3 -- Plot3D type of structured grid, *.dat/*.grd.
// 4 -- Fieldview type of unstructured grid, *.dat/*.inp.
// 5 -- Fluent, *.cas/*.msh.
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 3;
#########################################################################
# File path #
#########################################################################
// from_gfile: path of original data file for unstructure grid convert from.
// out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/input.grd";
string out_gfile = "./grid/input.fts";

View File

@ -0,0 +1,52 @@
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.
int ndim = 2;
int nparafile = 1;
int nsimutask = 0;
//string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 = "";

View File

@ -0,0 +1,21 @@
// pgridtype: The grid type.
// 0 -- unstruct grid.
// 1 -- struct grid.
// maxproc: The number of partition zones that want to be divided into,
// which is equal to the number of CPU processors you want.
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
// 30~70 thousands unstructured cells per CPU-Core is suggested.
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
int pgridtype = 1;
int maxproc = 1;
string original_grid_file = "./grid/input.fts";
string partition_grid_file = "./grid/input.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;

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

File diff suppressed because it is too large Load Diff

View File

@ -7,12 +7,12 @@
// intervalStepForce: The step intervals for aerodynamics coefficients file 'aircoef.dat' saved.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 20000;
int maxSimuStep = 50000;
int intervalStepFlow = 1000;
int intervalStepPlot = 1000;
int intervalStepForce = 100;
int intervalStepRes = 50;
int intervalStepRes = 10;
#########################################################################
# Inflow Parameter #
@ -39,13 +39,13 @@ int intervalStepRes = 50;
// forceRefenenceLength, forceRefenenceLengthSpanWise, forceRefenenceArea: Reference length, SpanWise length and area, independent of grid unit.
// TorqueRefX, TorqueRefY, TorqueRefZ: Reference point, independent of grid unit.
double refMachNumber = 7.11;
double attackd = 0.00;
double refMachNumber = 0.799;
double attackd = 2.26;
double angleSlide = 0.00;
int inflowParaType = 0;
double refReNumber = 5.706e6;
double refDimensionalTemperature = 80;
double refReNumber = 9.0e6;
double refDimensionalTemperature = 288.15;
//int inflowParaType = 1;
//double height = 0.001;
@ -54,11 +54,11 @@ double refDimensionalTemperature = 80;
//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 = 0.01;
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 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.
@ -66,14 +66,14 @@ double TorqueRefZ = 0.0; // unit of meter.
#########################################################################
# Physical models #
#########################################################################
// iviscous: Viscous model.
// viscousType : Viscous model.
// 0 -- Euler.
// 1 -- Lamilar.
// 3 -- 1eq turbulent.
// 4 -- 2eq turbulent.
// viscousName: Laminar or tubulent model.
// -- "1eq-sa", when iviscous = 3.
// -- "2eq-kw-menter-sst", when iviscous = 4.
// -- "1eq-sa", when viscousType = 3.
// -- "2eq-kw-menter-sst", when viscousType = 4.
// DESType: Type of DES.
// 0 -- RANS.(default)
// 1 -- DES.
@ -110,7 +110,7 @@ double roeEntropyScale = 1.0;
// -- "nolim", no limiter.
string inviscidSchemeName = "roe";
string str_limiter_name = "minvan";
string str_limiter_name = "smooth";
#*******************************************************************
# UnStruct Solver *
@ -139,12 +139,12 @@ double venkatCoeff = 5.0;
// 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.
// 0 -- is recommended for structured solver.
// 1 -- is recommended for structured solver.
// 1-3 -- is recommended for unstructured solver.
int iunsteady = 0;
double CFLEnd = 10.0;
double CFLEnd = 30.0;
int nLUSGSSweeps = 1;
@ -169,10 +169,10 @@ int flowInitStep = 100;
// 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!
// isPlotVolumeField: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/3D_shock_wave__4.fts";
int isPlotVolumeField = 1;
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/NACA0012__4.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
@ -181,11 +181,11 @@ int isPlotVolumeField = 1;
// -- 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).
// -- 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 nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0).
@ -201,4 +201,3 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
int reconmeth = 1;
int limitVariables = 0;
int limitVector = 0;
double MUSCLCoefXk = 0.333333;

View File

@ -0,0 +1,35 @@
#########################################################################
# Grid data type #
#########################################################################
// gridtype: Grid type for generation, conversion, reconstruction, merging.
// 0 -- Unstructured grid.
// 1 -- Structured grid.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
// 2 -- CGNS, *.cgns.
// 3 -- Plot3D type of structured grid, *.dat/*.grd.
// 4 -- Fieldview type of unstructured grid, *.dat/*.inp.
// 5 -- Fluent, *.cas/*.msh.
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 3;
#########################################################################
# File path #
#########################################################################
// from_gfile: path of original data file for unstructure grid convert from.
// out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/NACA0012.grd";
string out_gfile = "./grid/NACA0012.fts";

View File

@ -0,0 +1,52 @@
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.
int ndim = 3;
int nparafile = 1;
int nsimutask = 0;
//string parafilename = "./bin/cfd_para_subsonic.hypara";
string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 = "";

View File

@ -11,8 +11,8 @@
int pgridtype = 1;
int maxproc = 4;
string original_grid_file = "./grid/3D_shock_wave.fts";
string partition_grid_file = "./grid/3D_shock_wave__4.fts";
string original_grid_file = "./grid/NACA0012.fts";
string partition_grid_file = "./grid/NACA0012__4.fts";
// numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid.
// 1 -- single level.

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

File diff suppressed because it is too large Load Diff

View File

@ -56,9 +56,9 @@ double refDimensionalTemperature = 288.15;
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 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.
@ -66,30 +66,30 @@ double TorqueRefZ = 0.0; // unit of meter.
#########################################################################
# Physical models #
#########################################################################
// iviscous: Viscous model.
// viscousType : Viscous model.
// 0 -- Euler.
// 1 -- Lamilar.
// 3 -- 1eq turbulent.
// 4 -- 2eq turbulent.
// viscousName: Laminar or tubulent model.
// -- "1eq-sa", when iviscous = 3.
// -- "2eq-kw-menter-sst", when iviscous = 4.
// -- "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;
//int viscousType = 0;
//string viscousName = "Euler";
//int viscousType = 1;
//int viscousType = 1;
//string viscousName = "laminar";
//int viscousType = 3;
//int viscousType = 3;
//string viscousName = "1eq-sa";
int viscousType = 4;
int viscousType = 4;
string viscousName = "2eq-kw-menter-sst";
int DESType = 0;
@ -139,7 +139,7 @@ double venkatCoeff = 5.0;
// 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.
// 0 -- is recommended for structured solver.
// 1 -- is recommended for structured solver.
// 1-3 -- is recommended for unstructured solver.
int iunsteady = 0;
@ -169,10 +169,10 @@ int flowInitStep = 100;
// 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!
// isPlotVolumeField: If dump out the whole field results to tecplot or not, 0 / 1.
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/rae2822_vis2d__4.fts";
int isPlotVolumeField = 0;
string gridfile = "./grid/rae2822_vis2d__4.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
@ -181,11 +181,11 @@ int isPlotVolumeField = 0;
// -- 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).
// -- 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 nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0).
@ -198,6 +198,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1;
int reconmeth = 1;
int limitVariables = 0;
int limitVector = 0;
int limitVector = 0;

View File

@ -0,0 +1,35 @@
#########################################################################
# Grid data type #
#########################################################################
// gridtype: Grid type for generation, conversion, reconstruction, merging.
// 0 -- Unstructured grid.
// 1 -- Structured grid.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
// 2 -- CGNS, *.cgns.
// 3 -- Plot3D type of structured grid, *.dat/*.grd.
// 4 -- Fieldview type of unstructured grid, *.dat/*.inp.
// 5 -- Fluent, *.cas/*.msh.
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 3;
#########################################################################
# File path #
#########################################################################
// from_gfile: path of original data file for unstructure grid convert from.
// out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/rae2822_vis2d.grd";
string out_gfile = "./grid/rae2822_vis2d.fts";

View File

@ -0,0 +1,52 @@
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.
int ndim = 2;
int nparafile = 1;
int nsimutask = 0;
//string parafilename = "./bin/cfd_para_subsonic.hypara";
string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 = "";

View File

@ -0,0 +1,21 @@
// pgridtype: The grid type.
// 0 -- unstruct grid.
// 1 -- struct grid.
// maxproc: The number of partition zones that want to be divided into,
// which is equal to the number of CPU processors you want.
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
// 30~70 thousands unstructured cells per CPU-Core is suggested.
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
int pgridtype = 1;
int maxproc = 4;
string original_grid_file = "./grid/rae2822_vis2d.fts";
string partition_grid_file = "./grid/rae2822_vis2d__4.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;

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,195 @@
#########################################################################
# 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 = 50000;
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;
#########################################################################
# 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 = 19.0;
double angleSlide = 0.00;
int inflowParaType = 0;
double refReNumber = 9.0e6;
double refDimensionalTemperature = 288.0;
//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 = 2;
double roeEntropyScale = 1.0;
#########################################################################
# Spatial Discretisation #
#########################################################################
#*******************************************************************
# Struct Solver *
#*******************************************************************
// str_limiter_name: Limiter of struct grid.
// -- "3rdsmooth", "smooth".
// -- "nolim", no limiter.
string str_limiter_name = "smooth";
#*******************************************************************
# UnStruct Solver *
#*******************************************************************
// uns_limiter_name: Limiter of Unstruct grid.
// -- "vencat".
// -- "1st", meaning accuracy of first-order.
// -- "nolim", no limiter.
// venkatCoeff: Coefficient of vencat limiter, when uns_limiter_name = 'vencat'.
// The smaller the value, the more robust it is.
string uns_limiter_name = "vencat";
double venkatCoeff = 50.0;
#########################################################################
# Temporal Discretisation #
#########################################################################
// iunsteady: Steady or unsteady.
// 0 -- steady.
// 1 -- unsteay.
// CFLEnd: The CFL number, [0.1, 100].
// The bigger the value, the convergence faster but lower robustness.
// nLUSGSSweeps: Number of Sub-iteration of LU-SGS.
// 1 -- is recommended for structured solver.
// 1-3 -- is recommended for unstructured solver.
int iunsteady = 0;
double CFLEnd = 10.0;
int nLUSGSSweeps = 1;
#########################################################################
# Multi-Grid parameters #
#########################################################################
// nMGLevel: The number of Multi-Grid level.
// = 1 -- single-level.
// > 1 -- multi-level.
// flowInitStep: Flow initialization step, 0 - 500 is suggested.
// Multi-Grid : Number of steps computing on coarse grid, during flow initialization.
// Single-Grid: Number of steps computing using first-order with vanleer, during flow initialization.
int nMGLevel = 1;
int flowInitStep = 100;
#########################################################################
# File In or Out #
#########################################################################
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
// IMPORTANT WARNING: The file index should be ignored,
// e.g. if the partitioned grid is rae2822_hybrid2d__4_0.fts,
// Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/30p30n_str__4.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables: Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6),
// -- viscosityLaminar(7), viscosityTurbulent(8),
// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12),
// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17),
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21).
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0).
// 0 -- limit only for pressure and denstiny, then get the min value.
// 1 -- limit for every variables, then get the min value.
// limitVector:
// 0 -- Each variable use the same limiter coefficient.
// 1 -- Each variable use the respective limiter coefficients.
// reconmeth:
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1;
int limitVariables = 0;
int limitVector = 0;

View File

@ -0,0 +1,35 @@
#########################################################################
# Grid data type #
#########################################################################
// gridtype: Grid type for generation, conversion, reconstruction, merging.
// 0 -- Unstructured grid.
// 1 -- Structured grid.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
// 2 -- CGNS, *.cgns.
// 3 -- Plot3D type of structured grid, *.dat/*.grd.
// 4 -- Fieldview type of unstructured grid, *.dat/*.inp.
// 5 -- Fluent, *.cas/*.msh.
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 3;
#########################################################################
# File path #
#########################################################################
// from_gfile: path of original data file for unstructure grid convert from.
// out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/30p30n_str.grd";
string out_gfile = "./grid/30p30n_str.fts";

View File

@ -0,0 +1,52 @@
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.
int ndim = 2;
int nparafile = 1;
int nsimutask = 0;
string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 = "";

View File

@ -0,0 +1,21 @@
// pgridtype: The grid type.
// 0 -- unstruct grid.
// 1 -- struct grid.
// maxproc: The number of partition zones that want to be divided into,
// which is equal to the number of CPU processors you want.
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
// 30~70 thousands unstructured cells per CPU-Core is suggested.
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
int pgridtype = 1;
int maxproc = 4;
string original_grid_file = "./grid/30p30n_str.fts";
string partition_grid_file = "./grid/30p30n_str__4.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;

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,205 @@
#########################################################################
# 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 = 10000;
int intervalStepFlow = 1000;
int intervalStepPlot = 1000;
int intervalStepForce = 100;
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.8395;
double attackd = 3.06;
double angleSlide = 0.00;
int inflowParaType = 0;
double refReNumber = 1.171e7;
double refDimensionalTemperature = 288;
//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 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 = 2;
double roeEntropyScale = 1.0;
#########################################################################
# 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 = 5.0;
#########################################################################
# Temporal Discretisation #
#########################################################################
// iunsteady: Steady or unsteady.
// 0 -- steady.
// 1 -- unsteay.
// CFLEnd: The CFL number, [0.1, 100].
// The bigger the value, the convergence faster but lower robustness.
// nLUSGSSweeps: Number of Sub-iteration of LU-SGS.
// 1 -- is recommended for structured solver.
// 1-3 -- is recommended for unstructured solver.
int iunsteady = 0;
double CFLEnd = 10.0;
int nLUSGSSweeps = 1;
#########################################################################
# Multi-Grid parameters #
#########################################################################
// nMGLevel: The number of Multi-Grid level.
// = 1 -- single-level.
// > 1 -- multi-level.
// flowInitStep: Flow initialization step, 0 - 500 is suggested.
// Multi-Grid : Number of steps computing on coarse grid, during flow initialization.
// Single-Grid: Number of steps computing using first-order with vanleer, during flow initialization.
int nMGLevel = 2;
int flowInitStep = 100;
#########################################################################
# File In or Out #
#########################################################################
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
// IMPORTANT WARNING: The file index should be ignored,
// e.g. if the partitioned grid is rae2822_hybrid2d__4_0.fts,
// Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/m6_str__4.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables: Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6),
// -- viscosityLaminar(7), viscosityTurbulent(8),
// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12),
// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17),
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), 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;
double MUSCLCoefXk = 0.333333;

View File

@ -0,0 +1,35 @@
#########################################################################
# Grid data type #
#########################################################################
// gridtype: Grid type for generation, conversion, reconstruction, merging.
// 0 -- Unstructured grid.
// 1 -- Structured grid.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
// 2 -- CGNS, *.cgns.
// 3 -- Plot3D type of structured grid, *.dat/*.grd.
// 4 -- Fieldview type of unstructured grid, *.dat/*.inp.
// 5 -- Fluent, *.cas/*.msh.
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int nAxisRotateTimes = 1;
int axisRotateOrder[] = [1];
double axisRotateAngles[]= [90.0];
int from_gtype = 2;
#########################################################################
# 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/m6_str.cgns";
string out_gfile = "./grid/m6_str.fts";

View File

@ -0,0 +1,52 @@
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.
int ndim = 3;
int nparafile = 1;
int nsimutask = 0;
//string parafilename = "./bin/cfd_para_subsonic.hypara";
string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 = "";

View File

@ -0,0 +1,21 @@
// pgridtype: The grid type.
// 0 -- unstruct grid.
// 1 -- struct grid.
// maxproc: The number of partition zones that want to be divided into,
// which is equal to the number of CPU processors you want.
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
// 30~70 thousands unstructured cells per CPU-Core is suggested.
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
int pgridtype = 1;
int maxproc = 4;
string original_grid_file = "./grid/m6_str.fts";
string partition_grid_file = "./grid/m6_str__4.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 = 2;

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

File diff suppressed because it is too large Load Diff

View File

@ -56,9 +56,9 @@ double refDimensionalTemperature = 298.15;
double gridScaleFactor = 1.0;
double forceRefenenceLengthSpanWise = 1.0; // unit of meter.
double forceRefenenceLength = 0.1937; // unit of meter.
double forceRefenenceArea = 0.12892; // unit of meter^2.
double forceReferenceLengthSpanWise = 1.0; // unit of meter.
double forceReferenceLength = 0.1937; // unit of meter.
double forceReferenceArea = 0.12892; // unit of meter^2.
double TorqueRefX = 0.66087; // unit of meter.
double TorqueRefY = 0.0; // unit of meter.
double TorqueRefZ = 0.0; // unit of meter.
@ -169,10 +169,10 @@ int flowInitStep = 100;
// 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!
// isPlotVolumeField: If dump out the whole field results to tecplot or not, 0 / 1.
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/stm-dkbm-c-all__16.fts";
int isPlotVolumeField = 0;
string gridfile = "./grid/stm-dkbm-c-all__16.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
@ -181,11 +181,11 @@ int isPlotVolumeField = 0;
// -- 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).
// -- 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 nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0).

View File

@ -4,9 +4,12 @@
// 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.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
@ -18,7 +21,9 @@
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int axisup = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 3;
#########################################################################

View File

@ -0,0 +1,52 @@
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.
int ndim = 3;
int nparafile = 1;
int nsimutask = 0;
//string parafilename = "./bin/cfd_para_subsonic.hypara";
string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 = "";

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,193 @@
#########################################################################
# 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 = 25000;
int intervalStepFlow = 1000;
int intervalStepPlot = 1000;
int intervalStepForce = 100;
int intervalStepRes = 10;
#########################################################################
# Inflow Parameter #
#########################################################################
// refMachNumber: Mach number.
// attackd: Angle of attack.
// angleSlide: Angle of sideslip.
// wallTemperature: Temprature of the solid wall, minus value is for adiabatic boundary condition.
// 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.
// 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 = 10.00;
double attackd = 0.00;
double angleSlide = 0.00;
double wallTemperature = 294.0;
int inflowParaType = 0;
double refReNumber = 1.0e5;
double refDimensionalTemperature = 79.0;
//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 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 = 2;
double roeEntropyScale = 0.0001;
#########################################################################
# Spatial Discretisation #
#########################################################################
#*******************************************************************
# Struct Solver *
#*******************************************************************
// inviscidSchemeName: Spatial discretisation scheme of struct grid.
// Using this when solve structered grid or hybrid.
// -- "vanleer", "steger", "ausmpw".
// str_limiter_name: Limiter of struct grid.
// -- "minmod", "3rd_minmod_smooth".
string inviscidSchemeName = "steger";
string str_limiter_name = "minmod";
#*******************************************************************
# 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 = "vanleer";
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.
// ktmax: The lower the value, the more robustness, 1.0e5 - 1.0e10.
int iunsteady = 0;
double CFLEnd = 10.0;
int CFLVaryStep = 100;
double ktmax = 1.0e10;
#########################################################################
# 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/3dball.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables: Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6),
// -- viscosityLaminar(7), viscosityTurbulent(8),
// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12),
// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17),
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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).
// 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 = 0;
int limitVariables = 0;
int limitVector = 1;

View File

@ -0,0 +1,35 @@
#########################################################################
# Grid data type #
#########################################################################
// gridtype: Grid type for generation, conversion, reconstruction, merging.
// 0 -- Unstructured grid.
// 1 -- Structured grid.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
// 2 -- CGNS, *.cgns.
// 3 -- Plot3D type of structured grid, *.dat/*.grd.
// 4 -- Fieldview type of unstructured grid, *.dat/*.inp.
// 5 -- Fluent, *.cas/*.msh.
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 3;
#########################################################################
# File path #
#########################################################################
// from_gfile: path of original data file for unstructure grid convert from.
// out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/3dball.grd";
string out_gfile = "./grid/3dball.fts";

View File

@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara";
// Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 1;
@ -23,7 +22,7 @@ int nsimutask = 0;
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/incompressible.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
@ -34,17 +33,19 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 iovrlap = 0;
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""

View File

@ -0,0 +1,21 @@
// pgridtype: The grid type.
// 0 -- unstruct grid.
// 1 -- struct grid.
// maxproc: The number of partition zones that want to be divided into,
// which is equal to the number of CPU processors you want.
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
// 30~70 thousands unstructured cells per CPU-Core is suggested.
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
int pgridtype = 1;
int maxproc = 1;
string original_grid_file = "./grid/3dball.fts";
string partition_grid_file = "./grid/3dball.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;

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,194 @@
#########################################################################
# 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 = 30000;
int intervalStepFlow = 2000;
int intervalStepPlot = 2000;
int intervalStepForce = 100;
int intervalStepRes = 10;
#########################################################################
# Inflow Parameter #
#########################################################################
// refMachNumber: Mach number.
// attackd: Angle of attack.
// angleSlide: Angle of sideslip.
// wallTemperature: Temprature of the solid wall, minus value is for adiabatic boundary condition.
// 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.
// 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 = 8.15;
double attackd = 0.00;
double angleSlide = 0.00;
double wallTemperature = 296.0;
int inflowParaType = 0;
double refReNumber = 1.6e7;
double refDimensionalTemperature = 56.0;
double freestream_vibration_temperature = 10000.0;
//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 = 0.01;
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 *
#*******************************************************************
// inviscidSchemeName: Spatial discretisation scheme of struct grid.
// Using this when solve structered grid or hybrid.
// -- "vanleer", "steger", "ausmpw".
// str_limiter_name: Limiter of struct grid.
// -- "minmod", "3rd_minmod_smooth".
string inviscidSchemeName = "steger";
string str_limiter_name = "minmod";
#*******************************************************************
# 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 = "vanleer";
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.
// ktmax: The lower the value, the more robustness, 1.0e5 - 1.0e10.
int iunsteady = 0;
double CFLEnd = 1.0;
double ktmax = 1.0e10;
#########################################################################
# 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/DoubleEllipse__4.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables: Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6),
// -- viscosityLaminar(7), viscosityTurbulent(8),
// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12),
// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17),
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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).
// 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 = 0;
int limitVariables = 0;
int limitVector = 1;

View File

@ -4,9 +4,12 @@
// 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.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
@ -18,7 +21,9 @@
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int axisup = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 3;
#########################################################################

View File

@ -0,0 +1,52 @@
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.
int ndim = 3;
int nparafile = 1;
int nsimutask = 0;
//string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 = "";

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

View File

@ -1,8 +1,8 @@
# nBoundaryConditons : number of global boundary conditions.
# nBoundaryConditions : number of global boundary conditions.
# bcName : Boundary Condition Name.
# bcType(in PHengLEI): Boundary Condition Type.
# Account of how to set boundaryconditon.
# Account of how to set boundarycondition.
# string bcName = "Farfield";
# {
# int bcType = 4;
@ -13,7 +13,7 @@
# double angleSlide = 0;
# }
int nBoundaryConditons = 4;
int nBoundaryConditions = 4;
string bcName = "SOLID_SURFACE";
{
int bcType = 2;

File diff suppressed because it is too large Load Diff

View File

@ -57,9 +57,9 @@ double refDimensionalTemperature = 298.33;
double gridScaleFactor = 0.0127;
double forceRefenenceLengthSpanWise = 1.0; // unit of meter.
double forceRefenenceLength = 1.0; // unit of meter.
double forceRefenenceArea = 1.0; // unit of meter^2.
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.
@ -67,14 +67,14 @@ double TorqueRefZ = 0.0; // unit of meter.
#########################################################################
# Physical models #
#########################################################################
// iviscous: Viscous model.
// viscousType : Viscous model.
// 0 -- Euler.
// 1 -- Lamilar.
// 3 -- 1eq turbulent.
// 4 -- 2eq turbulent.
// viscousName: Laminar or tubulent model.
// -- "1eq-sa", when iviscous = 3.
// -- "2eq-kw-menter-sst", when iviscous = 4.
// -- "1eq-sa", when viscousType = 3.
// -- "2eq-kw-menter-sst", when viscousType = 4.
// DESType: Type of DES.
// 0 -- RANS.(default)
// 1 -- DES.
@ -107,7 +107,7 @@ double roeEntropyScale = 1.0;
// -- "3rdsmooth", "smooth".
// -- "nolim", no limiter.
string str_limiter_name = "nolim";
string str_limiter_name = "nolim";
#*******************************************************************
# UnStruct Solver *
@ -161,10 +161,10 @@ int flowInitStep = 100;
// 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!
// isPlotVolumeField: If dump out the whole field results to tecplot or not, 0 / 1.
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/2D_BackwardStep__4.fts";
int isPlotVolumeField = 0;
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.

View File

@ -0,0 +1,35 @@
#########################################################################
# Grid data type #
#########################################################################
// gridtype: Grid type for generation, conversion, reconstruction, merging.
// 0 -- Unstructured grid.
// 1 -- Structured grid.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
// 2 -- CGNS, *.cgns.
// 3 -- Plot3D type of structured grid, *.dat/*.grd.
// 4 -- Fieldview type of unstructured grid, *.dat/*.inp.
// 5 -- Fluent, *.cas/*.msh.
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 3;
#########################################################################
# File path #
#########################################################################
// from_gfile: path of original data file for unstructure grid convert from.
// out_gfile: path of target file for grid convert to, *.fts type of file usually.
string from_gfile = "./grid/2D_BackwardStep.grd";
string out_gfile = "./grid/2D_BackwardStep.fts";

View File

@ -0,0 +1,52 @@
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.
int ndim = 2;
int nparafile = 1;
int nsimutask = 0;
string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 = "";

View File

@ -0,0 +1,21 @@
// pgridtype: The grid type.
// 0 -- unstruct grid.
// 1 -- struct grid.
// maxproc: The number of partition zones that want to be divided into,
// which is equal to the number of CPU processors you want.
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
// 30~70 thousands unstructured cells per CPU-Core is suggested.
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
int pgridtype = 1;
int maxproc = 4;
string original_grid_file = "./grid/2D_BackwardStep.fts";
string partition_grid_file = "./grid/2D_BackwardStep__4.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;

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

View File

@ -1,8 +1,8 @@
# nBoundaryConditons : number of global boundary conditions.
# nBoundaryConditions : number of global boundary conditions.
# bcName : Boundary Condition Name.
# bcType(in PHengLEI): Boundary Condition Type.
# Account of how to set boundaryconditon.
# Account of how to set boundarycondition.
# string bcName = "Farfield";
# {
# int bcType = 4;
@ -13,7 +13,7 @@
# double angleSlide = 0;
# }
int nBoundaryConditons = 5;
int nBoundaryConditions = 5;
string bcName = "SOLID_SURFACE";
{
int bcType = 2;
@ -26,14 +26,14 @@ string bcName = "FARFIELD";
{
int bcType = 4;
}
string bcName = "Inflow";
string bcName = "INFLOW";
{
int bcType = 52;
double totalPressure = 118309.784;
double totalTemperature = 302.4;
double direction_inlet[] = 1, 0, 0;
}
string bcName = "Outflow";
string bcName = "OUTFLOW";
{
int bcType = 62;
double staticPressure = 115056.0;

File diff suppressed because it is too large Load Diff

View File

@ -55,14 +55,14 @@ double refDimensionalTemperature = 300.00;
//double height = 0.001;
//int inflowParaType = 2;
//double refDimensionalTemperature = 302.4; // The total temperature, T*(1+(refGama-1)*M*M/2).
//double refDimensionalTemperature = 302.4; // The total temperature, T*(1+(refGama-1)*M*M/2).
//double refDimensionalPressure = 118309.784; // 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 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.
@ -70,14 +70,14 @@ double TorqueRefZ = 0.0; // unit of meter.
#########################################################################
# Physical models #
#########################################################################
// viscousType: Viscous model.
// viscousType : Viscous model.
// 0 -- Euler.
// 1 -- Lamilar.
// 3 -- 1eq turbulent.
// 4 -- 2eq turbulent.
// viscousName: Laminar or tubulent model.
// -- "1eq-sa", when iviscous = 3.
// -- "2eq-kw-menter-sst", when iviscous = 4.
// -- "1eq-sa", when viscousType = 3.
// -- "2eq-kw-menter-sst", when viscousType = 4.
// DESType: Type of DES.
// 0 -- RANS.(default)
// 1 -- DES.
@ -134,7 +134,7 @@ double venkatCoeff = 50.0;
// 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.
// 0 -- is recommended for structured solver.
// 1 -- is recommended for structured solver.
// 1-3 -- is recommended for unstructured solver.
int iunsteady = 0;
@ -164,10 +164,10 @@ int flowInitStep = 100;
// 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!
// isPlotVolumeField: If dump out the whole field results to tecplot or not, 0 / 1.
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/mesh0_545x385_plate__4.fts";
int isPlotVolumeField = 0;
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.

View File

@ -4,9 +4,12 @@
// 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.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
@ -18,7 +21,9 @@
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int axisup = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 3;
#########################################################################

View File

@ -0,0 +1,52 @@
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.
int ndim = 2;
int nparafile = 1;
int nsimutask = 0;
string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 = "";

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

File diff suppressed because it is too large Load Diff

View File

@ -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 = 20000;
int intervalStepFlow = 1000;
int intervalStepPlot = 1000;
int intervalStepForce = 100;
int intervalStepRes = 50;
#########################################################################
# Inflow Parameter #
#########################################################################
// refMachNumber: Mach number.
// attackd: Angle of attack.
// angleSlide: Angle of sideslip.
// wallTemperature: Temprature of the solid wall, minus value is for adiabatic boundary condition.
// 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 = 7.11;
double attackd = 0.00;
double angleSlide = 0.00;
double wallTemperature = 311.0;
int inflowParaType = 0;
double refReNumber = 5.706e6;
double refDimensionalTemperature = 80;
//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 = 0.01;
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 = 2;
double roeEntropyScale = 1.0;
#########################################################################
# Spatial Discretisation #
#########################################################################
#*******************************************************************
# Struct Solver *
#*******************************************************************
// inviscidSchemeName: Spatial discretisation scheme of struct grid.
// Using this when solve structered grid or hybrid.
// -- "vanleer", "steger", "ausmpw".
// str_limiter_name: Limiter of struct grid.
// -- "minmod", "3rd_minmod_smooth".
string inviscidSchemeName = "roe";
string str_limiter_name = "minvan";
#*******************************************************************
# 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 = 5.0;
#########################################################################
# Temporal Discretisation #
#########################################################################
// iunsteady: Steady or unsteady.
// 0 -- steady.
// 1 -- unsteay.
// CFLEnd: The CFL number, [0.1, 100].
// The bigger the value, the convergence faster but lower robustness.
// nLUSGSSweeps: Number of Sub-iteration of LU-SGS.
// 1 -- is recommended for structured solver.
// 1-3 -- is recommended for unstructured solver.
int iunsteady = 0;
double CFLEnd = 10.0;
int nLUSGSSweeps = 1;
#########################################################################
# 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/3D_shock_wave__4.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables: Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6),
// -- viscosityLaminar(7), viscosityTurbulent(8),
// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12),
// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17),
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21),
// -- 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).
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0).
// 0 -- limit only for pressure and denstiny, then get the min value.
// 1 -- limit for every variables, then get the min value.
// limitVector:
// 0 -- Each variable use the same limiter coefficient.
// 1 -- Each variable use the respective limiter coefficients.
// reconmeth:
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1;
int limitVariables = 0;
int limitVector = 0;
double MUSCLCoefXk = 0.333333;
// ----------------- 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 = 2;
double translationLength[] = [0.0,0.0,0.0];
double rotationAngle = 1.0;

View File

@ -0,0 +1,45 @@
#########################################################################
# Grid data type #
#########################################################################
// gridtype: Grid type for generation, conversion, reconstruction, merging.
// 0 -- Unstructured grid.
// 1 -- Structured grid.
// nAxisRotateTimes: number of axis rotating times, zero (default) meaning without rotating.
// axisRotateOrder : axis rotating order.
// 1 -- X-axis.
// 2 -- Y-axis.
// 3 -- Z-axis.
// axisRotateAngles: axis rotating angles (degree), which are corresponding to the axis rotating order.
// from_gtype: Type of grid data type in grid conversion process.
// -1 -- MULTI_TYPE.
// 1 -- PHengLEI, *.fts.
// 2 -- CGNS, *.cgns.
// 3 -- Plot3D type of structured grid, *.dat/*.grd.
// 4 -- Fieldview type of unstructured grid, *.dat/*.inp.
// 5 -- Fluent, *.cas/*.msh.
// 6 -- Ustar, mgrid.in.
// 7 -- Hybrid, include both of unstructured and structured grid, *.fts.
// 8 -- GMSH, *.msh.
int gridtype = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 2;
#########################################################################
# 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/3D_shock_wave.cgns";
string out_gfile = "./grid/3D_shock_wave.fts";
// ----------------- 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 = 2;
double translationLength[] = [0.0,0.0,0.0];
double rotationAngle = 1.0;

View File

@ -0,0 +1,52 @@
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.
int ndim = 3;
int nparafile = 1;
int nsimutask = 0;
//string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
string parafilename = "./bin/cfd_para_hypersonic.hypara";
//string parafilename = "./bin/cfd_para_incompressible.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_para.hypara";
//int nsimutask = 2;
//string parafilename = "./bin/cfd_para.hypara";
//int nsimutask = 3;
//string parafilename = "./bin/partition.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_deform_para.hypara";
//int nsimutask = 1;
//string parafilename = "./bin/grid_refine_para.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 = "";

View File

@ -0,0 +1,31 @@
// pgridtype: The grid type.
// 0 -- unstruct grid.
// 1 -- struct grid.
// maxproc: The number of partition zones that want to be divided into,
// which is equal to the number of CPU processors you want.
// Usually, 50~100 thousands structured cells per CPU-Core is suggested.
// 30~70 thousands unstructured cells per CPU-Core is suggested.
// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts).
// partition_grid_file: Target partition grid file(PHengLEI type, *.fts).
int pgridtype = 1;
int maxproc = 4;
string original_grid_file = "./grid/3D_shock_wave.fts";
string partition_grid_file = "./grid/3D_shock_wave__4.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;
// ----------------- 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 = 2;
double translationLength[] = [0.0,0.0,0.0];
double rotationAngle = 1.0;

View File

@ -0,0 +1,5 @@
红山开源风雷算例库原始网格获取百度网盘链接:
链接http://pan.baidu.com/s/1aZ9cdkp6CkT9il4fEpnTcA
提取码w47m
plot3D格式网格需同时下载.grd和.inp文件

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,195 @@
#########################################################################
# 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 = 80000;
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;
#########################################################################
# 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.185;
double attackd = 6.00;
double angleSlide = 0.00;
int inflowParaType = 0;
double refReNumber = 2.51e6;
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 = 2;
double roeEntropyScale = 1.0;
#########################################################################
# Spatial Discretisation #
#########################################################################
#*******************************************************************
# Struct Solver *
#*******************************************************************
// str_limiter_name: Limiter of struct grid.
// -- "3rdsmooth", "smooth".
// -- "nolim", no limiter.
string str_limiter_name = "smooth";
#*******************************************************************
# UnStruct Solver *
#*******************************************************************
// uns_limiter_name: Limiter of Unstruct grid.
// -- "vencat".
// -- "1st", meaning accuracy of first-order.
// -- "nolim", no limiter.
// venkatCoeff: Coefficient of vencat limiter, when uns_limiter_name = 'vencat'.
// The smaller the value, the more robust it is.
string uns_limiter_name = "vencat";
double venkatCoeff = 50.0;
#########################################################################
# Temporal Discretisation #
#########################################################################
// iunsteady: Steady or unsteady.
// 0 -- steady.
// 1 -- unsteay.
// CFLEnd: The CFL number, [0.1, 100].
// The bigger the value, the convergence faster but lower robustness.
// nLUSGSSweeps: Number of Sub-iteration of LU-SGS.
// 1 -- is recommended for structured solver.
// 1-3 -- is recommended for unstructured solver.
int iunsteady = 0;
double CFLEnd = 10.0;
int nLUSGSSweeps = 1;
#########################################################################
# Multi-Grid parameters #
#########################################################################
// nMGLevel: The number of Multi-Grid level.
// = 1 -- single-level.
// > 1 -- multi-level.
// flowInitStep: Flow initialization step, 0 - 500 is suggested.
// Multi-Grid : Number of steps computing on coarse grid, during flow initialization.
// Single-Grid: Number of steps computing using first-order with vanleer, during flow initialization.
int nMGLevel = 1;
int flowInitStep = 100;
#########################################################################
# File In or Out #
#########################################################################
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
// IMPORTANT WARNING: The file index should be ignored,
// e.g. if the partitioned grid is rae2822_hybrid2d__4_0.fts,
// Please use 'rae2822_hybrid2d__4.fts' here!
// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1.
string gridfile = "./grid/2D_NLR7301_Str.fts";
int plotFieldType = 0;
// ----------------- Advanced Parameters, DO NOT care it ----------------
// nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables: Variable types dumped, listed as following:
// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6),
// -- viscosityLaminar(7), viscosityTurbulent(8),
// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12),
// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17),
// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21).
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 8;
int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15];
// limitVariables: Limit model (It is useful only if limitVector is 0).
// 0 -- limit only for pressure and denstiny, then get the min value.
// 1 -- limit for every variables, then get the min value.
// limitVector:
// 0 -- Each variable use the same limiter coefficient.
// 1 -- Each variable use the respective limiter coefficients.
// reconmeth:
// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients.
// 1 -- Q+, Q- use the min limiter coefficients of left and right cell.
int reconmeth = 1;
int limitVariables = 0;
int limitVector = 0;

Some files were not shown because too many files have changed in this diff Show More