X系列,Z系列参数及文档更新;替换和新增共13个不可压算例

This commit is contained in:
hechao 2023-06-19 10:10:42 +08:00
parent e15d25f771
commit 9a0ac605d8
100 changed files with 25888 additions and 1494 deletions

View File

@ -0,0 +1,52 @@
# nBoundaryConditons : number of global boundary conditions.
# bcName : Boundary Condition Name.
# bcType(in PHengLEI): Boundary Condition Type.
# Account of how to set boundaryconditon.
# string bcName = "Farfield";
# {
# int bcType = 4;
# int inflowParaType = 1;
# double attackd = 0;
# double refReNumber = 6.5e6;
# double refMachNumber = 3.5;
# double angleSlide = 0;
# }
int nBoundaryConditions = 3;
string bcName = "wall_1";
{
int bcType = 2;
}
string bcName = "inlet_1";
{
int bcType = 52;
double totalPressure = 200;
double initKinetic = 1.5;
double initEpsilon = 2025;
}
string bcName = "outlet_1";
{
int bcType = 6;
double initP =0;
double initKinetic = 1.5;
double initEpsilon = 2025;
}
# 'bcType' is defined as following:
# 99: PERIODIC
# -2: WAKE
# -1: INTERFACE
# 0 : NO_BOUNDARY_CONDITION
# 1 : EXTRAPOLATION
# 2 : SOLID_SURFACE
# 3 : SYMMETRY
# 4 : FARFIELD
# 5 : INFLOW
# 6 : OUTFLOW
# 52: PRESSURE_INLET
# 62: PRESSURE_OUTLET
# 61: OUTFLOW_CONFINED
# 7 : POLE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,211 @@
#########################################################################
# 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.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 2000;
int intervalStepFlow = 2000;
int intervalStepPlot = 500;
int intervalStepForce = 1;
int intervalStepRes = 1;
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
string gridfile = "./grid/back__4.fts";
#########################################################################
# Flow Parameter #
#########################################################################
//flowSolverName : SIMPLE/CompressibleSIMPLE/PISO
string flowSolverName = "SIMPLE";
// Initial value of flow variables
double initRho = 1.0;
double initU = 20;
double initV = 0;
double initW = 0;
double initP = 0;
double initMu = 0.00001;
double initRg = 296.928571;
double refP = 101325;
int refPLocate = 0
//Parameters For Solving the Momentum Equation
// MomEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int MomEqSolMethod = 2;
// MomEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int MomEqPrecondMethod = 1;
int MomEqMaxSweep = 30;
double MomEqIterSolvTol = 1e-8;
double MomEqRelaxCoeff = 0.5;
//Parameters For Solving the Pressure Possion Equation
// PPEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int PPEqSolMethod= 3;
// PPEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int PPEqPrecondMethod= 1;
int PPEqMaxSweep = 30;
double PPEqIterSolvTol = 1e-8;
double PPEqRelaxCoeff = 0.3;
//Relaxation factor of surface flux
double FaceFluxRelaxCoeff = 0.5;
int isCalGravityVisSource = 0;
int bodyForceFlag = 0;
double gravityX = 0.0;
double gravityY = -9.81;
double gravityZ = 0.0;
int isBoussinesqApproximation = 0;
double thermalExpansionCoeff = 3.44827e-3;
#########################################################################
# Turbulence Equation Parameter #
#########################################################################
// isSolveTurb : is(1)/not(0);
int isSolveTurb = 1
// TurbEqSolverName : k-epsilon(KE)/Spalart-Allmaras(SA)
string TurbEqSolverName = "KE";
// Initial value of Turbulence variables
double initKinetic = 1.5;
double initEpsilon = 2025;
//Parameters For Solving the Turbulence Equation
// TurbEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int TurbEqSolMethod = 2;
// TurbEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int TurbEqPrecondMethod = 1;
int TurbEqMaxSweep = 30;
double TurbEqIterSolvTol = 1e-8;
double TurbEqRelaxCoeff = 0.5;
#########################################################################
# Energy Equation Parameter #
#########################################################################
// isSolveEnergy : is(1)/not(0);
int isSolveEnergy = 0;
// Initial value of Energy variables
double initT = 273.15;
double initCPg = 1007.0;
double initK = 0.0454;
double initkappa = 1.4;
double refT = 300;
//Parameters For Solving the Energy Equation
// EnergyEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int EnergyEqSolMethod = 2;
// EnergyEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int EnergyEqPrecondMethod = 1;
int EnergyEqMaxSweep = 30;
double EnergyEqIterSolvTol = 1e-8;
double EnergyEqRelaxCoeff = 0.5;
#########################################################################
# Species Equation Parameter #
#########################################################################
// isSolveSpecies : is(1)/not(0);
int isSolveSpecies = 0;
//Parameters For Solving the Species Equation
int numberOfSpeciesIncom = 1;
string speciesNameIncom[] = [AIR];
double initMassFractionIncom[] = [1.0];
//Parameters For Solving the Species Equation
// SpeciesEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int SpeciesEqSolMethod = 2;
// SpeciesEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int SpeciesEqPrecondMethod = 1;
int SpeciesEqMaxSweep = 30;
double SpeciesEqIterSolvTol = 1e-8;
double SpeciesEqRelaxCoeff = 0.5;
#########################################################################
# Unsteady Parameter #
#########################################################################
// iunsteady : is(1)/not(0);
int iunsteady = 0;
double startTime = 0.0;
double endTime = 20;
double dt = 0.1;
int min_sub_iter = 50;
int max_sub_iter = 50;
// isStableUnsteadyMethod : is(1)/not(0);
int isStableUnsteadyMethod = 0;
#########################################################################
# Solution Method #
#########################################################################
// ConvCalcMethod : UPWIND/CDS/QUICK/SUDS
string ConvCalcMethod = "UPWIND"
// DiffCalcMethod : NON_ORTHOGONAL(default)
string DiffCalcMethod = "NON_ORTHOGONAL";
//TranCalcMethod : IMPLICIT_EULER(1st)/IMPLICIT_2ND_ORDER(2st)
string TranCalcMethod = "IMPLICIT_EULER";
// GradCalcMethod : GAUSS/LSQ
string GradCalcMethod = "GAUSS";
// mathLibType : hypre(0)/unap(1)/yhamg(2)
int mathLibType = 0;
// compressible : is(0, default)/not(1)
int compressible = 0;
// SIMPLEC : SIMPLE(0)/SIMPLEC(1)
int SIMPLEC = 1;
// isSkewness : stable gradient method: is(1)/not(0)
int isSkewness = 0;
//rhoType : Constant(0)/IncompressibleIdealGas(1)/IdealGas(2)
int rhoType = 0;
//muType: Constant(0)/SutherLand(1)/IdealGasMixingLaw(2),
int muType = 0;
//kType : Constant(0)/MassWeightedMixingLaw(1)/IdealGasMixingLaw(2)
int kType = 0;
//cpType : Constant(0)/Mixing(1)
int cpType = 0;
//massdiffType : ConstantDiluteApprox(1)/DiluteApprox(2)
int massdiffType = 0;
#########################################################################
# Post-Processing #
#########################################################################
/ nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables : Variable types dumped, listed as following:
// -- U(22), V(23), W(24), P(25), CP(26), T(27), DEN(28), VIS(29), TE(31), ED(32), enthalpy(70), species(from 71 ~ 70 + numberOfSpecies)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 7;
int visualVariables[] = [22, 23, 24, 25, 29, 31, 32];
int plotFieldType = 1;
string resSaveFile = "results/res.dat";
string aircoeffile = "results/aircoef.dat";

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 = 0;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 5;
#########################################################################
# 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/back.cas";
string out_gfile = "./grid/back.fts";

View File

@ -0,0 +1,55 @@
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 = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ----------------
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

View File

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

@ -0,0 +1,51 @@
# nBoundaryConditons : number of global boundary conditions.
# bcName : Boundary Condition Name.
# bcType(in PHengLEI): Boundary Condition Type.
# Account of how to set boundaryconditon.
# string bcName = "Farfield";
# {
# int bcType = 4;
# int inflowParaType = 1;
# double attackd = 0;
# double refReNumber = 6.5e6;
# double refMachNumber = 3.5;
# double angleSlide = 0;
# }
int nBoundaryConditions = 4;
string bcName = "bottom";
{
int bcType = 2;
}
string bcName = "left";
{
int bcType = 2;
double initT=300;
}
string bcName = "right";
{
int bcType = 2;
double initT=500;
}
string bcName = "top";
{
int bcType = 2;
double initU=1.0;
}
# 'bcType' is defined as following:
# 99: PERIODIC
# -2: WAKE
# -1: INTERFACE
# 0 : NO_BOUNDARY_CONDITION
# 1 : EXTRAPOLATION
# 2 : SOLID_SURFACE
# 3 : SYMMETRY
# 4 : FARFIELD
# 5 : INFLOW
# 6 : OUTFLOW
# 52: PRESSURE_INLET
# 62: PRESSURE_OUTLET
# 61: OUTFLOW_CONFINED
# 7 : POLE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,211 @@
#########################################################################
# 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.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 2000;
int intervalStepFlow = 2000;
int intervalStepPlot = 500;
int intervalStepForce = 1;
int intervalStepRes = 1;
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
string gridfile = "./grid/cavity__4.fts";
#########################################################################
# Flow Parameter #
#########################################################################
//flowSolverName : SIMPLE/CompressibleSIMPLE/PISO
string flowSolverName = "SIMPLE";
// Initial value of flow variables
double initRho = 1;
double initU = 0;
double initV = 0;
double initW = 0;
double initP = 0;
double initMu =0.01;
double initRg =287.0425;
double refP = 101325;
int refPLocate = 0
//Parameters For Solving the Momentum Equation
// MomEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int MomEqSolMethod = 2;
// MomEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int MomEqPrecondMethod = 1;
int MomEqMaxSweep = 30;
double MomEqIterSolvTol = 1e-8;
double MomEqRelaxCoeff = 0.5;
//Parameters For Solving the Pressure Possion Equation
// PPEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int PPEqSolMethod= 3;
// PPEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int PPEqPrecondMethod= 1;
int PPEqMaxSweep = 30;
double PPEqIterSolvTol = 1e-8;
double PPEqRelaxCoeff = 0.3;
//Relaxation factor of surface flux
double FaceFluxRelaxCoeff = 0.5;
int isCalGravityVisSource = 0;
int bodyForceFlag = 0;
double gravityX = 0.0;
double gravityY = -9.81;
double gravityZ = 0.0;
int isBoussinesqApproximation = 0;
double thermalExpansionCoeff = 3.44827e-3;
#########################################################################
# Turbulence Equation Parameter #
#########################################################################
// isSolveTurb : is(1)/not(0);
int isSolveTurb = 0
// TurbEqSolverName : k-epsilon(KE)/Spalart-Allmaras(SA)
string TurbEqSolverName = "KE";
// Initial value of Turbulence variables
double initKinetic = 0.64;
double initEpsilon = 5771;
//Parameters For Solving the Turbulence Equation
// TurbEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int TurbEqSolMethod = 2;
// TurbEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int TurbEqPrecondMethod = 1;
int TurbEqMaxSweep = 30;
double TurbEqIterSolvTol = 1e-8;
double TurbEqRelaxCoeff = 0.5;
#########################################################################
# Energy Equation Parameter #
#########################################################################
// isSolveEnergy : is(1)/not(0);
int isSolveEnergy = 1;
// Initial value of Energy variables
double initT = 400;
double initCPg = 1006;
double initK = 0.0242;
double initkappa = 1.4;
double refT = 300;
//Parameters For Solving the Energy Equation
// EnergyEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int EnergyEqSolMethod = 2;
// EnergyEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int EnergyEqPrecondMethod = 1;
int EnergyEqMaxSweep = 30;
double EnergyEqIterSolvTol = 1e-8;
double EnergyEqRelaxCoeff = 0.5;
#########################################################################
# Species Equation Parameter #
#########################################################################
// isSolveSpecies : is(1)/not(0);
int isSolveSpecies = 0;
//Parameters For Solving the Species Equation
int numberOfSpeciesIncom = 1;
string speciesNameIncom[] = [AIR];
double initMassFractionIncom[] = [1.0];
//Parameters For Solving the Species Equation
// SpeciesEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int SpeciesEqSolMethod = 2;
// SpeciesEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int SpeciesEqPrecondMethod = 1;
int SpeciesEqMaxSweep = 30;
double SpeciesEqIterSolvTol = 1e-8;
double SpeciesEqRelaxCoeff = 0.5;
#########################################################################
# Unsteady Parameter #
#########################################################################
// iunsteady : is(1)/not(0);
int iunsteady = 0;
double startTime = 0.0;
double endTime = 20;
double dt = 0.1;
int min_sub_iter = 50;
int max_sub_iter = 50;
// isStableUnsteadyMethod : is(1)/not(0);
int isStableUnsteadyMethod = 0;
#########################################################################
# Solution Method #
#########################################################################
// ConvCalcMethod : UPWIND/CDS/QUICK/SUDS
string ConvCalcMethod = "UPWIND"
// DiffCalcMethod : NON_ORTHOGONAL(default)
string DiffCalcMethod = "NON_ORTHOGONAL";
//TranCalcMethod : IMPLICIT_EULER(1st)/IMPLICIT_2ND_ORDER(2st)
string TranCalcMethod = "IMPLICIT_EULER";
// GradCalcMethod : GAUSS/LSQ
string GradCalcMethod = "GAUSS";
// mathLibType : hypre(0)/unap(1)/yhamg(2)
int mathLibType = 0;
// compressible : is(0, default)/not(1)
int compressible = 0;
// SIMPLEC : SIMPLE(0)/SIMPLEC(1)
int SIMPLEC = 1;
// isSkewness : stable gradient method: is(1)/not(0)
int isSkewness = 0;
//rhoType : Constant(0)/IncompressibleIdealGas(1)/IdealGas(2)
int rhoType = 0;
//muType: Constant(0)/SutherLand(1)/IdealGasMixingLaw(2),
int muType = 0;
//kType : Constant(0)/MassWeightedMixingLaw(1)/IdealGasMixingLaw(2)
int kType = 0;
//cpType : Constant(0)/Mixing(1)
int cpType = 0;
//massdiffType : ConstantDiluteApprox(1)/DiluteApprox(2)
int massdiffType = 0;
#########################################################################
# Post-Processing #
#########################################################################
/ nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables : Variable types dumped, listed as following:
// -- U(22), V(23), W(24), P(25), CP(26), T(27), DEN(28), VIS(29), TE(31), ED(32), enthalpy(70), species(from 71 ~ 70 + numberOfSpecies)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 6;
int visualVariables[] = [22, 23, 24, 25, 27, 70];
int plotFieldType = 1;
string resSaveFile = "results/res.dat";
string aircoeffile = "results/aircoef.dat";

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 = 0;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 5;
#########################################################################
# 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/cavity.cas";
string out_gfile = "./grid/cavity.fts";

View File

@ -0,0 +1,53 @@
string title = "PHengLEI Main Parameter Control File";
// IMPORTANT NOTICE: DON NOT MODIFY THE FOWLLOWING LINE.
string defaultParaFile = "./bin/cfd_para.hypara";
// ndim: Dimensional of the grid, 2 or 3.
// nparafile: the number of parameter files.
// nsimutask: simulation task type.
// 0 -- CFD Solver of NS or Turbulation.
// 1 -- Grid generation: for special typical cases, such as cylinder, flat plate, etc.
// Grid conversion: from other format to PHengLEI format (.fts).
// Grid reconstruction: such as grid adaptation.
// Grid merging: merge two blocks into one block.
// Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
int nparafile = 1;
int nsimutask = 0;
//string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
string parafilename = "./bin/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 = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ----------------
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

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 = 0;
int maxproc = 4;
string original_grid_file = "./grid/cavity.fts";
string partition_grid_file = "./grid/cavity__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

@ -0,0 +1,76 @@
# nBoundaryConditions: Number of global boundary conditions.
# bcName : Boundary condition name.
# bcType(in PHengLEI): Boundary condition type.
# How to set boundary condition, for example:
# string bcName = "Wall";
# {
# int bcType = 2;
# int viscousType = 1;
# double wallTemperature = -1.0;
# double uWall = 0.0;
# double vWall = 0.0;
# double wWall = 0.0;
# }
# string bcName = "Inflow";
# {
# int bcType = 5;
# int inflowParaType = 0;
# double refMachNumber = 0.73;
# double attackd = 2.79;
# double angleSlide = 0.0;
# double refReNumber = 6.5e6;
# double refDimensionalTemperature = 288.15;
# }
# For more information, see examples/bin/boundary_condition.hypara file!!!
int nBoundaryConditions = 4;
string bcName = "wall";
{
string bodyName = "body";
int bcType = 2;
double initT = 294;
}
string bcName = "farinlet";
{
int bcType = 5;
double initU= 1.0;
double initT = 294;
double initMassFractionIncom[] = [1.0, 0.0, 0.0];
double initKinetic = 18.375;
double initEpsilon = 322881.7;
}
string bcName = "ycinlet";
{
int bcType = 52;
double totalPressure = 1000;
double initT = 294;
double initMassFractionIncom[] = [0.0, 0.9, 0.1];
double initKinetic = 0.3243375;
double initEpsilon = 66;
}
string bcName = "outlet";
{
int bcType = 6;
double initP = 0;
double initT = 294;
double initMassFractionIncom[] = [1.0, 0.0, 0.0];
double initKinetic = 0.3243375;
double initEpsilon = 66;
}
# 'bcType' is defined as following:
# -2: WAKE
# -1: INTERFACE
# 0 : NO_BOUNDARY_CONDITION
# 1 : EXTRAPOLATION
# 2 : SOLID_SURFACE
# 3 : SYMMETRY
# 4 : FARFIELD
# 5 : INFLOW
# 6 : OUTFLOW
# 52: PRESSURE_INLET
# 62: PRESSURE_OUTLET
# 61: OUTFLOW_CONFINED
# 7 : POLE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,211 @@
#########################################################################
# 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.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 2000;
int intervalStepFlow = 2000;
int intervalStepPlot = 500;
int intervalStepForce = 1;
int intervalStepRes = 1;
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
string gridfile = "./grid/yanchongCase14__4.fts";
#########################################################################
# Flow Parameter #
#########################################################################
//flowSolverName : SIMPLE/CompressibleSIMPLE/PISO
string flowSolverName = "CompressibleSIMPLE";
// Initial value of flow variables
double initRho = 1.225;
double initU = 0;
double initV = 0;
double initW = 0;
double initP = 0;
double initMu = 1.7894e-05;
double initRg = 296.928571;
double refP = 101325;
int refPLocate = 0
//Parameters For Solving the Momentum Equation
// MomEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int MomEqSolMethod = 2;
// MomEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int MomEqPrecondMethod = 1;
int MomEqMaxSweep = 30;
double MomEqIterSolvTol = 1e-8;
double MomEqRelaxCoeff = 0.5;
//Parameters For Solving the Pressure Possion Equation
// PPEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int PPEqSolMethod= 3;
// PPEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int PPEqPrecondMethod= 1;
int PPEqMaxSweep = 30;
double PPEqIterSolvTol = 1e-8;
double PPEqRelaxCoeff = 0.3;
//Relaxation factor of surface flux
double FaceFluxRelaxCoeff = 0.5;
int isCalGravityVisSource = 0;
int bodyForceFlag = 0;
double gravityX = 0.0;
double gravityY = -9.81;
double gravityZ = 0.0;
int isBoussinesqApproximation = 0;
double thermalExpansionCoeff = 3.44827e-3;
#########################################################################
# Turbulence Equation Parameter #
#########################################################################
// isSolveTurb : is(1)/not(0);
int isSolveTurb = 1
// TurbEqSolverName : k-epsilon(KE)/Spalart-Allmaras(SA)
string TurbEqSolverName = "KE";
// Initial value of Turbulence variables
double initKinetic = 0.64;
double initEpsilon = 5771;
//Parameters For Solving the Turbulence Equation
// TurbEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int TurbEqSolMethod = 2;
// TurbEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int TurbEqPrecondMethod = 1;
int TurbEqMaxSweep = 30;
double TurbEqIterSolvTol = 1e-8;
double TurbEqRelaxCoeff = 0.5;
#########################################################################
# Energy Equation Parameter #
#########################################################################
// isSolveEnergy : is(1)/not(0);
int isSolveEnergy = 1;
// Initial value of Energy variables
double initT = 273.15;
double initCPg = 1006.43;
double initK = 0.0242;
double initkappa = 1.4;
double refT = 300;
//Parameters For Solving the Energy Equation
// EnergyEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int EnergyEqSolMethod = 2;
// EnergyEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int EnergyEqPrecondMethod = 1;
int EnergyEqMaxSweep = 30;
double EnergyEqIterSolvTol = 1e-8;
double EnergyEqRelaxCoeff = 0.5;
#########################################################################
# Species Equation Parameter #
#########################################################################
// isSolveSpecies : is(1)/not(0);
int isSolveSpecies = 1;
//Parameters For Solving the Species Equation
int numberOfSpeciesIncom = 3;
string speciesNameIncom[] = [AIR, CH4, H2S];
double initMassFractionIncom[] = [1.0, 0.0, 0.0];
//Parameters For Solving the Species Equation
// SpeciesEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int SpeciesEqSolMethod = 2;
// SpeciesEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int SpeciesEqPrecondMethod = 1;
int SpeciesEqMaxSweep = 30;
double SpeciesEqIterSolvTol = 1e-8;
double SpeciesEqRelaxCoeff = 0.5;
#########################################################################
# Unsteady Parameter #
#########################################################################
// iunsteady : is(1)/not(0);
int iunsteady = 0;
double startTime = 0.0;
double endTime = 20;
double dt = 0.1;
int min_sub_iter = 50;
int max_sub_iter = 50;
// isStableUnsteadyMethod : is(1)/not(0);
int isStableUnsteadyMethod = 0;
#########################################################################
# Solution Method #
#########################################################################
// ConvCalcMethod : UPWIND/CDS/QUICK/SUDS
string ConvCalcMethod = "UPWIND"
// DiffCalcMethod : NON_ORTHOGONAL(default)
string DiffCalcMethod = "NON_ORTHOGONAL";
//TranCalcMethod : IMPLICIT_EULER(1st)/IMPLICIT_2ND_ORDER(2st)
string TranCalcMethod = "IMPLICIT_EULER";
// GradCalcMethod : GAUSS/LSQ
string GradCalcMethod = "GAUSS";
// mathLibType : hypre(0)/unap(1)/yhamg(2)
int mathLibType = 0;
// compressible : is(0, default)/not(1)
int compressible = 0;
// SIMPLEC : SIMPLE(0)/SIMPLEC(1)
int SIMPLEC = 1;
// isSkewness : stable gradient method: is(1)/not(0)
int isSkewness = 0;
//rhoType : Constant(0)/IncompressibleIdealGas(1)/IdealGas(2)
int rhoType = 2;
//muType: Constant(0)/SutherLand(1)/IdealGasMixingLaw(2),
int muType = 0;
//kType : Constant(0)/MassWeightedMixingLaw(1)/IdealGasMixingLaw(2)
int kType = 0;
//cpType : Constant(0)/Mixing(1)
int cpType = 0;
//massdiffType : ConstantDiluteApprox(1)/DiluteApprox(2)
int massdiffType = 0;
#########################################################################
# Post-Processing #
#########################################################################
/ nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables : Variable types dumped, listed as following:
// -- U(22), V(23), W(24), P(25), CP(26), T(27), DEN(28), VIS(29), TE(31), ED(32), enthalpy(70), species(from 71 ~ 70 + numberOfSpecies)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 13;
int visualVariables[] = [22, 23, 24, 25, 27, 28, 29, 31, 32, 70, 71, 72, 73];
int plotFieldType = 1;
string resSaveFile = "results/res.dat";
string aircoeffile = "results/aircoef.dat";

View File

@ -0,0 +1,36 @@
#########################################################################
# 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 = 0;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 5;
#########################################################################
# 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.
int numberOfMultifile = 1;
string from_gfile = "./grid/yanchongCase14.cas";
string out_gfile = "./grid/yanchongCase14.fts";

View File

@ -0,0 +1,55 @@
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 = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ----------------
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

View File

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

@ -0,0 +1,48 @@
# nBoundaryConditons : number of global boundary conditions.
# bcName : Boundary Condition Name.
# bcType(in PHengLEI): Boundary Condition Type.
# Account of how to set boundaryconditon.
# string bcName = "Farfield";
# {
# int bcType = 4;
# int inflowParaType = 1;
# double attackd = 0;
# double refReNumber = 6.5e6;
# double refMachNumber = 3.5;
# double angleSlide = 0;
# }
int nBoundaryConditions = 3;
string bcName = "airfoil_lower";
{
int bcType = 2;
}
string bcName = "airfoil_upper";
{
int bcType = 2;
}
string bcName = "farfield";
{
int bcType = 5;
double initU = 1;
double initV = 0;
double initKinetic =0.0001460735;
}
# 'bcType' is defined as following:
# 99: PERIODIC
# -2: WAKE
# -1: INTERFACE
# 0 : NO_BOUNDARY_CONDITION
# 1 : EXTRAPOLATION
# 2 : SOLID_SURFACE
# 3 : SYMMETRY
# 4 : FARFIELD
# 5 : INFLOW
# 6 : OUTFLOW
# 52: PRESSURE_INLET
# 62: PRESSURE_OUTLET
# 61: OUTFLOW_CONFINED
# 7 : POLE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,211 @@
#########################################################################
# 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.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 2000;
int intervalStepFlow = 2000;
int intervalStepPlot = 500;
int intervalStepForce = 1;
int intervalStepRes = 1;
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
string gridfile = "./grid/NACA0012__4.fts";
#########################################################################
# Flow Parameter #
#########################################################################
//flowSolverName : SIMPLE/CompressibleSIMPLE/PISO
string flowSolverName = "PISO";
// Initial value of flow variables
double initRho = 1.225;
double initU = 1;
double initV = 0;
double initW = 0;
double initP = 0;
double initMu = 1.7894e-05;
double initRg = 296.928571;
double refP = 101325;
int refPLocate = 0
//Parameters For Solving the Momentum Equation
// MomEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int MomEqSolMethod = 2;
// MomEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int MomEqPrecondMethod = 1;
int MomEqMaxSweep = 30;
double MomEqIterSolvTol = 1e-8;
double MomEqRelaxCoeff = 0.5;
//Parameters For Solving the Pressure Possion Equation
// PPEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int PPEqSolMethod= 3;
// PPEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int PPEqPrecondMethod= 1;
int PPEqMaxSweep = 30;
double PPEqIterSolvTol = 1e-8;
double PPEqRelaxCoeff = 0.7;
//Relaxation factor of surface flux
double FaceFluxRelaxCoeff = 0.5;
int isCalGravityVisSource = 0;
int bodyForceFlag = 0;
double gravityX = 0.0;
double gravityY = -9.81;
double gravityZ = 0.0;
int isBoussinesqApproximation = 0;
double thermalExpansionCoeff = 3.44827e-3;
#########################################################################
# Turbulence Equation Parameter #
#########################################################################
// isSolveTurb : is(1)/not(0);
int isSolveTurb = 1
// TurbEqSolverName : k-epsilon(KE)/Spalart-Allmaras(SA)
string TurbEqSolverName = "SA";
// Initial value of Turbulence variables
double initKinetic = 0.0001460735;
double initEpsilon = 2025;
//Parameters For Solving the Turbulence Equation
// TurbEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int TurbEqSolMethod = 2;
// TurbEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int TurbEqPrecondMethod = 1;
int TurbEqMaxSweep = 30;
double TurbEqIterSolvTol = 1e-8;
double TurbEqRelaxCoeff = 0.5;
#########################################################################
# Energy Equation Parameter #
#########################################################################
// isSolveEnergy : is(1)/not(0);
int isSolveEnergy = 0;
// Initial value of Energy variables
double initT = 273.15;
double initCPg = 1007.0;
double initK = 0.0454;
double initkappa = 1.4;
double refT = 273;
//Parameters For Solving the Energy Equation
// EnergyEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int EnergyEqSolMethod = 2;
// EnergyEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int EnergyEqPrecondMethod = 1;
int EnergyEqMaxSweep = 30;
double EnergyEqIterSolvTol = 1e-8;
double EnergyEqRelaxCoeff = 0.5;
#########################################################################
# Species Equation Parameter #
#########################################################################
// isSolveSpecies : is(1)/not(0);
int isSolveSpecies = 0;
//Parameters For Solving the Species Equation
int numberOfSpeciesIncom = 1;
string speciesNameIncom[] = [AIR];
double initMassFractionIncom[] = [1.0];
//Parameters For Solving the Species Equation
// SpeciesEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int SpeciesEqSolMethod = 2;
// SpeciesEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int SpeciesEqPrecondMethod = 1;
int SpeciesEqMaxSweep = 30;
double SpeciesEqIterSolvTol = 1e-8;
double SpeciesEqRelaxCoeff = 0.5;
#########################################################################
# Unsteady Parameter #
#########################################################################
// iunsteady : is(1)/not(0);
int iunsteady = 0;
double startTime = 0.0;
double endTime = 20;
double dt = 0.1;
int min_sub_iter = 50;
int max_sub_iter = 50;
// isStableUnsteadyMethod : is(1)/not(0);
int isStableUnsteadyMethod = 0;
#########################################################################
# Solution Method #
#########################################################################
// ConvCalcMethod : UPWIND/CDS/QUICK/SUDS
string ConvCalcMethod = "UPWIND"
// DiffCalcMethod : NON_ORTHOGONAL(default)
string DiffCalcMethod = "NON_ORTHOGONAL";
//TranCalcMethod : IMPLICIT_EULER(1st)/IMPLICIT_2ND_ORDER(2st)
string TranCalcMethod = "IMPLICIT_EULER";
// GradCalcMethod : GAUSS/LSQ
string GradCalcMethod = "GAUSS";
// mathLibType : hypre(0)/unap(1)/yhamg(2)
int mathLibType = 0;
// compressible : is(0, default)/not(1)
int compressible = 0;
// SIMPLEC : SIMPLE(0)/SIMPLEC(1)
int SIMPLEC = 1;
// isSkewness : stable gradient method: is(1)/not(0)
int isSkewness = 0;
//rhoType : Constant(0)/IncompressibleIdealGas(1)/IdealGas(2)
int rhoType = 0;
//muType: Constant(0)/SutherLand(1)/IdealGasMixingLaw(2),
int muType = 0;
//kType : Constant(0)/MassWeightedMixingLaw(1)/IdealGasMixingLaw(2)
int kType = 0;
//cpType : Constant(0)/Mixing(1)
int cpType = 0;
//massdiffType : ConstantDiluteApprox(1)/DiluteApprox(2)
int massdiffType = 0;
#########################################################################
# Post-Processing #
#########################################################################
/ nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables : Variable types dumped, listed as following:
// -- U(22), V(23), W(24), P(25), CP(26), T(27), DEN(28), VIS(29), TE(31), ED(32), enthalpy(70), species(from 71 ~ 70 + numberOfSpecies)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 6;
int visualVariables[] = [22, 23, 24, 25, 29, 31];
int plotFieldType = 1;
string resSaveFile = "results/res.dat";
string aircoeffile = "results/aircoef.dat";

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 = 0;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 5;
#########################################################################
# 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.cas";
string out_gfile = "./grid/NACA0012.fts";

View File

@ -0,0 +1,53 @@
string title = "PHengLEI Main Parameter Control File";
// IMPORTANT NOTICE: DON NOT MODIFY THE FOWLLOWING LINE.
string defaultParaFile = "./bin/cfd_para.hypara";
// ndim: Dimensional of the grid, 2 or 3.
// nparafile: the number of parameter files.
// nsimutask: simulation task type.
// 0 -- CFD Solver of NS or Turbulation.
// 1 -- Grid generation: for special typical cases, such as cylinder, flat plate, etc.
// Grid conversion: from other format to PHengLEI format (.fts).
// Grid reconstruction: such as grid adaptation.
// Grid merging: merge two blocks into one block.
// Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 2;
int nparafile = 1;
int nsimutask = 0;
//string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
string parafilename = "./bin/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 = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ----------------
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

View File

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

@ -0,0 +1,48 @@
# nBoundaryConditons : number of global boundary conditions.
# bcName : Boundary Condition Name.
# bcType(in PHengLEI): Boundary Condition Type.
# Account of how to set boundaryconditon.
# string bcName = "Farfield";
# {
# int bcType = 4;
# int inflowParaType = 1;
# double attackd = 0;
# double refReNumber = 6.5e6;
# double refMachNumber = 3.5;
# double angleSlide = 0;
# }
int nBoundaryConditions = 3;
string bcName = "airfoil_lower";
{
int bcType = 2;
}
string bcName = "airfoil_upper";
{
int bcType = 2;
}
string bcName = "farfield";
{
int bcType = 5;
double initU = 100;
double initKinetic = 0.0001460735;
double initEpsilon = 2025;
}
# 'bcType' is defined as following:
# 99: PERIODIC
# -2: WAKE
# -1: INTERFACE
# 0 : NO_BOUNDARY_CONDITION
# 1 : EXTRAPOLATION
# 2 : SOLID_SURFACE
# 3 : SYMMETRY
# 4 : FARFIELD
# 5 : INFLOW
# 6 : OUTFLOW
# 52: PRESSURE_INLET
# 62: PRESSURE_OUTLET
# 61: OUTFLOW_CONFINED
# 7 : POLE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,211 @@
#########################################################################
# 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.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 2000;
int intervalStepFlow = 2000;
int intervalStepPlot = 500;
int intervalStepForce = 1;
int intervalStepRes = 1;
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
string gridfile = "./grid/NACA0012__4.fts";
#########################################################################
# Flow Parameter #
#########################################################################
//flowSolverName : SIMPLE/CompressibleSIMPLE/PISO
string flowSolverName = "SIMPLE";
// Initial value of flow variables
double initRho = 1.0;
double initU = 100;
double initV = 0;
double initW = 0;
double initP = 0;
double initMu = 0.00001;
double initRg = 296.928571;
double refP = 101325;
int refPLocate = 0
//Parameters For Solving the Momentum Equation
// MomEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int MomEqSolMethod = 2;
// MomEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int MomEqPrecondMethod = 1;
int MomEqMaxSweep = 30;
double MomEqIterSolvTol = 1e-8;
double MomEqRelaxCoeff = 0.5;
//Parameters For Solving the Pressure Possion Equation
// PPEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int PPEqSolMethod= 3;
// PPEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int PPEqPrecondMethod= 1;
int PPEqMaxSweep = 30;
double PPEqIterSolvTol = 1e-8;
double PPEqRelaxCoeff = 0.3;
//Relaxation factor of surface flux
double FaceFluxRelaxCoeff = 0.5;
int isCalGravityVisSource = 0;
int bodyForceFlag = 0;
double gravityX = 0.0;
double gravityY = -9.81;
double gravityZ = 0.0;
int isBoussinesqApproximation = 0;
double thermalExpansionCoeff = 3.44827e-3;
#########################################################################
# Turbulence Equation Parameter #
#########################################################################
// isSolveTurb : is(1)/not(0);
int isSolveTurb = 1
// TurbEqSolverName : k-epsilon(KE)/Spalart-Allmaras(SA)
string TurbEqSolverName = "KE";
// Initial value of Turbulence variables
double initKinetic = 0.0001460735;
double initEpsilon = 2025;
//Parameters For Solving the Turbulence Equation
// TurbEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int TurbEqSolMethod = 2;
// TurbEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int TurbEqPrecondMethod = 1;
int TurbEqMaxSweep = 30;
double TurbEqIterSolvTol = 1e-8;
double TurbEqRelaxCoeff = 0.5;
#########################################################################
# Energy Equation Parameter #
#########################################################################
// isSolveEnergy : is(1)/not(0);
int isSolveEnergy = 0;
// Initial value of Energy variables
double initT = 273.15;
double initCPg = 1007.0;
double initK = 0.0454;
double initkappa = 1.4;
double refT = 273;
//Parameters For Solving the Energy Equation
// EnergyEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int EnergyEqSolMethod = 2;
// EnergyEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int EnergyEqPrecondMethod = 1;
int EnergyEqMaxSweep = 30;
double EnergyEqIterSolvTol = 1e-8;
double EnergyEqRelaxCoeff = 0.5;
#########################################################################
# Species Equation Parameter #
#########################################################################
// isSolveSpecies : is(1)/not(0);
int isSolveSpecies = 0;
//Parameters For Solving the Species Equation
int numberOfSpeciesIncom = 1;
string speciesNameIncom[] = [AIR];
double initMassFractionIncom[] = [1.0];
//Parameters For Solving the Species Equation
// SpeciesEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int SpeciesEqSolMethod = 2;
// SpeciesEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int SpeciesEqPrecondMethod = 1;
int SpeciesEqMaxSweep = 30;
double SpeciesEqIterSolvTol = 1e-8;
double SpeciesEqRelaxCoeff = 0.5;
#########################################################################
# Unsteady Parameter #
#########################################################################
// iunsteady : is(1)/not(0);
int iunsteady = 0;
double startTime = 0.0;
double endTime = 20;
double dt = 0.1;
int min_sub_iter = 50;
int max_sub_iter = 50;
// isStableUnsteadyMethod : is(1)/not(0);
int isStableUnsteadyMethod = 0;
#########################################################################
# Solution Method #
#########################################################################
// ConvCalcMethod : UPWIND/CDS/QUICK/SUDS
string ConvCalcMethod = "UPWIND"
// DiffCalcMethod : NON_ORTHOGONAL(default)
string DiffCalcMethod = "NON_ORTHOGONAL";
//TranCalcMethod : IMPLICIT_EULER(1st)/IMPLICIT_2ND_ORDER(2st)
string TranCalcMethod = "IMPLICIT_EULER";
// GradCalcMethod : GAUSS/LSQ
string GradCalcMethod = "GAUSS";
// mathLibType : hypre(0)/unap(1)/yhamg(2)
int mathLibType = 0;
// compressible : is(0, default)/not(1)
int compressible = 0;
// SIMPLEC : SIMPLE(0)/SIMPLEC(1)
int SIMPLEC = 1;
// isSkewness : stable gradient method: is(1)/not(0)
int isSkewness = 0;
//rhoType : Constant(0)/IncompressibleIdealGas(1)/IdealGas(2)
int rhoType = 0;
//muType: Constant(0)/SutherLand(1)/IdealGasMixingLaw(2),
int muType = 0;
//kType : Constant(0)/MassWeightedMixingLaw(1)/IdealGasMixingLaw(2)
int kType = 0;
//cpType : Constant(0)/Mixing(1)
int cpType = 0;
//massdiffType : ConstantDiluteApprox(1)/DiluteApprox(2)
int massdiffType = 0;
#########################################################################
# Post-Processing #
#########################################################################
/ nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables : Variable types dumped, listed as following:
// -- U(22), V(23), W(24), P(25), CP(26), T(27), DEN(28), VIS(29), TE(31), ED(32), enthalpy(70), species(from 71 ~ 70 + numberOfSpecies)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 7;
int visualVariables[] = [22, 23, 24, 25, 29, 31,32];
int plotFieldType = 1;
string resSaveFile = "results/res.dat";
string aircoeffile = "results/aircoef.dat";

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 = 0;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 5;
#########################################################################
# 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.cas";
string out_gfile = "./grid/NACA0012.fts";

View File

@ -0,0 +1,55 @@
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 = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ----------------
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

View File

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

@ -0,0 +1,65 @@
# nBoundaryConditions: Number of global boundary conditions.
# bcName : Boundary condition name.
# bcType(in PHengLEI): Boundary condition type.
# How to set boundary condition, for example:
# string bcName = "Wall";
# {
# int bcType = 2;
# int viscousType = 1;
# double wallTemperature = -1.0;
# double uWall = 0.0;
# double vWall = 0.0;
# double wWall = 0.0;
# }
# string bcName = "Inflow";
# {
# int bcType = 5;
# int inflowParaType = 0;
# double refMachNumber = 0.73;
# double attackd = 2.79;
# double angleSlide = 0.0;
# double refReNumber = 6.5e6;
# double refDimensionalTemperature = 288.15;
# }
# For more information, see examples/bin/boundary_condition.hypara file!!!
int nBoundaryConditions = 4;
string bcName = "bottomwall";
{
string bodyName = "body";
int bcType = 2;
}
string bcName = "coldwall";
{
string bodyName = "body";
int bcType = 2;
double initT = 290.0;
}
string bcName = "hotwall";
{
string bodyName = "body";
int bcType = 2;
double initT = 305.0;
}
string bcName = "topwall";
{
string bodyName = "body";
int bcType = 2;
}
# 'bcType' is defined as following:
# -2: WAKE
# -1: INTERFACE
# 0 : NO_BOUNDARY_CONDITION
# 1 : EXTRAPOLATION
# 2 : SOLID_SURFACE
# 3 : SYMMETRY
# 4 : FARFIELD
# 5 : INFLOW
# 6 : OUTFLOW
# 52: PRESSURE_INLET
# 62: PRESSURE_OUTLET
# 61: OUTFLOW_CONFINED
# 7 : POLE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,211 @@
#########################################################################
# 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.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 2000;
int intervalStepFlow = 2000;
int intervalStepPlot = 500;
int intervalStepForce = 1;
int intervalStepRes = 1;
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
string gridfile = "./grid/run__4.fts";
#########################################################################
# Flow Parameter #
#########################################################################
//flowSolverName : SIMPLE/CompressibleSIMPLE/PISO
string flowSolverName = "SIMPLE";
// Initial value of flow variables
double initRho = 1.1405;
double initU = 0;
double initV = 0;
double initW = 0;
double initP = 0;
double initMu = 1.7894e-05;
double initRg = 296.928571;
double refP = 101325;
int refPLocate = 0
//Parameters For Solving the Momentum Equation
// MomEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int MomEqSolMethod = 2;
// MomEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int MomEqPrecondMethod = 1;
int MomEqMaxSweep = 30;
double MomEqIterSolvTol = 1e-8;
double MomEqRelaxCoeff = 0.5;
//Parameters For Solving the Pressure Possion Equation
// PPEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int PPEqSolMethod= 3;
// PPEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int PPEqPrecondMethod= 1;
int PPEqMaxSweep = 30;
double PPEqIterSolvTol = 1e-8;
double PPEqRelaxCoeff = 0.3;
//Relaxation factor of surface flux
double FaceFluxRelaxCoeff = 0.5;
int isCalGravityVisSource = 1;
int bodyForceFlag = 0;
double gravityX = 0.0;
double gravityY = -9.81;
double gravityZ = 0.0;
int isBoussinesqApproximation = 1;
double thermalExpansionCoeff = 3.44827e-3;
#########################################################################
# Turbulence Equation Parameter #
#########################################################################
// isSolveTurb : is(1)/not(0);
int isSolveTurb = 0
// TurbEqSolverName : k-epsilon(KE)/Spalart-Allmaras(SA)
string TurbEqSolverName = "KE";
// Initial value of Turbulence variables
double initKinetic = 0.64;
double initEpsilon = 5771;
//Parameters For Solving the Turbulence Equation
// TurbEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int TurbEqSolMethod = 2;
// TurbEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int TurbEqPrecondMethod = 1;
int TurbEqMaxSweep = 30;
double TurbEqIterSolvTol = 1e-8;
double TurbEqRelaxCoeff = 0.5;
#########################################################################
# Energy Equation Parameter #
#########################################################################
// isSolveEnergy : is(1)/not(0);
int isSolveEnergy = 1;
// Initial value of Energy variables
double initT = 295;
double initCPg = 1006.43;
double initK = 0.0242;
double initkappa = 1.4;
double refT = 290;
//Parameters For Solving the Energy Equation
// EnergyEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int EnergyEqSolMethod = 2;
// EnergyEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int EnergyEqPrecondMethod = 1;
int EnergyEqMaxSweep = 30;
double EnergyEqIterSolvTol = 1e-8;
double EnergyEqRelaxCoeff = 0.5;
#########################################################################
# Species Equation Parameter #
#########################################################################
// isSolveSpecies : is(1)/not(0);
int isSolveSpecies = 0;
//Parameters For Solving the Species Equation
int numberOfSpeciesIncom = 1;
string speciesNameIncom[] = [AIR];
double initMassFractionIncom[] = [1.0];
//Parameters For Solving the Species Equation
// SpeciesEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int SpeciesEqSolMethod = 2;
// SpeciesEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int SpeciesEqPrecondMethod = 1;
int SpeciesEqMaxSweep = 30;
double SpeciesEqIterSolvTol = 1e-8;
double SpeciesEqRelaxCoeff = 0.5;
#########################################################################
# Unsteady Parameter #
#########################################################################
// iunsteady : is(1)/not(0);
int iunsteady = 0;
double startTime = 0.0;
double endTime = 20;
double dt = 0.1;
int min_sub_iter = 50;
int max_sub_iter = 50;
// isStableUnsteadyMethod : is(1)/not(0);
int isStableUnsteadyMethod = 0;
#########################################################################
# Solution Method #
#########################################################################
// ConvCalcMethod : UPWIND/CDS/QUICK/SUDS
string ConvCalcMethod = "CDS"
// DiffCalcMethod : NON_ORTHOGONAL(default)
string DiffCalcMethod = "NON_ORTHOGONAL";
//TranCalcMethod : IMPLICIT_EULER(1st)/IMPLICIT_2ND_ORDER(2st)
string TranCalcMethod = "IMPLICIT_EULER";
// GradCalcMethod : GAUSS/LSQ
string GradCalcMethod = "GAUSS";
// mathLibType : hypre(0)/unap(1)/yhamg(2)
int mathLibType = 0;
// compressible : is(0, default)/not(1)
int compressible = 0;
// SIMPLEC : SIMPLE(0)/SIMPLEC(1)
int SIMPLEC = 1;
// isSkewness : stable gradient method: is(1)/not(0)
int isSkewness = 0;
//rhoType : Constant(0)/IncompressibleIdealGas(1)/IdealGas(2)
int rhoType = 0;
//muType: Constant(0)/SutherLand(1)/IdealGasMixingLaw(2),
int muType = 0;
//kType : Constant(0)/MassWeightedMixingLaw(1)/IdealGasMixingLaw(2)
int kType = 0;
//cpType : Constant(0)/Mixing(1)
int cpType = 0;
//massdiffType : ConstantDiluteApprox(1)/DiluteApprox(2)
int massdiffType = 0;
#########################################################################
# Post-Processing #
#########################################################################
/ nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables : Variable types dumped, listed as following:
// -- U(22), V(23), W(24), P(25), CP(26), T(27), DEN(28), VIS(29), TE(31), ED(32), enthalpy(70), species(from 71 ~ 70 + numberOfSpecies)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 6;
int visualVariables[] = [22, 23, 24, 25, 27, 70];
int plotFieldType = 1;
string resSaveFile = "results/res.dat";
string aircoeffile = "results/aircoef.dat";

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 = 0;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 5;
#########################################################################
# 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/run.cas";
string out_gfile = "./grid/run.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_incompressible.hypara"
//string parafilename = "./bin/cfd_para_subsonic.hypara";
//string parafilename = "./bin/cfd_para_transonic.hypara";
//string parafilename = "./bin/cfd_para_supersonic.hypara";
//string parafilename = "./bin/cfd_para_hypersonic.hypara";
//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,23 @@
// 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 numberOfMultifile = 1;
int isWennScheme = 0;
int pgridtype = 0;
int maxproc = 4;
string original_grid_file = "./grid/run.fts";
string partition_grid_file = "./grid/run__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

@ -0,0 +1,68 @@
# nBoundaryConditions: Number of global boundary conditions.
# bcName : Boundary condition name.
# bcType(in PHengLEI): Boundary condition type.
# How to set boundary condition, for example:
# string bcName = "Wall";
# {
# int bcType = 2;
# int viscousType = 1;
# double wallTemperature = -1.0;
# double uWall = 0.0;
# double vWall = 0.0;
# double wWall = 0.0;
# }
# string bcName = "Inflow";
# {
# int bcType = 5;
# int inflowParaType = 0;
# double refMachNumber = 0.73;
# double attackd = 2.79;
# double angleSlide = 0.0;
# double refReNumber = 6.5e6;
# double refDimensionalTemperature = 288.15;
# }
# For more information, see examples/bin/boundary_condition.hypara file!!!
int nBoundaryConditions = 4;
string bcName = "in";
{
string bodyName = "body";
int bcType = 5;
double initU = 20;
double initKinetic = 0.135;
double initEpsilon = 1.64025;
}
string bcName = "out";
{
string bodyName = "body";
int bcType = 6;
double initP =0;
double initKinetic = 0.135;
double initEpsilon = 1.64025;
}
string bcName = "wall";
{
string bodyName = "body";
int bcType = 2;
}
string bcName = "symmetry";
{
int bcType = 3;
}
# 'bcType' is defined as following:
# -2: WAKE
# -1: INTERFACE
# 0 : NO_BOUNDARY_CONDITION
# 1 : EXTRAPOLATION
# 2 : SOLID_SURFACE
# 3 : SYMMETRY
# 4 : FARFIELD
# 5 : INFLOW
# 6 : OUTFLOW
# 52: PRESSURE_INLET
# 62: PRESSURE_OUTLET
# 61: OUTFLOW_CONFINED
# 7 : POLE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,211 @@
#########################################################################
# 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.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 2000;
int intervalStepFlow = 2000;
int intervalStepPlot = 500;
int intervalStepForce = 1;
int intervalStepRes = 1;
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
string gridfile = "./grid/TurbPlate__4.fts";
#########################################################################
# Flow Parameter #
#########################################################################
//flowSolverName : SIMPLE/CompressibleSIMPLE/PISO
string flowSolverName = "CompressibleSIMPLE";
// Initial value of flow variables
double initRho = 1.0;
double initU = 0;
double initV = 0;
double initW = 0;
double initP = 0;
double initMu = 0.00001;
double initRg = 296.928571;
double refP = 101325;
int refPLocate = 0
//Parameters For Solving the Momentum Equation
// MomEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int MomEqSolMethod = 2;
// MomEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int MomEqPrecondMethod = 1;
int MomEqMaxSweep = 30;
double MomEqIterSolvTol = 1e-8;
double MomEqRelaxCoeff = 0.5;
//Parameters For Solving the Pressure Possion Equation
// PPEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int PPEqSolMethod= 3;
// PPEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int PPEqPrecondMethod= 1;
int PPEqMaxSweep = 30;
double PPEqIterSolvTol = 1e-8;
double PPEqRelaxCoeff = 0.3;
//Relaxation factor of surface flux
double FaceFluxRelaxCoeff = 0.5;
int isCalGravityVisSource = 0;
int bodyForceFlag = 0;
double gravityX = 0.0;
double gravityY = -9.81;
double gravityZ = 0.0;
int isBoussinesqApproximation = 0;
double thermalExpansionCoeff = 3.44827e-3;
#########################################################################
# Turbulence Equation Parameter #
#########################################################################
// isSolveTurb : is(1)/not(0);
int isSolveTurb = 1
// TurbEqSolverName : k-epsilon(KE)/Spalart-Allmaras(SA)
string TurbEqSolverName = "KE";
// Initial value of Turbulence variables
double initKinetic = 0.135;
double initEpsilon = 1.64025;
//Parameters For Solving the Turbulence Equation
// TurbEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int TurbEqSolMethod = 2;
// TurbEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int TurbEqPrecondMethod = 1;
int TurbEqMaxSweep = 30;
double TurbEqIterSolvTol = 1e-8;
double TurbEqRelaxCoeff = 0.5;
#########################################################################
# Energy Equation Parameter #
#########################################################################
// isSolveEnergy : is(1)/not(0);
int isSolveEnergy = 0;
// Initial value of Energy variables
double initT = 273.15;
double initCPg = 1007.0;
double initK = 0.0454;
double initkappa = 1.4;
double refT = 273;
//Parameters For Solving the Energy Equation
// EnergyEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int EnergyEqSolMethod = 2;
// EnergyEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int EnergyEqPrecondMethod = 1;
int EnergyEqMaxSweep = 30;
double EnergyEqIterSolvTol = 1e-8;
double EnergyEqRelaxCoeff = 0.5;
#########################################################################
# Species Equation Parameter #
#########################################################################
// isSolveSpecies : is(1)/not(0);
int isSolveSpecies = 0;
//Parameters For Solving the Species Equation
int numberOfSpeciesIncom = 1;
string speciesNameIncom[] = [AIR];
double initMassFractionIncom[] = [1.0];
//Parameters For Solving the Species Equation
// SpeciesEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int SpeciesEqSolMethod = 2;
// SpeciesEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int SpeciesEqPrecondMethod = 1;
int SpeciesEqMaxSweep = 30;
double SpeciesEqIterSolvTol = 1e-8;
double SpeciesEqRelaxCoeff = 0.5;
#########################################################################
# Unsteady Parameter #
#########################################################################
// iunsteady : is(1)/not(0);
int iunsteady = 0;
double startTime = 0.0;
double endTime = 20;
double dt = 0.1;
int min_sub_iter = 50;
int max_sub_iter = 50;
// isStableUnsteadyMethod : is(1)/not(0);
int isStableUnsteadyMethod = 0;
#########################################################################
# Solution Method #
#########################################################################
// ConvCalcMethod : UPWIND/CDS/QUICK/SUDS
string ConvCalcMethod = "UPWIND"
// DiffCalcMethod : NON_ORTHOGONAL(default)
string DiffCalcMethod = "NON_ORTHOGONAL";
//TranCalcMethod : IMPLICIT_EULER(1st)/IMPLICIT_2ND_ORDER(2st)
string TranCalcMethod = "IMPLICIT_EULER";
// GradCalcMethod : GAUSS/LSQ
string GradCalcMethod = "GAUSS";
// mathLibType : hypre(0)/unap(1)/yhamg(2)
int mathLibType = 0;
// compressible : is(0, default)/not(1)
int compressible = 0;
// SIMPLEC : SIMPLE(0)/SIMPLEC(1)
int SIMPLEC = 1;
// isSkewness : stable gradient method: is(1)/not(0)
int isSkewness = 0;
//rhoType : Constant(0)/IncompressibleIdealGas(1)/IdealGas(2)
int rhoType = 0;
//muType: Constant(0)/SutherLand(1)/IdealGasMixingLaw(2),
int muType = 0;
//kType : Constant(0)/MassWeightedMixingLaw(1)/IdealGasMixingLaw(2)
int kType = 0;
//cpType : Constant(0)/Mixing(1)
int cpType = 0;
//massdiffType : ConstantDiluteApprox(1)/DiluteApprox(2)
int massdiffType = 0;
#########################################################################
# Post-Processing #
#########################################################################
/ nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables : Variable types dumped, listed as following:
// -- U(22), V(23), W(24), P(25), CP(26), T(27), DEN(28), VIS(29), TE(31), ED(32), enthalpy(70), species(from 71 ~ 70 + numberOfSpecies)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 7;
int visualVariables[] = [22, 23, 24, 25, 29, 31, 32];
int plotFieldType = 1;
string resSaveFile = "results/res.dat";
string aircoeffile = "results/aircoef.dat";

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 = 0;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 5;
#########################################################################
# 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/TurbPlate.cas";
string out_gfile = "./grid/TurbPlate.fts";

View File

@ -0,0 +1,55 @@
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 = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ----------------
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

View File

@ -0,0 +1,23 @@
// 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 numberOfMultifile = 1;
int isWennScheme = 0;
int pgridtype = 0;
int maxproc = 4;
string original_grid_file = "./grid/TurbPlate.fts";
string partition_grid_file = "./grid/TurbPlate__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

@ -0,0 +1,86 @@
# nBoundaryConditions: Number of global boundary conditions.
# bcName : Boundary condition name.
# bcType(in PHengLEI): Boundary condition type.
# How to set boundary condition, for example:
# string bcName = "Wall";
# {
# int bcType = 2;
# int viscousType = 1;
# double wallTemperature = -1.0;
# double uWall = 0.0;
# double vWall = 0.0;
# double wWall = 0.0;
# }
# string bcName = "Inflow";
# {
# int bcType = 5;
# int inflowParaType = 0;
# double refMachNumber = 0.73;
# double attackd = 2.79;
# double angleSlide = 0.0;
# double refReNumber = 6.5e6;
# double refDimensionalTemperature = 288.15;
# }
# For more information, see examples/bin/boundary_condition.hypara file!!!
int nBoundaryConditions = 6;
string bcName = "in1";
{
int bcType = 5;
double initU= 53;
double initT = 300;
double initMassFractionIncom[] = [1.0, 0.0];
double initKinetic = 18.375;
double initEpsilon = 322881.7;
}
string bcName = "in2";
{
int bcType = 5;
double initU= 9.3;
double initT = 294;
double initMassFractionIncom[] = [0.03, 0.97];
double initKinetic = 0.3243375;
double initEpsilon = 66;
}
string bcName = "out";
{
int bcType = 6;
double initP = 0;
double initT = 294;
double initMassFractionIncom[] = [1.0, 0.0];
double initKinetic = 0.3243375;
double initEpsilon = 66;
}
string bcName = "wall1";
{
string bodyName = "body";
int bcType = 2;
double initT = 294;
}
string bcName = "wall2";
{
string bodyName = "body";
int bcType = 2;
double initT = 294;
}
string bcName = "sym";
{
int bcType = 3;
}
# 'bcType' is defined as following:
# -2: WAKE
# -1: INTERFACE
# 0 : NO_BOUNDARY_CONDITION
# 1 : EXTRAPOLATION
# 2 : SOLID_SURFACE
# 3 : SYMMETRY
# 4 : FARFIELD
# 5 : INFLOW
# 6 : OUTFLOW
# 52: PRESSURE_INLET
# 62: PRESSURE_OUTLET
# 61: OUTFLOW_CONFINED
# 7 : POLE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,211 @@
#########################################################################
# 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.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 4000;
int intervalStepFlow = 2000;
int intervalStepPlot = 500;
int intervalStepForce = 1;
int intervalStepRes = 1;
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
string gridfile = "./grid/airmixture__4.fts";
#########################################################################
# Flow Parameter #
#########################################################################
//flowSolverName : SIMPLE/CompressibleSIMPLE/PISO
string flowSolverName = "CompressibleSIMPLE";
// Initial value of flow variables
double initRho = 1.225;
double initU = 0;
double initV = 0;
double initW = 0;
double initP = 0;
double initMu = 1.7894e-05;
double initRg = 296.928571;
double refP = 101325;
int refPLocate = 0
//Parameters For Solving the Momentum Equation
// MomEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int MomEqSolMethod = 2;
// MomEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int MomEqPrecondMethod = 1;
int MomEqMaxSweep = 30;
double MomEqIterSolvTol = 1e-8;
double MomEqRelaxCoeff = 0.5;
//Parameters For Solving the Pressure Possion Equation
// PPEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int PPEqSolMethod= 3;
// PPEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int PPEqPrecondMethod= 1;
int PPEqMaxSweep = 30;
double PPEqIterSolvTol = 1e-8;
double PPEqRelaxCoeff = 0.7;
//Relaxation factor of surface flux
double FaceFluxRelaxCoeff = 0.5;
int isCalGravityVisSource = 0;
int bodyForceFlag = 0;
double gravityX = 0.0;
double gravityY = -9.81;
double gravityZ = 0.0;
int isBoussinesqApproximation = 0;
double thermalExpansionCoeff = 3.44827e-3;
#########################################################################
# Turbulence Equation Parameter #
#########################################################################
// isSolveTurb : is(1)/not(0);
int isSolveTurb = 1
// TurbEqSolverName : k-epsilon(KE)/Spalart-Allmaras(SA)
string TurbEqSolverName = "KE";
// Initial value of Turbulence variables
double initKinetic = 0.64;
double initEpsilon = 5771;
//Parameters For Solving the Turbulence Equation
// TurbEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int TurbEqSolMethod = 2;
// TurbEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int TurbEqPrecondMethod = 1;
int TurbEqMaxSweep = 30;
double TurbEqIterSolvTol = 1e-8;
double TurbEqRelaxCoeff = 0.5;
#########################################################################
# Energy Equation Parameter #
#########################################################################
// isSolveEnergy : is(1)/not(0);
int isSolveEnergy = 1;
// Initial value of Energy variables
double initT = 273.15;
double initCPg = 1007.0;
double initK = 0.0454;
double initkappa = 1.4;
double refT = 273;
//Parameters For Solving the Energy Equation
// EnergyEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int EnergyEqSolMethod = 2;
// EnergyEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int EnergyEqPrecondMethod = 1;
int EnergyEqMaxSweep = 30;
double EnergyEqIterSolvTol = 1e-8;
double EnergyEqRelaxCoeff = 0.5;
#########################################################################
# Species Equation Parameter #
#########################################################################
// isSolveSpecies : is(1)/not(0);
int isSolveSpecies = 1;
//Parameters For Solving the Species Equation
int numberOfSpeciesIncom = 2;
string speciesNameIncom[] = [C3H8, AIR];
double initMassFractionIncom[] = [1.0, 0.0];
//Parameters For Solving the Species Equation
// SpeciesEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int SpeciesEqSolMethod = 2;
// SpeciesEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int SpeciesEqPrecondMethod = 1;
int SpeciesEqMaxSweep = 30;
double SpeciesEqIterSolvTol = 1e-8;
double SpeciesEqRelaxCoeff = 0.5;
#########################################################################
# Unsteady Parameter #
#########################################################################
// iunsteady : is(1)/not(0);
int iunsteady = 0;
double startTime = 0.0;
double endTime = 20;
double dt = 0.1;
int min_sub_iter = 50;
int max_sub_iter = 50;
// isStableUnsteadyMethod : is(1)/not(0);
int isStableUnsteadyMethod = 0;
#########################################################################
# Solution Method #
#########################################################################
// ConvCalcMethod : UPWIND/CDS/QUICK/SUDS
string ConvCalcMethod = "UPWIND"
// DiffCalcMethod : NON_ORTHOGONAL(default)
string DiffCalcMethod = "NON_ORTHOGONAL";
//TranCalcMethod : IMPLICIT_EULER(1st)/IMPLICIT_2ND_ORDER(2st)
string TranCalcMethod = "IMPLICIT_EULER";
// GradCalcMethod : GAUSS/LSQ
string GradCalcMethod = "GAUSS";
// mathLibType : hypre(0)/unap(1)/yhamg(2)
int mathLibType = 0;
// compressible : is(0, default)/not(1)
int compressible = 0;
// SIMPLEC : SIMPLE(0)/SIMPLEC(1)
int SIMPLEC = 1;
// isSkewness : stable gradient method: is(1)/not(0)
int isSkewness = 0;
//rhoType : Constant(0)/IncompressibleIdealGas(1)/IdealGas(2)
int rhoType = 2;
//muType: Constant(0)/SutherLand(1)/IdealGasMixingLaw(2),
int muType = 0;
//kType : Constant(0)/MassWeightedMixingLaw(1)/IdealGasMixingLaw(2)
int kType = 0;
//cpType : Constant(0)/Mixing(1)
int cpType = 0;
//massdiffType : ConstantDiluteApprox(1)/DiluteApprox(2)
int massdiffType = 0;
#########################################################################
# Post-Processing #
#########################################################################
/ nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables : Variable types dumped, listed as following:
// -- U(22), V(23), W(24), P(25), CP(26), T(27), DEN(28), VIS(29), TE(31), ED(32), enthalpy(70), species(from 71 ~ 70 + numberOfSpecies)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 12;
int visualVariables[] = [22, 23, 24, 25, 27, 28, 29, 31, 32, 70, 71, 72];
int plotFieldType = 1;
string resSaveFile = "results/res.dat";
string aircoeffile = "results/aircoef.dat";

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 = 0;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 5;
#########################################################################
# 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/airmixture.cas";
string out_gfile = "./grid/airmixture.fts";

View File

@ -0,0 +1,55 @@
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 = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ----------------
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

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 = 0;
int maxproc = 4;
string original_grid_file = "./grid/airmixture.fts";
string partition_grid_file = "./grid/airmixture__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

@ -0,0 +1,71 @@
# nBoundaryConditions: Number of global boundary conditions.
# bcName : Boundary condition name.
# bcType(in PHengLEI): Boundary condition type.
# How to set boundary condition, for example:
# string bcName = "Wall";
# {
# int bcType = 2;
# int viscousType = 1;
# double wallTemperature = -1.0;
# double uWall = 0.0;
# double vWall = 0.0;
# double wWall = 0.0;
# }
# string bcName = "Inflow";
# {
# int bcType = 5;
# int inflowParaType = 0;
# double refMachNumber = 0.73;
# double attackd = 2.79;
# double angleSlide = 0.0;
# double refReNumber = 6.5e6;
# double refDimensionalTemperature = 288.15;
# }
# For more information, see examples/bin/boundary_condition.hypara file!!!
int nBoundaryConditions = 5;
string bcName = "car_1";
{
string bodyName = "body";
int bcType = 2;
}
string bcName = "wall_1";
{
string bodyName = "body";
int bcType = 2;
}
string bcName = "sym_1";
{
int bcType = 3;
}
string bcName = "inlet_1";
{
int bcType = 5;
double initU =10;
double initKinetic = 0.375;
double initEpsilon =86.64304;
}
string bcName = "outlet_1";
{
int bcType = 6;
double flowP =0;
double initKinetic =0.375;
double initEpsilon =86.64304;
}
# 'bcType' is defined as following:
# -2: WAKE
# -1: INTERFACE
# 0 : NO_BOUNDARY_CONDITION
# 1 : EXTRAPOLATION
# 2 : SOLID_SURFACE
# 3 : SYMMETRY
# 4 : FARFIELD
# 5 : INFLOW
# 6 : OUTFLOW
# 52: PRESSURE_INLET
# 62: PRESSURE_OUTLET
# 61: OUTFLOW_CONFINED
# 7 : POLE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,211 @@
#########################################################################
# 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.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 1000;
int intervalStepFlow = 1000;
int intervalStepPlot = 100;
int intervalStepForce = 1;
int intervalStepRes = 1;
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
string gridfile = "./grid/car__4.fts";
#########################################################################
# Flow Parameter #
#########################################################################
//flowSolverName : SIMPLE/CompressibleSIMPLE/PISO
string flowSolverName = "SIMPLE";
// Initial value of flow variables
double initRho = 1.225;
double initU = 10;
double initV = 0;
double initW = 0;
double initP = 0;
double initMu = 1.7894e-05;
double initRg = 296.928571;
double refP = 101325;
int refPLocate = 0
//Parameters For Solving the Momentum Equation
// MomEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int MomEqSolMethod = 2;
// MomEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int MomEqPrecondMethod = 1;
int MomEqMaxSweep = 30;
double MomEqIterSolvTol = 1e-8;
double MomEqRelaxCoeff = 0.5;
//Parameters For Solving the Pressure Possion Equation
// PPEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int PPEqSolMethod= 3;
// PPEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int PPEqPrecondMethod= 1;
int PPEqMaxSweep = 30;
double PPEqIterSolvTol = 1e-8;
double PPEqRelaxCoeff = 0.3;
//Relaxation factor of surface flux
double FaceFluxRelaxCoeff = 0.5;
int isCalGravityVisSource = 0;
int bodyForceFlag = 0;
double gravityX = 0.0;
double gravityY = -9.81;
double gravityZ = 0.0;
int isBoussinesqApproximation = 0;
double thermalExpansionCoeff = 3.44827e-3;
#########################################################################
# Turbulence Equation Parameter #
#########################################################################
// isSolveTurb : is(1)/not(0);
int isSolveTurb = 1
// TurbEqSolverName : k-epsilon(KE)/Spalart-Allmaras(SA)
string TurbEqSolverName = "KE";
// Initial value of Turbulence variables
double initKinetic = 0.375;
double initEpsilon = 86.643;
//Parameters For Solving the Turbulence Equation
// TurbEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int TurbEqSolMethod = 2;
// TurbEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int TurbEqPrecondMethod = 1;
int TurbEqMaxSweep = 30;
double TurbEqIterSolvTol = 1e-8;
double TurbEqRelaxCoeff = 0.5;
#########################################################################
# Energy Equation Parameter #
#########################################################################
// isSolveEnergy : is(1)/not(0);
int isSolveEnergy = 0;
// Initial value of Energy variables
double initT = 273.15;
double initCPg = 1007.0;
double initK = 0.0454;
double initkappa = 1.4;
double refT = 273;
//Parameters For Solving the Energy Equation
// EnergyEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int EnergyEqSolMethod = 2;
// EnergyEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int EnergyEqPrecondMethod = 1;
int EnergyEqMaxSweep = 30;
double EnergyEqIterSolvTol = 1e-8;
double EnergyEqRelaxCoeff = 0.5;
#########################################################################
# Species Equation Parameter #
#########################################################################
// isSolveSpecies : is(1)/not(0);
int isSolveSpecies = 0;
//Parameters For Solving the Species Equation
int numberOfSpeciesIncom = 1;
string speciesNameIncom[] = [AIR];
double initMassFractionIncom[] = [1.0];
//Parameters For Solving the Species Equation
// SpeciesEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int SpeciesEqSolMethod = 2;
// SpeciesEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int SpeciesEqPrecondMethod = 1;
int SpeciesEqMaxSweep = 30;
double SpeciesEqIterSolvTol = 1e-8;
double SpeciesEqRelaxCoeff = 0.5;
#########################################################################
# Unsteady Parameter #
#########################################################################
// iunsteady : is(1)/not(0);
int iunsteady = 0;
double startTime = 0.0;
double endTime = 20;
double dt = 0.1;
int min_sub_iter = 50;
int max_sub_iter = 50;
// isStableUnsteadyMethod : is(1)/not(0);
int isStableUnsteadyMethod = 0;
#########################################################################
# Solution Method #
#########################################################################
// ConvCalcMethod : UPWIND/CDS/QUICK/SUDS
string ConvCalcMethod = "UPWIND"
// DiffCalcMethod : NON_ORTHOGONAL(default)
string DiffCalcMethod = "NON_ORTHOGONAL";
//TranCalcMethod : IMPLICIT_EULER(1st)/IMPLICIT_2ND_ORDER(2st)
string TranCalcMethod = "IMPLICIT_EULER";
// GradCalcMethod : GAUSS/LSQ
string GradCalcMethod = "GAUSS";
// mathLibType : hypre(0)/unap(1)/yhamg(2)
int mathLibType = 0;
// compressible : is(0, default)/not(1)
int compressible = 0;
// SIMPLEC : SIMPLE(0)/SIMPLEC(1)
int SIMPLEC = 1;
// isSkewness : stable gradient method: is(1)/not(0)
int isSkewness = 0;
//rhoType : Constant(0)/IncompressibleIdealGas(1)/IdealGas(2)
int rhoType = 0;
//muType: Constant(0)/SutherLand(1)/IdealGasMixingLaw(2),
int muType = 0;
//kType : Constant(0)/MassWeightedMixingLaw(1)/IdealGasMixingLaw(2)
int kType = 0;
//cpType : Constant(0)/Mixing(1)
int cpType = 0;
//massdiffType : ConstantDiluteApprox(1)/DiluteApprox(2)
int massdiffType = 0;
#########################################################################
# Post-Processing #
#########################################################################
/ nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables : Variable types dumped, listed as following:
// -- U(22), V(23), W(24), P(25), CP(26), T(27), DEN(28), VIS(29), TE(31), ED(32), enthalpy(70), species(from 71 ~ 70 + numberOfSpecies)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 7;
int visualVariables[] = [22, 23, 24, 25, 29, 31, 32];
int plotFieldType = 1;
string resSaveFile = "results/res.dat";
string aircoeffile = "results/aircoef.dat";

View File

@ -0,0 +1,36 @@
#########################################################################
# 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 = 0;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 5;
#########################################################################
# 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.
int numberOfMultifile = 1;
string from_gfile = "./grid/car.cas";
string out_gfile = "./grid/car.fts";

View File

@ -0,0 +1,53 @@
string title = "PHengLEI Main Parameter Control File";
// IMPORTANT NOTICE: DON NOT MODIFY THE FOWLLOWING LINE.
string defaultParaFile = "./bin/cfd_para.hypara";
// ndim: Dimensional of the grid, 2 or 3.
// nparafile: the number of parameter files.
// nsimutask: simulation task type.
// 0 -- CFD Solver of NS or Turbulation.
// 1 -- Grid generation: for special typical cases, such as cylinder, flat plate, etc.
// Grid conversion: from other format to PHengLEI format (.fts).
// Grid reconstruction: such as grid adaptation.
// Grid merging: merge two blocks into one block.
// Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 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 = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ----------------
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

View File

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

@ -0,0 +1,62 @@
# nBoundaryConditions: Number of global boundary conditions.
# bcName : Boundary condition name.
# bcType(in PHengLEI): Boundary condition type.
# How to set boundary condition, for example:
# string bcName = "Wall";
# {
# int bcType = 2;
# int viscousType = 1;
# double wallTemperature = -1.0;
# double uWall = 0.0;
# double vWall = 0.0;
# double wWall = 0.0;
# }
# string bcName = "Inflow";
# {
# int bcType = 5;
# int inflowParaType = 0;
# double refMachNumber = 0.73;
# double attackd = 2.79;
# double angleSlide = 0.0;
# double refReNumber = 6.5e6;
# double refDimensionalTemperature = 288.15;
# }
# For more information, see examples/bin/boundary_condition.hypara file!!!
int nBoundaryConditions = 4;
string bcName = "wall";
{
string bodyName = "body";
int bcType = 2;
}
string bcName = "symmetry";
{
int bcType = 3;
}
string bcName = "pressure_inlet";
{
int bcType = 5;
double initU = 10;
}
string bcName = "pressure_outlet";
{
int bcType = 6;
double initP = 0;
}
# 'bcType' is defined as following:
# -2: WAKE
# -1: INTERFACE
# 0 : NO_BOUNDARY_CONDITION
# 1 : EXTRAPOLATION
# 2 : SOLID_SURFACE
# 3 : SYMMETRY
# 4 : FARFIELD
# 5 : INFLOW
# 6 : OUTFLOW
# 52: PRESSURE_INLET
# 62: PRESSURE_OUTLET
# 61: OUTFLOW_CONFINED
# 7 : POLE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,211 @@
#########################################################################
# 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.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 1000;
int intervalStepFlow = 1000;
int intervalStepPlot = 500;
int intervalStepForce = 1;
int intervalStepRes = 1;
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
string gridfile = "./grid/chnt_InOutBC_test1__4.fts";
#########################################################################
# Flow Parameter #
#########################################################################
//flowSolverName : SIMPLE/CompressibleSIMPLE/PISO
string flowSolverName = "SIMPLE";
// Initial value of flow variables
double initRho = 1.225;
double initU = 10;
double initV = 0;
double initW = 0;
double initP = 0;
double initMu = 1.7894e-05;
double initRg = 296.928571;
double refP = 101325;
int refPLocate = 0
//Parameters For Solving the Momentum Equation
// MomEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int MomEqSolMethod = 2;
// MomEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int MomEqPrecondMethod = 1;
int MomEqMaxSweep = 30;
double MomEqIterSolvTol = 1e-8;
double MomEqRelaxCoeff = 0.5;
//Parameters For Solving the Pressure Possion Equation
// PPEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int PPEqSolMethod= 3;
// PPEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int PPEqPrecondMethod= 1;
int PPEqMaxSweep = 30;
double PPEqIterSolvTol = 1e-8;
double PPEqRelaxCoeff = 0.1;
//Relaxation factor of surface flux
double FaceFluxRelaxCoeff = 0.5;
int isCalGravityVisSource = 0;
int bodyForceFlag = 0;
double gravityX = 0.0;
double gravityY = -9.81;
double gravityZ = 0.0;
int isBoussinesqApproximation = 0;
double thermalExpansionCoeff = 3.44827e-3;
#########################################################################
# Turbulence Equation Parameter #
#########################################################################
// isSolveTurb : is(1)/not(0);
int isSolveTurb = 0
// TurbEqSolverName : k-epsilon(KE)/Spalart-Allmaras(SA)
string TurbEqSolverName = "KE";
// Initial value of Turbulence variables
double initKinetic = 0.375;
double initEpsilon = 86.643;
//Parameters For Solving the Turbulence Equation
// TurbEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int TurbEqSolMethod = 2;
// TurbEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int TurbEqPrecondMethod = 1;
int TurbEqMaxSweep = 30;
double TurbEqIterSolvTol = 1e-8;
double TurbEqRelaxCoeff = 0.5;
#########################################################################
# Energy Equation Parameter #
#########################################################################
// isSolveEnergy : is(1)/not(0);
int isSolveEnergy = 0;
// Initial value of Energy variables
double initT = 273.15;
double initCPg = 1007.0;
double initK = 0.0454;
double initkappa = 1.4;
double refT = 273;
//Parameters For Solving the Energy Equation
// EnergyEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int EnergyEqSolMethod = 2;
// EnergyEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int EnergyEqPrecondMethod = 1;
int EnergyEqMaxSweep = 30;
double EnergyEqIterSolvTol = 1e-8;
double EnergyEqRelaxCoeff = 0.5;
#########################################################################
# Species Equation Parameter #
#########################################################################
// isSolveSpecies : is(1)/not(0);
int isSolveSpecies = 0;
//Parameters For Solving the Species Equation
int numberOfSpeciesIncom = 1;
string speciesNameIncom[] = [AIR];
double initMassFractionIncom[] = [1.0];
//Parameters For Solving the Species Equation
// SpeciesEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int SpeciesEqSolMethod = 2;
// SpeciesEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int SpeciesEqPrecondMethod = 1;
int SpeciesEqMaxSweep = 30;
double SpeciesEqIterSolvTol = 1e-8;
double SpeciesEqRelaxCoeff = 0.5;
#########################################################################
# Unsteady Parameter #
#########################################################################
// iunsteady : is(1)/not(0);
int iunsteady = 0;
double startTime = 0.0;
double endTime = 20;
double dt = 0.1;
int min_sub_iter = 50;
int max_sub_iter = 50;
// isStableUnsteadyMethod : is(1)/not(0);
int isStableUnsteadyMethod = 0;
#########################################################################
# Solution Method #
#########################################################################
// ConvCalcMethod : UPWIND/CDS/QUICK/SUDS
string ConvCalcMethod = "UPWIND"
// DiffCalcMethod : NON_ORTHOGONAL(default)
string DiffCalcMethod = "NON_ORTHOGONAL";
//TranCalcMethod : IMPLICIT_EULER(1st)/IMPLICIT_2ND_ORDER(2st)
string TranCalcMethod = "IMPLICIT_EULER";
// GradCalcMethod : GAUSS/LSQ
string GradCalcMethod = "GAUSS";
// mathLibType : hypre(0)/unap(1)/yhamg(2)
int mathLibType = 0;
// compressible : is(0, default)/not(1)
int compressible = 0;
// SIMPLEC : SIMPLE(0)/SIMPLEC(1)
int SIMPLEC = 1;
// isSkewness : stable gradient method: is(1)/not(0)
int isSkewness = 0;
//rhoType : Constant(0)/IncompressibleIdealGas(1)/IdealGas(2)
int rhoType = 0;
//muType: Constant(0)/SutherLand(1)/IdealGasMixingLaw(2),
int muType = 0;
//kType : Constant(0)/MassWeightedMixingLaw(1)/IdealGasMixingLaw(2)
int kType = 0;
//cpType : Constant(0)/Mixing(1)
int cpType = 0;
//massdiffType : ConstantDiluteApprox(1)/DiluteApprox(2)
int massdiffType = 0;
#########################################################################
# Post-Processing #
#########################################################################
/ nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables : Variable types dumped, listed as following:
// -- U(22), V(23), W(24), P(25), CP(26), T(27), DEN(28), VIS(29), TE(31), ED(32), enthalpy(70), species(from 71 ~ 70 + numberOfSpecies)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 4;
int visualVariables[] = [22, 23, 24, 25];
int plotFieldType = 1;
string resSaveFile = "results/res.dat";
string aircoeffile = "results/aircoef.dat";

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 = 0;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 5;
#########################################################################
# 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/chnt_InOutBC_test1.cas";
string out_gfile = "./grid/chnt_InOutBC_test1.fts";

View File

@ -0,0 +1,53 @@
string title = "PHengLEI Main Parameter Control File";
// IMPORTANT NOTICE: DON NOT MODIFY THE FOWLLOWING LINE.
string defaultParaFile = "./bin/cfd_para.hypara";
// ndim: Dimensional of the grid, 2 or 3.
// nparafile: the number of parameter files.
// nsimutask: simulation task type.
// 0 -- CFD Solver of NS or Turbulation.
// 1 -- Grid generation: for special typical cases, such as cylinder, flat plate, etc.
// Grid conversion: from other format to PHengLEI format (.fts).
// Grid reconstruction: such as grid adaptation.
// Grid merging: merge two blocks into one block.
// Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 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 = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ----------------
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

View File

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

@ -0,0 +1,76 @@
# nBoundaryConditions: Number of global boundary conditions.
# bcName : Boundary condition name.
# bcType(in PHengLEI): Boundary condition type.
# How to set boundary condition, for example:
# string bcName = "Wall";
# {
# int bcType = 2;
# int viscousType = 1;
# double wallTemperature = -1.0;
# double uWall = 0.0;
# double vWall = 0.0;
# double wWall = 0.0;
# }
# string bcName = "Inflow";
# {
# int bcType = 5;
# int inflowParaType = 0;
# double refMachNumber = 0.73;
# double attackd = 2.79;
# double angleSlide = 0.0;
# double refReNumber = 6.5e6;
# double refDimensionalTemperature = 288.15;
# }
# For more information, see examples/bin/boundary_condition.hypara file!!!
int nBoundaryConditions = 4;
string bcName = "wall";
{
string bodyName = "body";
int bcType = 2;
double initT = 300;
}
string bcName = "inlet1";
{
int bcType = 5;
double totalVelocity = 1.0;
double initT = 300.0;
double initMassFractionIncom[] = [0.21, 0.008, 0.002, 0.78, 0.0];
double initKinetic = 0.00375;
double initEpsilon = 8.61435e-6;
}
string bcName = "inlet2";
{
int bcType = 5;
double initV = 5;
double initT = 300.0;
double initMassFractionIncom[] = [0.0, 0.0, 0.0, 0.0, 1.0];
double initKinetic = 0.09375;
double initEpsilon = 0.02411757;
}
string bcName = "outlet";
{
int bcType = 6;
double initP = 0;
double initT = 300.0;
double initMassFractionIncom[] = [0.21, 0.008, 0.002, 0.78, 0.0];
double initKinetic = 0.09375;
double initEpsilon = 0.02411757;
}
# 'bcType' is defined as following:
# -2: WAKE
# -1: INTERFACE
# 0 : NO_BOUNDARY_CONDITION
# 1 : EXTRAPOLATION
# 2 : SOLID_SURFACE
# 3 : SYMMETRY
# 4 : FARFIELD
# 5 : INFLOW
# 6 : OUTFLOW
# 52: PRESSURE_INLET
# 62: PRESSURE_OUTLET
# 61: OUTFLOW_CONFINED
# 7 : POLE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,211 @@
#########################################################################
# 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.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 1000;
int intervalStepFlow = 1000;
int intervalStepPlot = 100;
int intervalStepForce = 1;
int intervalStepRes = 1;
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
string gridfile = "./grid/gasleak__4.fts";
#########################################################################
# Flow Parameter #
#########################################################################
//flowSolverName : SIMPLE/CompressibleSIMPLE/PISO
string flowSolverName = "CompressibleSIMPLE";
// Initial value of flow variables
double initRho = 1.225;
double initU = 0;
double initV = 0;
double initW = 0;
double initP = 0;
double initMu = 1.7894e-05;
double initRg = 296.928571;
double refP = 101325;
int refPLocate = 0
//Parameters For Solving the Momentum Equation
// MomEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int MomEqSolMethod = 2;
// MomEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int MomEqPrecondMethod = 1;
int MomEqMaxSweep = 30;
double MomEqIterSolvTol = 1e-8;
double MomEqRelaxCoeff = 0.5;
//Parameters For Solving the Pressure Possion Equation
// PPEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int PPEqSolMethod= 3;
// PPEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int PPEqPrecondMethod= 1;
int PPEqMaxSweep = 30;
double PPEqIterSolvTol = 1e-8;
double PPEqRelaxCoeff = 0.3;
//Relaxation factor of surface flux
double FaceFluxRelaxCoeff = 0.5;
int isCalGravityVisSource = 0;
int bodyForceFlag = 0;
double gravityX = 0.0;
double gravityY = -9.81;
double gravityZ = 0.0;
int isBoussinesqApproximation = 0;
double thermalExpansionCoeff = 3.44827e-3;
#########################################################################
# Turbulence Equation Parameter #
#########################################################################
// isSolveTurb : is(1)/not(0);
int isSolveTurb = 0
// TurbEqSolverName : k-epsilon(KE)/Spalart-Allmaras(SA)
string TurbEqSolverName = "KE";
// Initial value of Turbulence variables
double initKinetic = 0.64;
double initEpsilon = 5771;
//Parameters For Solving the Turbulence Equation
// TurbEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int TurbEqSolMethod = 2;
// TurbEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int TurbEqPrecondMethod = 1;
int TurbEqMaxSweep = 30;
double TurbEqIterSolvTol = 1e-8;
double TurbEqRelaxCoeff = 0.5;
#########################################################################
# Energy Equation Parameter #
#########################################################################
// isSolveEnergy : is(1)/not(0);
int isSolveEnergy = 1;
// Initial value of Energy variables
double initT = 273.0;
double initCPg = 1006.0;
double initK = 0.0242;
double initkappa = 1.4;
double refT = 273;
//Parameters For Solving the Energy Equation
// EnergyEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int EnergyEqSolMethod = 2;
// EnergyEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int EnergyEqPrecondMethod = 1;
int EnergyEqMaxSweep = 30;
double EnergyEqIterSolvTol = 1e-8;
double EnergyEqRelaxCoeff = 0.5;
#########################################################################
# Species Equation Parameter #
#########################################################################
// isSolveSpecies : is(1)/not(0);
int isSolveSpecies = 1;
//Parameters For Solving the Species Equation
int numberOfSpeciesIncom = 5;
string speciesNameIncom[] = [C2H4, H2_l, LNG, H2S, NH3];
double initMassFractionIncom[] = [0.164, 0.008, 0.624, 0.2, 0.004];
//Parameters For Solving the Species Equation
// SpeciesEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int SpeciesEqSolMethod = 2;
// SpeciesEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int SpeciesEqPrecondMethod = 1;
int SpeciesEqMaxSweep = 30;
double SpeciesEqIterSolvTol = 1e-8;
double SpeciesEqRelaxCoeff = 0.5;
#########################################################################
# Unsteady Parameter #
#########################################################################
// iunsteady : is(1)/not(0);
int iunsteady = 1;
double startTime = 0.0;
double endTime = 200;
double dt = 0.1;
int min_sub_iter = 50;
int max_sub_iter = 50;
// isStableUnsteadyMethod : is(1)/not(0);
int isStableUnsteadyMethod = 1;
#########################################################################
# Solution Method #
#########################################################################
// ConvCalcMethod : UPWIND/CDS/QUICK/SUDS
string ConvCalcMethod = "UPWIND"
// DiffCalcMethod : NON_ORTHOGONAL(default)
string DiffCalcMethod = "NON_ORTHOGONAL";
//TranCalcMethod : IMPLICIT_EULER(1st)/IMPLICIT_2ND_ORDER(2st)
string TranCalcMethod = "IMPLICIT_EULER";
// GradCalcMethod : GAUSS/LSQ
string GradCalcMethod = "GAUSS";
// mathLibType : hypre(0)/unap(1)/yhamg(2)
int mathLibType = 0;
// compressible : is(0, default)/not(1)
int compressible = 0;
// SIMPLEC : SIMPLE(0)/SIMPLEC(1)
int SIMPLEC = 1;
// isSkewness : stable gradient method: is(1)/not(0)
int isSkewness = 0;
//rhoType : Constant(0)/IncompressibleIdealGas(1)/IdealGas(2)
int rhoType = 2;
//muType: Constant(0)/SutherLand(1)/IdealGasMixingLaw(2),
int muType = 0;
//kType : Constant(0)/MassWeightedMixingLaw(1)/IdealGasMixingLaw(2)
int kType = 0;
//cpType : Constant(0)/Mixing(1)
int cpType = 0;
//massdiffType : ConstantDiluteApprox(1)/DiluteApprox(2)
int massdiffType = 0;
#########################################################################
# Post-Processing #
#########################################################################
/ nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables : Variable types dumped, listed as following:
// -- U(22), V(23), W(24), P(25), CP(26), T(27), DEN(28), VIS(29), TE(31), ED(32), enthalpy(70), species(from 71 ~ 70 + numberOfSpecies)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 13;
int visualVariables[] = [22, 23, 24, 25, 27, 28, 70, 71, 72, 73, 74, 75, 76];
int plotFieldType = 1;
string resSaveFile = "results/res.dat";
string aircoeffile = "results/aircoef.dat";

View File

@ -0,0 +1,36 @@
#########################################################################
# 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 = 0;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 5;
#########################################################################
# 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.
int numberOfMultifile = 1;
string from_gfile = "./grid/gasleak.cas";
string out_gfile = "./grid/gasleak.fts";

View File

@ -0,0 +1,53 @@
string title = "PHengLEI Main Parameter Control File";
// IMPORTANT NOTICE: DON NOT MODIFY THE FOWLLOWING LINE.
string defaultParaFile = "./bin/cfd_para.hypara";
// ndim: Dimensional of the grid, 2 or 3.
// nparafile: the number of parameter files.
// nsimutask: simulation task type.
// 0 -- CFD Solver of NS or Turbulation.
// 1 -- Grid generation: for special typical cases, such as cylinder, flat plate, etc.
// Grid conversion: from other format to PHengLEI format (.fts).
// Grid reconstruction: such as grid adaptation.
// Grid merging: merge two blocks into one block.
// Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 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 = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ----------------
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

View File

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

@ -0,0 +1,88 @@
# nBoundaryConditions: Number of global boundary conditions.
# bcName : Boundary condition name.
# bcType(in PHengLEI): Boundary condition type.
# How to set boundary condition, for example:
# string bcName = "Wall";
# {
# int bcType = 2;
# int viscousType = 1;
# double wallTemperature = -1.0;
# double uWall = 0.0;
# double vWall = 0.0;
# double wWall = 0.0;
# }
# string bcName = "Inflow";
# {
# int bcType = 5;
# int inflowParaType = 0;
# double refMachNumber = 0.73;
# double attackd = 2.79;
# double angleSlide = 0.0;
# double refReNumber = 6.5e6;
# double refDimensionalTemperature = 288.15;
# }
# For more information, see examples/bin/boundary_condition.hypara file!!!
int nBoundaryConditions = 7;
string bcName = "wall_down";//壁面的边界条件
{
string bodyName = "body";
int bcType = 2;
double initT = 500.0;
}
string bcName = "wall_fb";//边界类型为壁面
{
string bodyName = "body";
int bcType = 2;
double initT = 500.0;
}
string bcName = "wall_in";
{
string bodyName = "body";
int bcType = 2;
double initT = 500.0;
}
string bcName = "wall_up";
{
string bodyName = "body";
int bcType = 2;
double initT = 500.0;
}
string bcName = "inlet_down";
{
int bcType = 5;
double initU = 0.05;
double initT = 300.0;
double initMassFractionIncom[] = [0.0, 0.0, 0.0, 0.97, 0.03, 0.0];
}
string bcName = "inlet_up";
{
int bcType = 5;
double initU = 0.5;
double initT = 600.0;
double initMassFractionIncom[] = [0.21, 0.78, 0.009, 0.0, 0.0, 0.001];
}
string bcName = "outlet";
{
int bcType = 6;
double initP = 0;
double initT = 300.0;
double initMassFractionIncom[] = [0.1, 0.1, 0.1, 0.1, 0.5, 0.1];
}
# 'bcType' is defined as following:
# -2: WAKE
# -1: INTERFACE
# 0 : NO_BOUNDARY_CONDITION
# 1 : EXTRAPOLATION
# 2 : SOLID_SURFACE
# 3 : SYMMETRY
# 4 : FARFIELD
# 5 : INFLOW
# 6 : OUTFLOW
# 52: PRESSURE_INLET
# 62: PRESSURE_OUTLET
# 61: OUTFLOW_CONFINED
# 7 : POLE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,211 @@
#########################################################################
# 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.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 1000;
int intervalStepFlow = 1000;
int intervalStepPlot = 100;
int intervalStepForce = 1;
int intervalStepRes = 1;
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
string gridfile = "./grid/methaneair__4.fts";
#########################################################################
# Flow Parameter #
#########################################################################
//flowSolverName : SIMPLE/CompressibleSIMPLE/PISO
string flowSolverName = "CompressibleSIMPLE";
// Initial value of flow variables
double initRho = 1.225;
double initU = 0;
double initV = 0;
double initW = 0;
double initP = 0;
double initMu = 1.72e-5;
double initRg = 296.928571;
double refP = 101325;
int refPLocate = 0
//Parameters For Solving the Momentum Equation
// MomEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int MomEqSolMethod = 2;
// MomEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int MomEqPrecondMethod = 1;
int MomEqMaxSweep = 30;
double MomEqIterSolvTol = 1e-8;
double MomEqRelaxCoeff = 0.5;
//Parameters For Solving the Pressure Possion Equation
// PPEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int PPEqSolMethod= 3;
// PPEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int PPEqPrecondMethod= 1;
int PPEqMaxSweep = 30;
double PPEqIterSolvTol = 1e-8;
double PPEqRelaxCoeff = 0.3;
//Relaxation factor of surface flux
double FaceFluxRelaxCoeff = 0.5;
int isCalGravityVisSource = 0;
int bodyForceFlag = 0;
double gravityX = 0.0;
double gravityY = -9.81;
double gravityZ = 0.0;
int isBoussinesqApproximation = 0;
double thermalExpansionCoeff = 3.44827e-3;
#########################################################################
# Turbulence Equation Parameter #
#########################################################################
// isSolveTurb : is(1)/not(0);
int isSolveTurb = 0
// TurbEqSolverName : k-epsilon(KE)/Spalart-Allmaras(SA)
string TurbEqSolverName = "KE";
// Initial value of Turbulence variables
double initKinetic = 0.64;
double initEpsilon = 5771;
//Parameters For Solving the Turbulence Equation
// TurbEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int TurbEqSolMethod = 2;
// TurbEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int TurbEqPrecondMethod = 1;
int TurbEqMaxSweep = 30;
double TurbEqIterSolvTol = 1e-8;
double TurbEqRelaxCoeff = 0.5;
#########################################################################
# Energy Equation Parameter #
#########################################################################
// isSolveEnergy : is(1)/not(0);
int isSolveEnergy = 1;
// Initial value of Energy variables
double initT = 273.0;
double initCPg = 1006.0;
double initK = 0.0454;
double initkappa = 1.4;
double refT = 273;
//Parameters For Solving the Energy Equation
// EnergyEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int EnergyEqSolMethod = 2;
// EnergyEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int EnergyEqPrecondMethod = 1;
int EnergyEqMaxSweep = 30;
double EnergyEqIterSolvTol = 1e-8;
double EnergyEqRelaxCoeff = 0.5;
#########################################################################
# Species Equation Parameter #
#########################################################################
// isSolveSpecies : is(1)/not(0);
int isSolveSpecies = 1;
//Parameters For Solving the Species Equation
int numberOfSpeciesIncom = 6;
string speciesNameIncom[] = [C2H4, H2_l, C3H8, NG, H2S, Cl2];
double initMassFractionIncom[] = [0.21, 0.78, 0.009, 0.0, 0.001, 0.0];
//Parameters For Solving the Species Equation
// SpeciesEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int SpeciesEqSolMethod = 2;
// SpeciesEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int SpeciesEqPrecondMethod = 1;
int SpeciesEqMaxSweep = 30;
double SpeciesEqIterSolvTol = 1e-8;
double SpeciesEqRelaxCoeff = 0.5;
#########################################################################
# Unsteady Parameter #
#########################################################################
// iunsteady : is(1)/not(0);
int iunsteady = 1;
double startTime = 0.0;
double endTime = 200;
double dt = 0.1;
int min_sub_iter = 50;
int max_sub_iter = 50;
// isStableUnsteadyMethod : is(1)/not(0);
int isStableUnsteadyMethod = 1;
#########################################################################
# Solution Method #
#########################################################################
// ConvCalcMethod : UPWIND/CDS/QUICK/SUDS
string ConvCalcMethod = "UPWIND"
// DiffCalcMethod : NON_ORTHOGONAL(default)
string DiffCalcMethod = "NON_ORTHOGONAL";
//TranCalcMethod : IMPLICIT_EULER(1st)/IMPLICIT_2ND_ORDER(2st)
string TranCalcMethod = "IMPLICIT_EULER";
// GradCalcMethod : GAUSS/LSQ
string GradCalcMethod = "GAUSS";
// mathLibType : hypre(0)/unap(1)/yhamg(2)
int mathLibType = 0;
// compressible : is(0, default)/not(1)
int compressible = 0;
// SIMPLEC : SIMPLE(0)/SIMPLEC(1)
int SIMPLEC = 1;
// isSkewness : stable gradient method: is(1)/not(0)
int isSkewness = 0;
//rhoType : Constant(0)/IncompressibleIdealGas(1)/IdealGas(2)
int rhoType = 2;
//muType: Constant(0)/SutherLand(1)/IdealGasMixingLaw(2),
int muType = 0;
//kType : Constant(0)/MassWeightedMixingLaw(1)/IdealGasMixingLaw(2)
int kType = 0;
//cpType : Constant(0)/Mixing(1)
int cpType = 0;
//massdiffType : ConstantDiluteApprox(1)/DiluteApprox(2)
int massdiffType = 0;
#########################################################################
# Post-Processing #
#########################################################################
/ nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables : Variable types dumped, listed as following:
// -- U(22), V(23), W(24), P(25), CP(26), T(27), DEN(28), VIS(29), TE(31), ED(32), enthalpy(70), species(from 71 ~ 70 + numberOfSpecies)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 13;
int visualVariables[] = [22, 23, 24, 25, 27, 28, 70, 71, 72, 73, 74, 75, 76];
int plotFieldType = 1;
string resSaveFile = "results/res.dat";
string aircoeffile = "results/aircoef.dat";

View File

@ -0,0 +1,36 @@
#########################################################################
# 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 = 0;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 5;
#########################################################################
# 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.
int numberOfMultifile = 1;
string from_gfile = "./grid/methaneair.cas";
string out_gfile = "./grid/methaneair.fts";

View File

@ -0,0 +1,53 @@
string title = "PHengLEI Main Parameter Control File";
// IMPORTANT NOTICE: DON NOT MODIFY THE FOWLLOWING LINE.
string defaultParaFile = "./bin/cfd_para.hypara";
// ndim: Dimensional of the grid, 2 or 3.
// nparafile: the number of parameter files.
// nsimutask: simulation task type.
// 0 -- CFD Solver of NS or Turbulation.
// 1 -- Grid generation: for special typical cases, such as cylinder, flat plate, etc.
// Grid conversion: from other format to PHengLEI format (.fts).
// Grid reconstruction: such as grid adaptation.
// Grid merging: merge two blocks into one block.
// Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 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 = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ----------------
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

View File

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

@ -0,0 +1,71 @@
# nBoundaryConditions: Number of global boundary conditions.
# bcName : Boundary condition name.
# bcType(in PHengLEI): Boundary condition type.
# How to set boundary condition, for example:
# string bcName = "Wall";
# {
# int bcType = 2;
# int viscousType = 1;
# double wallTemperature = -1.0;
# double uWall = 0.0;
# double vWall = 0.0;
# double wWall = 0.0;
# }
# string bcName = "Inflow";
# {
# int bcType = 5;
# int inflowParaType = 0;
# double refMachNumber = 0.73;
# double attackd = 2.79;
# double angleSlide = 0.0;
# double refReNumber = 6.5e6;
# double refDimensionalTemperature = 288.15;
# }
# For more information, see examples/bin/boundary_condition.hypara file!!!
int nBoundaryConditions = 5;
string bcName = "in_1";
{
string bodyName = "body";
int bcType = 5;
double initU =3.05;
double initKinetic = 0.375;
double initEpsilon =86.64304;
}
string bcName = "out_1";
{
string bodyName = "body";
int bcType = 6;
double initP =0;
double initKinetic = 0.3756;
double initEpsilon = 86.64304;
}
string bcName = "wall_1";
{
int bcType = 2;
}
string bcName = "sym_1";
{
int bcType = 3;
}
string bcName = "symf_1";
{
int bcType = 3;
}
# 'bcType' is defined as following:
# -2: WAKE
# -1: INTERFACE
# 0 : NO_BOUNDARY_CONDITION
# 1 : EXTRAPOLATION
# 2 : SOLID_SURFACE
# 3 : SYMMETRY
# 4 : FARFIELD
# 5 : INFLOW
# 6 : OUTFLOW
# 52: PRESSURE_INLET
# 62: PRESSURE_OUTLET
# 61: OUTFLOW_CONFINED
# 7 : POLE

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,211 @@
#########################################################################
# 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.
// intervalStepRes: The step intervals for residual 'res.dat' saved.
int maxSimuStep = 1000;
int intervalStepFlow = 1000;
int intervalStepPlot = 100;
int intervalStepForce = 1;
int intervalStepRes = 1;
// gridfile: The partitioned Grid file path, using relative path,
// which is relative to the working directory.
string gridfile = "./grid/sub__4.fts";
#########################################################################
# Flow Parameter #
#########################################################################
//flowSolverName : SIMPLE/CompressibleSIMPLE/PISO
string flowSolverName = "SIMPLE";
// Initial value of flow variables
double initRho = 998.2;
double initU = 3.05;
double initV = 0;
double initW = 0;
double initP = 0;
double initMu =0.001003;
double initRg = 296.928571;
double refP = 101325;
int refPLocate = 0
//Parameters For Solving the Momentum Equation
// MomEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int MomEqSolMethod = 2;
// MomEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int MomEqPrecondMethod = 1;
int MomEqMaxSweep = 30;
double MomEqIterSolvTol = 1e-8;
double MomEqRelaxCoeff = 0.5;
//Parameters For Solving the Pressure Possion Equation
// PPEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int PPEqSolMethod= 3;
// PPEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int PPEqPrecondMethod= 1;
int PPEqMaxSweep = 30;
double PPEqIterSolvTol = 1e-8;
double PPEqRelaxCoeff = 0.3;
//Relaxation factor of surface flux
double FaceFluxRelaxCoeff = 0.5;
int isCalGravityVisSource = 0;
int bodyForceFlag = 0;
double gravityX = 0.0;
double gravityY = -9.81;
double gravityZ = 0.0;
int isBoussinesqApproximation = 0;
double thermalExpansionCoeff = 3.44827e-3;
#########################################################################
# Turbulence Equation Parameter #
#########################################################################
// isSolveTurb : is(1)/not(0);
int isSolveTurb = 1
// TurbEqSolverName : k-epsilon(KE)/Spalart-Allmaras(SA)
string TurbEqSolverName = "SA";
// Initial value of Turbulence variables
double initKinetic = 0.0348844;
double initEpsilon = 10.89987;
//Parameters For Solving the Turbulence Equation
// TurbEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int TurbEqSolMethod = 2;
// TurbEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int TurbEqPrecondMethod = 1;
int TurbEqMaxSweep = 30;
double TurbEqIterSolvTol = 1e-8;
double TurbEqRelaxCoeff = 0.5;
#########################################################################
# Energy Equation Parameter #
#########################################################################
// isSolveEnergy : is(1)/not(0);
int isSolveEnergy = 0;
// Initial value of Energy variables
double initT = 273.15;
double initCPg = 1007.0;
double initK = 0.0454;
double initkappa = 1.4;
double refT = 273;
//Parameters For Solving the Energy Equation
// EnergyEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int EnergyEqSolMethod = 2;
// EnergyEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int EnergyEqPrecondMethod = 1;
int EnergyEqMaxSweep = 30;
double EnergyEqIterSolvTol = 1e-8;
double EnergyEqRelaxCoeff = 0.5;
#########################################################################
# Species Equation Parameter #
#########################################################################
// isSolveSpecies : is(1)/not(0);
int isSolveSpecies = 0;
//Parameters For Solving the Species Equation
int numberOfSpeciesIncom = 1;
string speciesNameIncom[] = [AIR];
double initMassFractionIncom[] = [1.0];
//Parameters For Solving the Species Equation
// SpeciesEqSolMethod : GaussSeidel(0)/GMRES(1)/Bicgstab(2)/AMG(3)/PCG(4)/FlexGMRES(5)/ILU(10)/AMGDD(11)/Hybrid(12)
int SpeciesEqSolMethod = 2;
// SpeciesEqPrecondMethod : None(0)/ILU(1)/AMG(2)/Euclid(3)/LduDiag(8) /LduDIC(9) /LduDILU(10)
int SpeciesEqPrecondMethod = 1;
int SpeciesEqMaxSweep = 30;
double SpeciesEqIterSolvTol = 1e-8;
double SpeciesEqRelaxCoeff = 0.5;
#########################################################################
# Unsteady Parameter #
#########################################################################
// iunsteady : is(1)/not(0);
int iunsteady = 0;
double startTime = 0.0;
double endTime = 20;
double dt = 0.1;
int min_sub_iter = 50;
int max_sub_iter = 50;
// isStableUnsteadyMethod : is(1)/not(0);
int isStableUnsteadyMethod = 0;
#########################################################################
# Solution Method #
#########################################################################
// ConvCalcMethod : UPWIND/CDS/QUICK/SUDS
string ConvCalcMethod = "UPWIND"
// DiffCalcMethod : NON_ORTHOGONAL(default)
string DiffCalcMethod = "NON_ORTHOGONAL";
//TranCalcMethod : IMPLICIT_EULER(1st)/IMPLICIT_2ND_ORDER(2st)
string TranCalcMethod = "IMPLICIT_EULER";
// GradCalcMethod : GAUSS/LSQ
string GradCalcMethod = "GAUSS";
// mathLibType : hypre(0)/unap(1)/yhamg(2)
int mathLibType = 0;
// compressible : is(0, default)/not(1)
int compressible = 0;
// SIMPLEC : SIMPLE(0)/SIMPLEC(1)
int SIMPLEC = 1;
// isSkewness : stable gradient method: is(1)/not(0)
int isSkewness = 0;
//rhoType : Constant(0)/IncompressibleIdealGas(1)/IdealGas(2)
int rhoType = 0;
//muType: Constant(0)/SutherLand(1)/IdealGasMixingLaw(2),
int muType = 0;
//kType : Constant(0)/MassWeightedMixingLaw(1)/IdealGasMixingLaw(2)
int kType = 0;
//cpType : Constant(0)/Mixing(1)
int cpType = 0;
//massdiffType : ConstantDiluteApprox(1)/DiluteApprox(2)
int massdiffType = 0;
#########################################################################
# Post-Processing #
#########################################################################
/ nVisualVariables: Number of variables want to be dumped for tecplot visualization.
// visualVariables : Variable types dumped, listed as following:
// -- U(22), V(23), W(24), P(25), CP(26), T(27), DEN(28), VIS(29), TE(31), ED(32), enthalpy(70), species(from 71 ~ 70 + numberOfSpecies)
// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!!
// Variables order must from small to big.
int nVisualVariables = 6;
int visualVariables[] = [22, 23, 24, 25, 29, 31];
int plotFieldType = 1;
string resSaveFile = "results/res.dat";
string aircoeffile = "results/aircoef.dat";

View File

@ -0,0 +1,36 @@
#########################################################################
# 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 = 0;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 5;
#########################################################################
# 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.
int numberOfMultifile = 1;
string from_gfile = "./grid/sub.cas";
string out_gfile = "./grid/sub.fts";

View File

@ -0,0 +1,53 @@
string title = "PHengLEI Main Parameter Control File";
// IMPORTANT NOTICE: DON NOT MODIFY THE FOWLLOWING LINE.
string defaultParaFile = "./bin/cfd_para.hypara";
// ndim: Dimensional of the grid, 2 or 3.
// nparafile: the number of parameter files.
// nsimutask: simulation task type.
// 0 -- CFD Solver of NS or Turbulation.
// 1 -- Grid generation: for special typical cases, such as cylinder, flat plate, etc.
// Grid conversion: from other format to PHengLEI format (.fts).
// Grid reconstruction: such as grid adaptation.
// Grid merging: merge two blocks into one block.
// Grid repairing: repair the original grid in order to remove the negative volume cells.
// 2 -- Wall distance computation for turb-solver.
// 3 -- Grid partition.
// 4 -- Knowledge repository / examples of PHengLEI-API.
int ndim = 3;
int nparafile = 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 = 4;
//string parafilename = "./bin/repository.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";
// ---------------- Advanced Parameters, DO NOT care it ----------------
int numberOfGridProcessor = 0;
// ATP read
//@string parafilename1 = ""
//@string parafilename2 = "";

View File

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

@ -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 = 2;
#########################################################################

View File

@ -42,15 +42,9 @@ string parafilename = "./bin/cfd_para_supersonic.hypara";
//int nsimutask = 5;
//string parafilename = "./bin/overset_grid_view.hypara";
//int nsimutask = 13;
//string parafilename = "./bin/lbm_para.hypara";
//int nsimutask = 14;
//string parafilename = "./bin/integrative_solver.hypara";
//int nsimutask = 15;
//string parafilename = "./bin/gridcheck_solver.hypara";
//int nsimutask = 99;
//string parafilename = "./bin/post_processing.hypara";

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

@ -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 = 0;
int axisup = 1;
int nAxisRotateTimes = 0;
int axisRotateOrder[] = [1, 2, 3];
double axisRotateAngles[] = [0.0, 0.0, 0.0];
int from_gtype = 2;
#########################################################################