From 332e4f594e5cc737c63ca3a70991c8a39a2e37bb Mon Sep 17 00:00:00 2001 From: hechao <490956681@qq.com> Date: Tue, 28 Jun 2022 21:52:43 +0800 Subject: [PATCH] =?UTF-8?q?A01-A12=E3=80=81A16-A22=E3=80=81B01-B16?= =?UTF-8?q?=E3=80=81X01=E7=AE=97=E4=BE=8B=E5=8F=82=E6=95=B0=E5=8F=8A?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_subsonic.hypara | 8 +- .../bin/key.hypara | 17 +- .../bin/partition.hypara | 2 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_hypersonic.hypara | 10 +- .../bin/key.hypara | 17 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_subsonic.hypara | 10 +- .../bin/key.hypara | 17 +- .../bin/partition.hypara | 4 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_supersonic.hypara | 6 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_hypersonic.hypara | 10 +- .../bin/grid_para.hypara | 2 +- .../bin/key.hypara | 16 +- .../bin/partition.hypara | 4 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_transonic.hypara | 8 +- .../bin/grid_para.hypara | 4 +- .../bin/key.hypara | 16 +- .../bin/partition.hypara | 4 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_transonic.hypara | 8 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_subsonic.hypara | 8 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_transonic.hypara | 8 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_transonic.hypara | 4 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_hypersonic.hypara | 10 +- .../bin/grid_para.hypara | 2 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_hypersonic.hypara | 54 +--- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_subsonic.hypara | 8 +- .../bin/key.hypara | 10 +- .../bin/boundary_condition.hypara | 53 ---- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_supersonic.hypara | 10 +- .../bin/key.hypara | 13 +- .../bin/boundary_condition.hypara | 49 --- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_hypersonic.hypara | 54 +--- .../bin/key.hypara | 13 +- .../bin/boundary_condition.hypara | 65 ---- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_hypersonic.hypara | 12 +- .../bin/key.hypara | 18 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_hypersonic.hypara | 12 +- .../bin/key.hypara | 12 +- .../bin/boundary_condition_ref.hypara | 2 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_supersonic.hypara | 10 +- .../bin/key.hypara | 17 +- .../bin/partition.hypara | 2 +- ...´ç»“构激波干扰超声速层æµå¹³æ¿_算例说明文档.pdf | Bin 752905 -> 707257 bytes .../bin/boundary_condition_ref.hypara | 2 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_supersonic.hypara | 10 +- .../bin/key.hypara | 13 +- .../bin/partition.hypara | 10 +- .../三维结构弹体喷æµ_算例说明文档.pdf | Bin 492267 -> 606615 bytes .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_subsonic.hypara | 8 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_subsonic.hypara | 8 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_transonic.hypara | 8 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_subsonic.hypara | 8 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_hypersonic.hypara | 53 +--- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_transonic.hypara | 12 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_hypersonic.hypara | 12 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_subsonic.hypara | 8 +- .../bin/key.hypara | 16 +- .../bin/partition.hypara | 2 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_subsonic.hypara | 8 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_supersonic.hypara | 10 +- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_hypersonic.hypara | 55 +--- .../bin/key.hypara | 16 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_hypersonic.hypara | 56 +--- .../bin/key.hypara | 16 +- .../bin/boundary_condition.hypara | 64 ---- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_subsonic.hypara | 8 +- .../bin/key.hypara | 20 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_subsonic.hypara | 8 +- .../bin/key.hypara | 10 +- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_subsonic.hypara | 8 +- .../bin/key.hypara | 10 +- .../bin/boundary_condition.hypara | 49 --- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_hypersonic.hypara | 54 +--- .../bin/key.hypara | 13 +- .../bin/boundary_condition.hypara | 44 --- .../bin/cfd_para.hypara | 290 ++++++++++++++---- .../bin/cfd_para_supersonic.hypara | 10 +- .../bin/key.hypara | 16 +- 128 files changed, 8971 insertions(+), 2979 deletions(-) delete mode 100644 A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/boundary_condition.hypara delete mode 100644 A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/boundary_condition.hypara delete mode 100644 A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/boundary_condition.hypara delete mode 100644 B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/boundary_condition.hypara delete mode 100644 B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/boundary_condition.hypara delete mode 100644 X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/boundary_condition.hypara diff --git a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para.hypara b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para.hypara +++ b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para_subsonic.hypara b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para_subsonic.hypara index 8f50894..573ffdb 100644 --- a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para_subsonic.hypara +++ b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/flat_laminar_73_81.fts"; +string gridfile = "./grid/flat_laminar_73_81.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,8 +190,8 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; double MUSCLCoefXk = 0.333333; \ No newline at end of file diff --git a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/key.hypara b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/key.hypara index f02a285..217d4e8 100644 --- a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/key.hypara +++ b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; @@ -51,4 +59,3 @@ int numberOfGridProcessor = 0; // ATP read //@string parafilename1 = "" //@string parafilename2 = ""; - diff --git a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/partition.hypara b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/partition.hypara index ca2224d..6c83cd6 100644 --- a/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/partition.hypara +++ b/A01_TwoD_Plate_Laminar_Struct_1CPU/bin/partition.hypara @@ -18,4 +18,4 @@ string partition_grid_file = "./grid/flat_laminar_73_81.fts"; // 1 -- single level. // 2 -- 2 level. // N -- N level,..., et al. -int numberOfMultigrid = 1; +int numberOfMultigrid = 1; diff --git a/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para.hypara b/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para.hypara +++ b/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para_hypersonic.hypara b/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para_hypersonic.hypara index 27f6752..0c7580e 100644 --- a/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para_hypersonic.hypara +++ b/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/cfd_para_hypersonic.hypara @@ -148,7 +148,7 @@ int iunsteady = 0; double CFLEnd = 100; int CFLVaryStep = 500; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -160,7 +160,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/plate_137_97.fts"; +string gridfile = "./grid/plate_137_97.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -176,7 +176,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -189,8 +189,8 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; double MUSCLCoefXk = 0.333333; diff --git a/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/key.hypara b/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/key.hypara index 60c6f16..69d3aa6 100644 --- a/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/key.hypara +++ b/A02_TwoD_Plate_Laminar_Ma5_Struct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; @@ -51,4 +59,3 @@ int numberOfGridProcessor = 0; // ATP read //@string parafilename1 = "" //@string parafilename2 = ""; - diff --git a/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para.hypara b/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para.hypara +++ b/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para_subsonic.hypara b/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para_subsonic.hypara index bd8f18a..85734e3 100644 --- a/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para_subsonic.hypara +++ b/A03_TwoD_plate_SST_LowMach_Struct/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/Mesh4_137_97.fts"; +string gridfile = "./grid/Mesh4_137_97.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,9 +190,9 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; -double MUSCLCoefXk =0.333333; +double MUSCLCoefXk = 0.333333; diff --git a/A03_TwoD_plate_SST_LowMach_Struct/bin/key.hypara b/A03_TwoD_plate_SST_LowMach_Struct/bin/key.hypara index f02a285..217d4e8 100644 --- a/A03_TwoD_plate_SST_LowMach_Struct/bin/key.hypara +++ b/A03_TwoD_plate_SST_LowMach_Struct/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; @@ -51,4 +59,3 @@ int numberOfGridProcessor = 0; // ATP read //@string parafilename1 = "" //@string parafilename2 = ""; - diff --git a/A03_TwoD_plate_SST_LowMach_Struct/bin/partition.hypara b/A03_TwoD_plate_SST_LowMach_Struct/bin/partition.hypara index 7bb7e69..b22eded 100644 --- a/A03_TwoD_plate_SST_LowMach_Struct/bin/partition.hypara +++ b/A03_TwoD_plate_SST_LowMach_Struct/bin/partition.hypara @@ -11,11 +11,11 @@ int pgridtype = 1; int maxproc = 1; -string original_grid_file = "./grid/Mesh4_137_97.fts"; +string original_grid_file = "./grid/Mesh4_137_97.fts"; string partition_grid_file = "./grid/Mesh4_137_97.fts"; // numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid. // 1 -- single level. // 2 -- 2 level. // N -- N level,..., et al. -int numberOfMultigrid = 1; +int numberOfMultigrid = 1; diff --git a/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para.hypara b/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para.hypara +++ b/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para_supersonic.hypara b/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para_supersonic.hypara index 8d20a13..4c8bc45 100644 --- a/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para_supersonic.hypara +++ b/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/cfd_para_supersonic.hypara @@ -146,7 +146,7 @@ int iunsteady = 0; double CFLEnd = 50.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -158,7 +158,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/Mesh4_137_97.fts"; +string gridfile = "./grid/Mesh4_137_97.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -172,7 +172,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). diff --git a/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/key.hypara b/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/key.hypara index 2689937..4ad27e3 100644 --- a/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/key.hypara +++ b/A04_TwoD_Plate_SST_Ma5_Struct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para.hypara b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para.hypara +++ b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para_hypersonic.hypara b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para_hypersonic.hypara index 5d39856..4dc8207 100644 --- a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para_hypersonic.hypara +++ b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/cfd_para_hypersonic.hypara @@ -48,7 +48,7 @@ double angleSlide = 0.00; double wallTemperature = 294.0 ; int inflowParaType = 0; -double refReNumber = 3.67e5; +double refReNumber = 3.67e5; double refDimensionalTemperature = 125.0; //int inflowParaType = 1; @@ -147,7 +147,7 @@ int iunsteady = 0; double CFLEnd = 3.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -175,7 +175,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -188,8 +188,8 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; double MUSCLCoefXk = 0.333333; diff --git a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/grid_para.hypara b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/grid_para.hypara index 58c83da..7beb562 100644 --- a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/grid_para.hypara +++ b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/grid_para.hypara @@ -27,4 +27,4 @@ int from_gtype = 3; // from_gfile: path of original data file for unstructure grid convert from. // out_gfile: path of target file for grid convert to, *.fts type of file usually. string from_gfile = "./grid/input.grd"; -string out_gfile = "./grid/input.fts"; +string out_gfile = "./grid/input.fts"; diff --git a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/key.hypara b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/key.hypara index 91008f0..69d3aa6 100644 --- a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/key.hypara +++ b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/partition.hypara b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/partition.hypara index a949479..fc504bf 100644 --- a/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/partition.hypara +++ b/A05_TwoD_Cylinder_Laminar_Ma8d03_Struct/bin/partition.hypara @@ -11,8 +11,8 @@ int pgridtype = 1; int maxproc = 1; -string original_grid_file = "./grid/input.fts"; -string partition_grid_file = "./grid/input.fts"; +string original_grid_file = "./grid/input.fts"; +string partition_grid_file = "./grid/input.fts"; // numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid. // 1 -- single level. diff --git a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para.hypara b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para.hypara +++ b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para_transonic.hypara b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para_transonic.hypara index b98b350..9aeb6e7 100644 --- a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para_transonic.hypara +++ b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/cfd_para_transonic.hypara @@ -171,7 +171,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/NACA0012__4.fts"; +string gridfile = "./grid/NACA0012__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -185,7 +185,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -198,6 +198,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/grid_para.hypara b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/grid_para.hypara index 08eddf8..68b03f0 100644 --- a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/grid_para.hypara +++ b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/grid_para.hypara @@ -26,5 +26,5 @@ int from_gtype = 3; ######################################################################### // from_gfile: path of original data file for unstructure grid convert from. // out_gfile: path of target file for grid convert to, *.fts type of file usually. -string from_gfile = "./grid/NACA0012.grd"; -string out_gfile = "./grid/NACA0012.fts"; +string from_gfile = "./grid/NACA0012.grd"; +string out_gfile = "./grid/NACA0012.fts"; diff --git a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/key.hypara b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/key.hypara index 2332f09..413a81c 100644 --- a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/key.hypara +++ b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/partition.hypara b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/partition.hypara index 26597c0..3f9e99f 100644 --- a/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/partition.hypara +++ b/A06_ThreeD_NACA0012_SA_Struct_4CPU/bin/partition.hypara @@ -11,8 +11,8 @@ int pgridtype = 1; int maxproc = 4; -string original_grid_file = "./grid/NACA0012.fts"; -string partition_grid_file = "./grid/NACA0012__4.fts"; +string original_grid_file = "./grid/NACA0012.fts"; +string partition_grid_file = "./grid/NACA0012__4.fts"; // numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid. // 1 -- single level. diff --git a/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para.hypara b/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para.hypara +++ b/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para_transonic.hypara b/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para_transonic.hypara index 55a0007..e5b8431 100644 --- a/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para_transonic.hypara +++ b/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/cfd_para_transonic.hypara @@ -171,7 +171,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/rae2822_vis2d__4.fts"; +string gridfile = "./grid/rae2822_vis2d__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -185,7 +185,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -198,6 +198,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/key.hypara b/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/key.hypara index 1fe1d99..0cdcd75 100644 --- a/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/key.hypara +++ b/A07_TwoD_Rae2822_SST_Struct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para.hypara b/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para.hypara +++ b/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara b/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara index 11de810..278e7ce 100644 --- a/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara +++ b/A08_TwoD_30p30n_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/30p30n_str__4.fts"; +string gridfile = "./grid/30p30n_str__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/A08_TwoD_30p30n_SST_Struct_4CPU/bin/key.hypara b/A08_TwoD_30p30n_SST_Struct_4CPU/bin/key.hypara index 0400d3a..217d4e8 100644 --- a/A08_TwoD_30p30n_SST_Struct_4CPU/bin/key.hypara +++ b/A08_TwoD_30p30n_SST_Struct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para.hypara b/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para.hypara +++ b/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para_transonic.hypara b/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para_transonic.hypara index 9bd6090..dee3be2 100644 --- a/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para_transonic.hypara +++ b/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/cfd_para_transonic.hypara @@ -171,7 +171,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/m6_str__4.fts"; +string gridfile = "./grid/m6_str__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -185,7 +185,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -198,8 +198,8 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; double MUSCLCoefXk = 0.333333; diff --git a/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/key.hypara b/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/key.hypara index 2332f09..413a81c 100644 --- a/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/key.hypara +++ b/A09_ThreeD_M6_SST_Struct_MG2_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para.hypara b/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para.hypara +++ b/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para_transonic.hypara b/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para_transonic.hypara index 24013eb..37787d6 100644 --- a/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para_transonic.hypara +++ b/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/cfd_para_transonic.hypara @@ -171,7 +171,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/stm-dkbm-c-all__16.fts"; +string gridfile = "./grid/stm-dkbm-c-all__16.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -185,7 +185,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). diff --git a/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/key.hypara b/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/key.hypara index 2332f09..413a81c 100644 --- a/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/key.hypara +++ b/A10_ThreeD_CHNT_SST_Struct_16CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para.hypara b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para.hypara +++ b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para_hypersonic.hypara b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para_hypersonic.hypara index dfee8de..5ae8b6c 100644 --- a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para_hypersonic.hypara +++ b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/cfd_para_hypersonic.hypara @@ -147,7 +147,7 @@ int iunsteady = 0; double CFLEnd = 10.0; int CFLVaryStep = 100; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -159,7 +159,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3dball.fts"; +string gridfile = "./grid/3dball.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -175,7 +175,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -188,6 +188,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/grid_para.hypara b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/grid_para.hypara index e2fd4ad..1002bca 100644 --- a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/grid_para.hypara +++ b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/grid_para.hypara @@ -27,4 +27,4 @@ int from_gtype = 3; // from_gfile: path of original data file for unstructure grid convert from. // out_gfile: path of target file for grid convert to, *.fts type of file usually. string from_gfile = "./grid/3dball.grd"; -string out_gfile = "./grid/3dball.fts"; +string out_gfile = "./grid/3dball.fts"; diff --git a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/key.hypara b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/key.hypara index 1b2743f..effe5f0 100644 --- a/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/key.hypara +++ b/A11_ThreeD_Sphere_Laminar_Ma10_Struct/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para.hypara b/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para.hypara +++ b/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para_hypersonic.hypara b/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para_hypersonic.hypara index 045134a..540eba0 100644 --- a/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para_hypersonic.hypara +++ b/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/cfd_para_hypersonic.hypara @@ -148,7 +148,7 @@ int iunsteady = 0; double CFLEnd = 1.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -160,7 +160,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/DoubleEllipse__4.fts"; +string gridfile = "./grid/DoubleEllipse__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -176,7 +176,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -189,50 +189,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; - -######################################################################### -# Non-equilibrium gas # -######################################################################### -// nGasModel: The type of gas. -// 0 -- Earth gas. -// 1 -- Mars gas. -// nchem: -// 0 -- without chemical reaction flow. -// 1 -- the chemical reaction flow is considered. -// nchemsrc: -// 0 -- the source terms are not computed. -// 1 -- the source terms are computed. -// nchemrad: -// 0 -- compute the spectrum radius without considering chemical reaction flow. -// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow. -// ntmodel: The thermodynamic temperature model. -// 1 -- One-temperature model. -// 2 -- Two-temperature model. -// 3 -- Three-temperature model. -// catalyticCoef: -// 0.0 -- full non-catalytic wall boundary condition. -// 1.0 -- full catalytic wall boundary condition. -// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient. -// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11". -// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions. -// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions. -// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. -// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. -// For self-definition model, the gasfile is used to indicate the file path of the new gas model. -// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. -// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. -// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. - -int nGasModel = 0; -int nchem = 0; -int ntmodel = 1; -int nchemsrc = 1; -int nchemrad = 1; -double catalyticCoef = 1.0; -string gasfile = "DK5"; -string speciesName = "O, O2, NO, N, N2"; -string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555"; -int ifStartFromPerfectGasResults = 0; +int limitVector = 1; diff --git a/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/key.hypara b/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/key.hypara index 1b2743f..effe5f0 100644 --- a/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/key.hypara +++ b/A12_ThreeD_DoubleEllipse_Laminar_Struct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para.hypara b/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para.hypara +++ b/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara b/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara index 49457cc..bcc16c2 100644 --- a/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara +++ b/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/2D_NLR7301_Str.fts"; +string gridfile = "./grid/2D_NLR7301_Str.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/key.hypara b/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/key.hypara index 78c5988..217d4e8 100644 --- a/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/key.hypara +++ b/A16-TwoD_NLR7301_SST_Struct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_deform_para.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_subsonic.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"; diff --git a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/boundary_condition.hypara b/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/boundary_condition.hypara deleted file mode 100644 index 0592952..0000000 --- a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/boundary_condition.hypara +++ /dev/null @@ -1,53 +0,0 @@ -# nBoundaryConditons : number of global boundary conditions. -# bcName : Boundary Condition Name. -# bcType(in PHengLEI): Boundary Condition Type. - -# Account of how to set boundaryconditon. -# string bcName = "Farfield"; -# { -# int bcType = 4; -# int inflowParaType = 1; -# double attackd = 0; -# double refReNumber = 6.5e6; -# double refMachNumber = 3.5; -# double angleSlide = 0; -# } - -int nBoundaryConditons = 5; -string bcName = "wall"; -{ - string bodyName = "body"; - int bcType = 2; -} -string bcName = "sym"; -{ - int bcType = 3; -} -string bcName = "in"; -{ - int bcType = 4; -} -string bcName = "up"; -{ - int bcType = 4; -} -string bcName = "out"; -{ - int bcType = 6; -} - -# '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 diff --git a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para.hypara b/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para.hypara +++ b/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para_supersonic.hypara b/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para_supersonic.hypara index ce2aa86..981255a 100644 --- a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para_supersonic.hypara +++ b/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/cfd_para_supersonic.hypara @@ -147,7 +147,7 @@ int iunsteady = 0; double CFLEnd = 1.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -159,7 +159,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3d_16ramp_str.fts"; +string gridfile = "./grid/3d_16ramp_str.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -173,7 +173,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -186,6 +186,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/key.hypara b/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/key.hypara index 1f6a6c5..06a8b01 100644 --- a/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/key.hypara +++ b/A17-ThreeD_Compression_Ramp-16_SA_Struct/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_supersonic.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"; diff --git a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/boundary_condition.hypara b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/boundary_condition.hypara deleted file mode 100644 index 15112a8..0000000 --- a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/boundary_condition.hypara +++ /dev/null @@ -1,49 +0,0 @@ -# nBoundaryConditons : number of global boundary conditions. -# bcName : Boundary Condition Name. -# bcType(in PHengLEI): Boundary Condition Type. - -# Account of how to set boundaryconditon. -# string bcName = "Farfield"; -# { -# int bcType = 4; -# int inflowParaType = 1; -# double attackd = 0; -# double refReNumber = 6.5e6; -# double refMachNumber = 3.5; -# double angleSlide = 0; -# } - -int nBoundaryConditons = 4; -string bcName = "wall"; -{ - string bodyName = "body"; - int bcType = 2; -} -string bcName = "sym"; -{ - int bcType = 3; -} -string bcName = "in"; -{ - int bcType = 5; -} -string bcName = "out"; -{ - int bcType = 6; -} - -# '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 diff --git a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para.hypara b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para.hypara +++ b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para_hypersonic.hypara b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para_hypersonic.hypara index b88ca8a..fff22b7 100644 --- a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para_hypersonic.hypara +++ b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/cfd_para_hypersonic.hypara @@ -148,7 +148,7 @@ int iunsteady = 0; double CFLEnd = 3.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -160,7 +160,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3d_HCFlare_str__16.fts"; +string gridfile = "./grid/3d_HCFlare_str__16.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -176,7 +176,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -189,50 +189,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; - -######################################################################### -# Non-equilibrium gas # -######################################################################### -// nGasModel: The type of gas. -// 0 -- Earth gas. -// 1 -- Mars gas. -// nchem: -// 0 -- without chemical reaction flow. -// 1 -- the chemical reaction flow is considered. -// nchemsrc: -// 0 -- the source terms are not computed. -// 1 -- the source terms are computed. -// nchemrad: -// 0 -- compute the spectrum radius without considering chemical reaction flow. -// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow. -// ntmodel: The thermodynamic temperature model. -// 1 -- One-temperature model. -// 2 -- Two-temperature model. -// 3 -- Three-temperature model. -// catalyticCoef: -// 0.0 -- full non-catalytic wall boundary condition. -// 1.0 -- full catalytic wall boundary condition. -// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient. -// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11". -// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions. -// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions. -// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. -// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. -// For self-definition model, the gasfile is used to indicate the file path of the new gas model. -// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. -// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. -// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. - -int nGasModel = 0; -int nchem = 0; -int ntmodel = 1; -int nchemsrc = 1; -int nchemrad = 1; -double catalyticCoef = 1.0; -string gasfile = "DK5"; -string speciesName = "O, O2, NO, N, N2"; -string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555"; -int ifStartFromPerfectGasResults = 0; +int limitVector = 1; diff --git a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/key.hypara b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/key.hypara index a0b0913..effe5f0 100644 --- a/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/key.hypara +++ b/A18-ThreeD_Hollow_Cylinder_Flare_Laminar_Struct_16CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_hypersonic.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"; diff --git a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/boundary_condition.hypara b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/boundary_condition.hypara deleted file mode 100644 index 1410388..0000000 --- a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/boundary_condition.hypara +++ /dev/null @@ -1,65 +0,0 @@ -# nBoundaryConditons : 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 nBoundaryConditons = 5; -string bcName = "SOLID_SURFACE"; -{ - string bodyName = "body"; - int bcType = 2; -} -string bcName = "SYMMETRY"; -{ - int bcType = 3; -} -string bcName = "INFLOW"; -{ - int bcType = 5; -} -string bcName = "OUTFLOW"; -{ - int bcType = 6; -} -string bcName = "POLE3"; -{ - int bcType = 73; -} - -# '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 diff --git a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para.hypara b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para.hypara +++ b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para_hypersonic.hypara b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para_hypersonic.hypara index e9960b5..ab833e4 100644 --- a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para_hypersonic.hypara +++ b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/cfd_para_hypersonic.hypara @@ -158,9 +158,9 @@ double venkatCoeff = 0.5; int iunsteady = 0; -double CFLEnd = 1.0; +double CFLEnd = 1.0; int CFLVaryStep = 1000; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -172,7 +172,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3D_bluntcone_str__64.fts"; +string gridfile = "./grid/3D_bluntcone_str__64.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -188,7 +188,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -201,6 +201,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/key.hypara b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/key.hypara index 04a16e4..effe5f0 100644 --- a/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/key.hypara +++ b/A19-ThreeD_BluntCone_Ma10d6_Laminar_Struct_64CPU/bin/key.hypara @@ -14,16 +14,15 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; -//int nsimutask = 0; +int nsimutask = 0; //string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; -//string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +string parafilename = "./bin/cfd_para_hypersonic.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -31,14 +30,14 @@ int nparafile = 1; //int nsimutask = 2; //string parafilename = "./bin/cfd_para.hypara"; -int nsimutask = 3; -string parafilename = "./bin/partition.hypara"; +//int nsimutask = 3; +//string parafilename = "./bin/partition.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_deform_para.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -49,6 +48,9 @@ string parafilename = "./bin/partition.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"; diff --git a/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para.hypara b/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para.hypara +++ b/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para_hypersonic.hypara b/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para_hypersonic.hypara index 0230051..7b4e112 100644 --- a/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para_hypersonic.hypara +++ b/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/cfd_para_hypersonic.hypara @@ -158,9 +158,9 @@ double venkatCoeff = 0.5; int iunsteady = 0; -double CFLEnd = 2.0; +double CFLEnd = 2.0; int CFLVaryStep = 1000; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -172,7 +172,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/OV102__24.fts"; +string gridfile = "./grid/OV102__24.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -188,7 +188,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -201,6 +201,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; \ No newline at end of file +int limitVector = 1; \ No newline at end of file diff --git a/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/key.hypara b/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/key.hypara index 969b4ea..effe5f0 100644 --- a/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/key.hypara +++ b/A20-ThreeD_OV102_Ma20_Laminar_H50_Struct_24CPU/bin/key.hypara @@ -14,8 +14,7 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. -int ndim = 2; +int ndim = 3; int nparafile = 1; int nsimutask = 0; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_deform_para.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_hypersonic.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"; diff --git a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/boundary_condition_ref.hypara b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/boundary_condition_ref.hypara index 509bab9..0ae5048 100644 --- a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/boundary_condition_ref.hypara +++ b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/boundary_condition_ref.hypara @@ -13,7 +13,7 @@ # double angleSlide = 0; # } -int nBoundaryConditons = 5; +int nBoundaryConditions = 5; string bcName = "Wall"; { string bodyName = "body"; diff --git a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para.hypara b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para.hypara +++ b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para_supersonic.hypara b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para_supersonic.hypara index bff0440..db26f40 100644 --- a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para_supersonic.hypara +++ b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/cfd_para_supersonic.hypara @@ -146,7 +146,7 @@ int iunsteady = 0; double CFLEnd = 30.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -158,7 +158,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3D_plate_UDB_str.fts"; +string gridfile = "./grid/3D_plate_UDB_str.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -172,7 +172,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -185,6 +185,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/key.hypara b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/key.hypara index 004f7fa..06a8b01 100644 --- a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/key.hypara +++ b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,20 +33,28 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; // ---------------- Advanced Parameters, DO NOT care it ---------------- -int iovrlap = 0; int numberOfGridProcessor = 0; // ATP read //@string parafilename1 = "" diff --git a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/partition.hypara b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/partition.hypara index 141bd80..48acc11 100644 --- a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/partition.hypara +++ b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/bin/partition.hypara @@ -8,7 +8,7 @@ // 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 pgridtype = 1; int maxproc = 1; string original_grid_file = "./grid/3D_plate_UDB_str.fts"; diff --git a/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/三维结构激波干扰超声速层æµå¹³æ¿_算例说明文档.pdf b/A21-ThreeD_ShockwaveInteractionPlate_Ma2_Laminar_UDB_Struct_1CPU/三维结构激波干扰超声速层æµå¹³æ¿_算例说明文档.pdf index 2df6e21daa90f75e6013ae4764406a9939c40c38..939b6f173f4aed8b485a6672461cfa8deff433ec 100644 GIT binary patch delta 543295 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℞kw`nU^L%Q54!pYD= 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 z z$kg3NYTpl$AM|+U`sok53)hclx`G|$MBuRsJf1;H8#c?FpO9x1h|bypU3`~6H;#J! z9PWB&ZCoFRXLx+b-}Wx7S!sU2F>u(y4;+}BM8zaMX@vz1&tkvWah#&2>key!RLLTL zuh&1GW@;M67zNWLr^IT1UTej&zixMG!zT!0sClaO}G~V+;)8(mEX-_R#aMx0B6KF5; z=Y?P9t)-d*+&r}++Tbty(67VIIm^-a<9{C=1p=2`K#a`Jit(~3Px8?A={K^U3Q%1L z2dTV{9fIXN`|<3jkg0WtfUsY1SADX&X8eGmT9vTQ%81(6ht#Y9cq$c%*}U_AmMo0M zLA6)yz5KwrRSRqFv7F!4yz>jgxm^3lY9PM;?6($QHW#wFpieCF(H%RsNS+X6a$^Zv><-;@;ry;XRnEh>%+#_ZLAC z>Yaoowjccl=XRF}qFkC$x!xF`gmy0GG{&^Y)BKWEYrjndF8q=3U-*EKpqOF#j{D$~ z42q0&WWJapUFE!YYxQ>X9Tt*d%ud=*OH9Ts#TnJ9O7ToTs5&cwQRfbSW(T{|f3>tF zup@gjeG7Yw|0Zc);O6Yz?A`u{iHDglNe^Yt5U-Zsw#1-Dl*we%X%=9M!jH_5Y_Vg8 z#A(GZNrg1)hBst08Ek-L((sYA#F$t*3rj!LbLd#d6v63I9q?@vdaM@W%08duN4iSj z2n*g~KR^@Qd)W6`iapSOU{)}j8Hzao4RuE|lzEL)0H+*PNae`pEYP!!ESdF}%1

w_23US6jlCRiZ^Xrq12W&l9W+iPyMtUEAFcO8^!IPd`F7not zV5OrOkk*nS<8R+ned@9~OZy6uT9TDV)p_mHT*S}&N)YW6p~QlA5&S8YbTYOcXkLgB zN8|i;cic6cO_#jf;JTyaiEut<=j|v{xNgmwDZE^>B%nn(eqi3HzU1i!8Q+lWWPklITEGCH)d7dC`6ove>aE{U#AfG(HZXNZQ zdB>lwGJg%ys-GZCbIqS4n&3B>R=Wld2pmsYylAYkhp^0lDdz}QVZ)q{o4C-%gG_kV z3Xe~5W*lE;Mk}AIc+?apX)&9J<`F)8hYx%5`S8H1FQpmbNEQ@v|9|l~6|DRk&r@pJ z(7a1>KwR|G!!v^Vz^s%Im+#T{l*z?Yw|6tYbq!p}CaICZgI&S-CT6PRUFn<~u2e?~J9iYQK-_<*NO2R+K?`f*Nl2 z%+Yd$XACltLJ}>tInvA}Q%S<2gjt5|)y+JonvR;EGLvR$&(IHs$f2fBjqlcuXr%T) z!ar|l0&F-DdGddBGt=Vaq@86R`E%G!7v<j_@WEXiZ#p7m>7tY&4}r zu=%ZYgE&jrZ={o?1VoB`D4$VRU>N?kmoCw5B!<9wA!e3IGZI5U*#dThgL@*`%6Pl~ zs-T;HrE~k=vNOS~l5X48k-=lfw!L^@^}X|R;b@^2(SqsHHkU*_Xld1VH=w}C$lJl& z<1S8UeRG#03PDv}_BZ6JC8wuutgTB#^Rdfx54Wil_|l?CIM9@VU;zkW9c4={?I9FevBt@NM7)c!@fnPbOTo^}z;6wVl`zIi667W% zzJtUek|f4hQs|ku@Giz!Sa}^|Y)=RwW;;f<09b zrF%}w^qtXoN>&n4@}z9NGbW|va3Uu3WHUaB6s34F?aQSnK%!a7y&`%DVvGY^p_~wZ zc!-YB)=kD$|552FiIgPxh1C+NI(GLQ=^=X_;QW>9e}ai!Jj4k{2BxQ>s$^iHZ#EW+ z`J&U^TPzgyB4u&K^X^iRC^~b&89an`Ch`(br^_CZP*_iH!usAbyF3KoIaq^;SmrI3 zh)i9Qhhzp3FJdAZZS9+daf2je;TSuAFJ^fcgqewbi^oGT?QQac(KeH;jT}2>U3GH( z)mPn@^wj3JYeO-&sA&0p^{7wd?bO27Q@iHJA<8xHCD$(f-_P$|y!g)}>-%J&s=&oo zH<5~U1VtJ4Fl=y*2DdLz&HsS6H z@qW=Hc4BJ9PE4)XiK)d;X@04EF}`SV%#-Mu=axOgJytJa#Sun5K*ga&eiSc@LyPXW ze_$t3d=Y6s?(0MrAt%sjW3at{G2pCS8Y7EBWKncc;H203Uk4Y>#KPVxeKZD^dg_xS zUw>)Z48Ciw5jJ7~%R%lSJV{;4`0YJ^h`jxVfz{K5K5jthY0DIf)}@wDuR~H64LKSs zM$HP)1*>z-W-ixkm}{s&8o-qgh>u1b?KOHq+dGQ%Q{728ceerjQ_H$t5;xqJL@C;4-;W>KNGyGrh z3{SlO9B(|s6IT=KO&d(h2`j-tej6qdgiiDk4Pum7L98J*6WfX1#7)FO;-%)69lOR> zt=hQu=G*!Q_Uub$uh^=8E?sD+hnpsXhM%CK4rEm|J3y@smJ4p47lX?e-?(@0RacJ; z{q_E8@w#iA-j%CKOMP%P{6sgcm!p=i||<3H{Bfnm+X^j$PGt zoqrWgP}N|SpF-8y8@>9);@kh&# zUblKLJ=Q+*{oUWAepD!z3lE~*A4sy6# zv8aOHa=90LA6;y3MEgIWyB|a~>LIu*z@zr-rBd%(@Bn-XR#u~LyA|%hw~KnEwGh_6 zSSXZ9rE^o;3M=n_pvQhvE|l}I0?BRGUoVoxLl@3bN2&J-7sQW!&E;$3;3W;b6ai}$ zuqL=YNPa&6zV8ETyxYCx-A=II3GT9kTkPO44Q`~tVG`Ux0`rwIP>3~SV=*cgOZhi* zyE&4RS(}@fpxz@IQw<2q@hP0c4?=1DBY&WXR_$|;v1p!utds{yU(^AQ(HdWa@HkI` z-(2~%>j(RHJ-Xwnqk9Jz-SU++3wAF{g-3TUU%Go?EW2zc_5RpBXRg`$_YbTayXX1c z2hRSt`PcUCeE7C8f^D z5(oq)sOgh`b}rDv5{=d*{D<${dhtPt~G9^ zOs4q1+N}iv2!fQiTK$StK;qx;eU2&-5$e4rLlGu_-b9)*utQ775xZ|pwTdr~7aOft zil}c(XdFl%ch;th`V=yd$9oGJvX-oo${^J@NTH5IDqdpHTdLD&s+q;jJ}J9=PHfF$ zo6tXh*eEI0Ra^5zxBSiDZZloDKor}%sS0eLmGEA8t9=-rDYy4gOQ?T=XT%Ht+`bo{ zS$p9f>X>;4X+gFM?34NJzoJe-$k>UYW^j}|On!+xO`6DuO^?GS0}6f|cGhNNO=l>C zz;^1rV-yMHYoml)KUH!f#sJ$qh1@edAORwO5M0)Ti#pX#?*w0K4<<(DmR!n>)N4I| z`g+*(O$e|k59$Pbm&@AsQIDGh_;x{pXg>kZY=>|6BWSBx2v-Q*F$VGGYItlV+!wAO z(3vcR;gk6NJ@|MzeBv_vg!j+r_$qjOi+L#$SNQrR?S;otNO8B~>(XoZ9pLff_<9h3 zU+?5TfyYY;M4>5yFmE;ALo6q@5ub0?x1{e`307|0x_IAWa`EDHEY_QjNa8{62qZdl zKvc)m>H7BG%tp0d9++FN2hxSP;zmoa8Y!c}C}*_DE?%)(8y+UMtXRQ1HTV;a*2_h` zB$RZhGd3n$larH;NmKxR@{Jey*5u272)W>ipP>XNFXG{s5<<3dqyWz*U#t>9O7URN zkXh6cx#S4hAA=^0hn_*o9L<}Iry_{_`z#jIt+~sai5`#N?oomPPU;U8s*?Ge-}L1d z7F(_C+_=!*#>M7j+mX!Nxbybg?UDX9x2`O17)iNmOE$Hi@yDYPH5;r9h8ggG6_W0; zbBg&MF*8?nhCDXA81re-?85Qh#}~C88C|AYG|iS+GLPKedSqa6iqkZEa!G^SzDU1z z*Vd(ZZ=z2zh358#f9;DVqQ3l!9kshQM9P_jhXDp`EC(vG6*9JP9SX-xEz%Qlj|{%WD2*!Hw#U>`n7b6b zsqu%dEv=cKwe~;PK6wdj0}}1=n(s^08va<$6=gL9T6(1th8UCM^E>#obETwX6QSP7PVr+P z2Z$11Hs}z+nxA~RG+ms5G=wrT{B#Is!xg^+V`yHX!;27tlr~6V$Xx_GloJMkFFE)G zx;2l`isV;&+@Vm|TkH#%ciT0mn2N=;OuzsQ%ejJq<*P4`SyGjn?{l&cAIP*L$$^Bc zy~C~!RonLRkk)g5DWExZ&YGK+Ay89a014XZb1T_^t+x5Vf-w-W(-&dVzji^jrVnR5 zlp_>a^yk%sixLRTfQ>JnNA7HWsj)a=L&x^a%F&NOxo_XD&7&y@XT)1sf-s5HZwL*- z^yTJ0sM;nZznFB;o9OFks!fAm(_k45(sZ3B12kZ0@Q*Zqn4p13v$UEN-N~fraIkDr z)8c_(C>c_%Wh-fgm4eyoHk+*g6wFOCshWY=oQx+lDH#aRqQE-LAf(C~&muDm>PV21 z+r>%zfwWqK&;)+HBtlXy>4*8u;RBQ4dj7Cu(hLy*o`ztaIgeJgLVtUW%L2OITPPv9 z4@y9$y5K8+#}kPNUgH9RRESWlJD$u2z(OAEa>o-XUwb>N$X?FT*M79Z&>mT4K=G?8 zutrCkROtNie8~^>8H)8dg|vL|pfAF^1DsU_yTC3)9bUM*mwFva$9cp`;)-YPS_Y(* zo-P#->(2(2beawHFWfw|m#c@Yi9$IW3}mX6yhBX5eM^${ zReh3wQ2VQOfnHAa>qBWW(L0=V$3ptRK%Z;Q(!9@Pq8wtpGMd*%dqZZuofDR@XqS7oyV%pO!$Gz8fWoJ*dB6#|b5< zCmMOQp|*%v$`o3F5MmFA<*6={aLXn%$PQ7*=P-8_aumq}(Fk^5Uy1siYUR9PPhj5Y zVs*)Z^~G3i@z{!J{kFOo3;G-}I;hVd-@k0@v-e%T@}4t0mu-uRvXeEN1c5Wf$cJ2i z>1@^;$jE%-#>aPVzHi%5oJ*EGiDcIA=IaYa>gwVcaN-$aID=*nm8qhs1&VY zwgKW+h$s_RH3RqLKs^U)*}Jo3Jpt~tfl(TaP+$SHL{Ptk`LvS0KmBOhlumoAA)%~# z<(MYO99!14piIn0GN4btiQ^r{r!QK6CS8>V;n8e$AK+dv8At>#ldgw;cK-;U9<9#3 z`IcK7?M>PKu$_-p1SF;+|RE~2Bf{Jo~Xe%mE z)m*id%rT;xQ=O_)l(jeqI6$+SDAGwe&eB?Grm;AMx`7EDgaCSLlJB$~B0~{jL=j0G zC^>u(C7|R-AWxJ8;{dAx7zeDg`-Cd8s<|+KS@fU2Q*VY$i0jgkq1tK6lS{2Et{NSX z)HyAt0NZPoN*U_)cZL^5E$#h(foy-M{g7HqdE2MuOu*ig85_Q!hV`06ehQt9!PX;= zG9R`+N33rq91el!bA$rmpQdLNO{RUS<{%t|mC<~>kC&}lM$RE4E~Ln^VZ==vO}*IQ zm%A;VD&pqCwq9&%-|VJdV&_Gu`3aLdJyLCdHCan|OsYyc;=_ISS%PzatL;dCL$O-q zW}Q;V>B54Xr+tW)=T_PeWCk?8eIDwplB#-h^P#$xoL`V)9cusbENZXopg#|4X)xjd zJ19i-&`uAjYM?0sQJiN(SnWjA9*|`s7<5_?wPR9$#^=;jMC_1NHcAGy>#tzr6%+d_ zSP{g;-ofqIY*L4f77Ukv83*O@UknPF^z;98M|F3}CGs}f>Fu$Q8u?^p%hLR+J0DxM^7d_ubgx}-(ZIA| zE(v?j9vSHU_d?&N?m2nYwimv%(d}Vu7LxOb4B~~*YBC{7GKbiI*PLVVdeso)=2RjS z%FZn&vK4iXtY!&~lf$wuuaJ+(M`cT+Q~7~xmSwF{WGu23nmf~{Ri8T{do_p-9lNFt z_o!p8pGNrbW|sseTb&YOM8$yl$8G+I=i`{+F?6f>7I|(J{Jb)#u=eQOVp|DRvVnHU zsx)eCe_tbPwaSfue(-PAroxb(_Yy;SDHd~OMoO*!Q(2G_RMirkQvu;tYDkC3BI!dZ zQbVW|i+S@4^6#KtNxPZhK$@$8F9*QA(rnJ6)og7SiI=^k&4}W_YYQ3Y- za;yV}0d>a86#DD#e#X{cuR~48%2|QcCJ27U#;5_mJK$#m9A~qoMszh*jPwW8RG?qA zg86z;?j44&-DLev8y8V!A=&{DRDTQ*6>$jVEC4~&CSEvf#u`r%DL~_pVF{(fG*p62 z2PO%`wUOR`gNABMRx4!H*p8_pV4`elpA0wwbcRMMCPmCw1~0pM-hME@v2A(X+m_<8 z+3t3<&zQsW2isB9O}N9}%nYVnK(Hwxk6V(=)axxJ++QEAT zu%Z2GY#=MDYEYjOCg;lo1vwV8Mdp^;?*oEWVjAava57Y^)5Fx$u!o~Wr75@sr&CfD zj}$ell0u-hMyF3XZJI}R!G4-N2yb5^VMia65APlD3k}++oE+LS^}%#m2&= zn!4uvD>Lo+|LlDUbYoYQ;CugTvv$dnEnADfR?C(w$&zh(w^f$BRCz0}<*ITL*_Lfp zxhx}p*;R2MgbGO|MS!pdNJ2tq=+Ja$GD)DbF{BBEz;suILx<^{Lj!Z@VVDF+SVPlI z*`5G@K!Csd-v5&2s!BT0haQ-5z4F!lZ@KSo@4n@Kef<;rd802L-1>02-B2R+P7QCr z=CTFbtW1x+BWR}FIl%t^3fzU!Uv@7aHRE#_pMf}Be`#i&0Ug%ps&tIbq!E?4Dj1W= z*HG{A*_{|UwNA!q`82{=bTeY+5ssq?M4phBKxk)>HH3UxALH}rHBOtZ5}RE*xz%E+ zH&s-K>TL`^bAeO9%tTVxbKeR-r@cgXK(kw6KAMGJfW5BZAQ2eC+6%Mf>!wgrA1Yz4 zGK8HNf6|rSfRDmb*^T>~+O1NtrK5Sfy}q$RB-(z=zWta;TiqSnzAf5j7PFP@E$mBM ze&$)R3P-GQ`}UT0 ze~ZW-s;Q|2<+R{e`N$=+Mgy1rft7B3lkC)BGOO?NGfU3eGN}{M-_HDjC<=3+5mvUD z?qD>~7hw9mxW$W`xqgm`n)}Smk<#T-=BWOJo|#fDlApm$NtvVU36_zQ8BvE^S{FxO zQu~NY;&MgGAomGmb!!wpx0r6L=<8ixf4yvZH#=J@99jtHR-!0B849}vwP@hrtxvA5 zJ$>uJL$^M8Dx6(g8VP=d)w$y*hK5cg+&Wfl@WvPW46 zI?#{02m4xaez zWh|_Pb^KZA(Ga5zaiI@{*ifj;LE0Lgk>md&$M?x`Mt+n0PB|-&x?vi9?TH$+tD1d|e%m)#18uM~5M-l15yx={H0g-CiH|e@QS_B@VbNZ5BG2 z*VWrpN{tPv_{m)R6S~9Fk#;%lT34bf9a*mGTlixP`eeBsOC*8=Up8Blb1L$< z3e4?vYR6?|O-)7jHCW5`N7bdeQl-sTU%Fir>9Q;2_O1r}5I1yq%$gA}-UT;hAjut%Ig4)zu)l}6aL{e`csMiJ5fJs} z_XI@Ue9$MKMOU*BA7OiNkzUi=M;GaHE!gSt18l4mm_RO~1 z)oiJ!t;W&b)>>ulJT%)8p6#nu>(nMA*dqwB_CfIVe=2lscUzV1J}bV-dZ(4?v<_RD zDr?ZnSj!OpAcNPKcQH&o6Jr=H!!Zn_k-4;GYI0s+#pN2Ucf-7Ar9sscWk0TVN^F5P$43-gYjC?R(q@x=C=&DPSeJ@@=||B6F6CCUyQ{9k z<*KObe{wTlFY|TP{0O+0!Tk6R;JyVVyBjzC_=tbm&)lKI=e77&C4RRYH#b*?kt7rg zV{MoVhr(<)tZ%F2TqeEQgqv+GmB9Dsyf7J(X^<|eG3*S5xu5?mYzl>i5(!r1v5L!f z4E#osoCotu<#)7pS4s5c_Tvll-oO6_jI&1Af7x_#GDgF-9qVxn_H`NcWeSL-tsz() zo9lbL+c&gr*0l6_)lWTvKg%xa{DD&s6U7!zg4hHduZY{`TuJmY?X2QOL=Fm+ARgs52dRnG_W! zr_6C-QF=j1pi#}YY~H$~az2OA!5U_RD>Z)m^+4Y;`hrz4w@^AWZ!f=^fB zsz^hlLd@OHVe7g~-s*r0A%t)xl)tLwa6ag*#33e<5uW zO~S$aZ6-ZkYSVv3s8EB}W=@U65YGJ-+b?>yf4lt)_x6`e9(Q#GD4SK5=?zZX z)-(9ox$a(0>~u2nGNYo(;ZSe=e-dv=Ep~^x%&IG4oKCT>cBuQ(7ISLr!)$F^k6lVE zVS!oF0hSoTvhI(0y`j#|hVpWx?p4P_{b5@}sGqYnIOLHkTZ1j3QpeRwb=)COHEcB8 z+Q3eL?$x*faznNTgU!}ZQDL*e21?#nAL<+o(dYS}N?dg?kJT zLyU!6NYN-ut@*maV=EP@f2|eE?^797QgvB{93QOg=${O~Wsv}O0- zAulgg=}eU++n+Ht^-MI~^IUnjEnZ8u*@`lQOlJvr?tQ-0Qf^Ra^a>GnIt`H{iHEnp z-Z$(iVaWXn@_lpewP%%_!=csaU`h4Zp?|PaMMqCkw)nKEkslOK$Q_Ofqvq?6S}mFiyB>F# zytN_jCn9UCW7|~Uf9X_i|E#=<^H!07Q)1AUd&{@KhRf<2VgD#+$(F3Oe*5kpI%8p* z%cZYPM81aaa|X-`qLV0n_w7rtSDo$-+){!|q%s+*RNxW?p2Apx5q8NH2Dw}T$}*A@ z3b_os<#N3uKS5rA|0F=r=TC~fN(Yi&jF3k&uw6Kt;2+R%f0nY}+&YHeGnr~ND?Oe| zi_BkcKRtXjVp6&+>`Rvx?5)Fr?bq0Q^ufcOSV^9Ypl4v>bBsrIGa|Tt)j3;B)cjRS@sm|5y=urRNg#(t;gKi+2XIX23p&rhMM`w zmiJ+qwkqhb*IBhvTw-agv-zx`d67N!{+Sw`yKQ2%_fT%4#i8~b{qTyudvLhhTN@i0 zXjL_wN%e3|iGhBw#3u7FevxtxTa~i%a=Au^n6sMlf6_86l_MFJ0nd+OVENMQcb_A- zh;eW$d_ns{I7kkHB70ZQ^ug|G-0xOZcq+FatEw@T$jV_dG>Groy3K0WuvJxJ9ao7z zA81gNSfF=3^DuJ|diSAY-Fm55B5|Hot1IeiOG-=?6&0Yb_~&i467s{4@oxQz65LWU zP%=}(e=5LZkQ7S^Z#K#sIe&l|AWWtK@{~@H`UQPJiR@Q}I|=zEJn;wqel%U=8}Xgq zfJG}09@v(@^Ai(hd$_sW)8r|W1SRE-NBd*5Z5D|sFuFO(%EhWO?MKYXJ69(?-e#w^ z!da~<@9PP9+u{~OT{J#@Dj_24i75C(Imp$4e~xy0Egh9-#rCt!9pdI@aR;mI^7%B{ zjt<;mL0S!hBo9Q82Ya5zN01!HA2otRuY!YI6z-+zA{Sxd93e55e>hRNEm>M5PIX=! z>F(N@evxJO(KhGPWcgd}3YhGHDr1RPW^EX4clR|rmzrA5;_9LG;ravBT9?7(uk}}& ze?zV^UwpDw6cm@cqaKUTtk#>W)H;20#BKDpx`&4iZEYc0=xA@P(qK}Qm+4A%Mt8lX z{(x5p^0$HfLGgLyMzQV+*qX@BTCLTL+pX2I5H(q*)Pz)6MFeI*V6-c65Qaq<>?F7uCEKlLf``Qz6p zLIc;fw#*OsY8}Qhok3@+ZFfmM;b_p#V0zEb4*WKPy=*9gTDr>-Ql0ht8>_^Qv*lIw zVu(%ENRRbo_#&Gye92bxBDtj(4)dM{oWi1_sVTDe5kpY~3%9{{4@DT~fm26%e@xay z#DBQM?d`ob+P2VNV`-Vn-Z`~>Co9%CT51eFXSuQ}>T|bREk7&fxJd0;6==^IBuaDZ5wc(l=}S*XDSZf+R~x?_4@O>%P)Cjy-wqP= zhlMGs@Q7wpFJwqydbUR+x~AyvOThVON$6&9fAf) zELBTgE_tc7l>DaLf5+=Wfy&B}ZOe7Wa;?VYDpi;*QwX6$LV6r`T#+7SR7{+?o_UI$ zXa7m`eeo;eS0v9%?~%D>?h+)VB%kD8QQoMUQU^5&ZCtmYf1or$(<{b?vX!!x@^j_q zOuw!Cg!!l?XUW;F=RRcrj^pEwEytE~9?~7oJKUf3eAnx&fBBT}p*nf+e0_8H!SI6( zziIqsbFQ_!?OcbbbD%31`&myYepl~-{yPrt3|{{ylkUGt`tN)i_KsZpR@11nkdEx9 z{j{I<(_2W{KS+A-e%eoegz3T2FO7bCKkcXew4e6Ve%ep_X+Q0!{j{I<(_2Z0|JQ!{ zqfM{wr~R~_e|FPYa_rONhH)z-&v;;b1=7a&jpOIW-#>mAr2EDn9Df+nX=={oX-nbw)l9Bn%K?9rX0JI5Y5wsZXc*_zo;UsG|-53c>tbw{szD%p~J zZ0^kb()`aCdj2n@ng5T|;|s5+lBw^fzQ5SA_^HJge-~d|YFX-Enp#>|%0hbA(w$46 zg!ItTL(A9gr~R~__S1gaPy6ZrokZV&hw#e)NASCl1RX^za_!s+FuL=P09z?+-}yW; zAOk=bVxiOprB;BgJI4XG@5BMl>?{L3O7Y_WYmf#?YmkmY7nBB}?dQo`K%q1UZAni1 zP6Xg_f1nwmr4eXl1*oIY1vML?{;dF8p-v;zC-C^r!zc>%{}G@D=tPkgYDS?I!ClZ} z6vcPm2C$dHehLS7o&-2X@kxqLQTzzSk5c?Nz*b7R6)496YN5wgpiFQVaMcQwj|1$d za1c0Y1)2n(r1%jEj|0!`RHAmI+5QbcEwpV%e>#f0C>{sd+kp;&gV0Mm&>{FZ^wo|g zXq_Vz&OrVE8UU^)fvblBYIj}&sDoCM=pf|JK>phS>Hr?4_)&@H#)-#nSivshKYeIE#)j9}sX+Q5`WdF)s_a1Uc9|9Vt3ps3SumHYDIB zf9RaJTfkLnk@)%idqAyXEJ9r8G@Lmn3u)!}u>f8)Fkd7RfFkMla@abAZ!u2LH;KcTq1h<^p) z&BxPG7Uio6?$c77yuL~8<0xJVxZW3_xS^=Nk;=&9WkvZFv@OqrnfArgv=-H=D#Bf~ z{xHRBDSn*dbre5Aa9I)mvZB6}Mfu9SET2Uj3ZoFJhf&I*3ABt-@HvDsXchj}f6*pd zqd7frl?9x@B;==QjR2Iy&d0bng@Iy@HHsQ7W&}|+=n2lamZ7+iXuPdAqf=Lpe_gf zCZQifV;-Fp>K=rvWymF^8^B|(e;^alLz>F5@`n5@QeAN909?;O3CT@TP3)DCr;`yR zUnkz^hg}#WV>{91x z?@}H`<3MTRKX`=5>EHe+`BNDsSNg%OmEzPB&OqH&&f!N)OIsezZ~`T zO{z~`{`G=Q^R+qJJ4flKsAs1rXA896nqYfBjRmW;pEW82-*#T0lIJ){X|GYsoq}5H zw2ZWxqkQCTdAVKIg%-S*WUt6sEXd$5T<`kDmD*XO*9*{wXxA_Je+U_ie82ueKbK38 zrv7k->S>;inycyTj38;6j;9qma`L16a@}XB2W-;Vm4;YV?59_!&hzm5>b7_kgqLNV_Lq-~SvqnyssE5)Dp;k_BKd}r^1hec<5m2q z&j^s0ipNR(SreiVf8q9YVYKmdNKF#!-poh&h`lOUW|w+?gro&6XK7p{Q7tX#IY3u9 z`5A)9utKHVjR1SS+D|Q$r1*m12UkY3%SVEjMs*@*E9~)tv?M_LI7wqxidr=Zc|=1? zP$OR!6lh+1S%j<+M(=L4$Q3k}=jL~rgWh7y=PZ}e7|he)f2;*>J^^{Wo$_9jqVwg7 zFjwq)_nXaQd9Qrqxr|tDv@mjVMJol~-n2?at+w$Fo0xEeaY+QrU^#(n73X5XR~}P(LM%k=^wT zM`yGZ!DqaAe;(i1wusDnduDU6c1@9v7U(RqvM0`5DdU^aqtQ1_+vRItJ-YcXi*9+{ zU*39!t`XCh$(`qGccryEYIbL$ybb*{-e+hpi-qe{k%y4D#ak!`)OKfBp6fZvOG=oj zHVU>ZjwQSegM!6#bd;8i2dRG%?s2)%Ko_5U724p3; zDrhEE#K8iEq|aTwoPZkhMRUjco5W*2@-I*c@-trRo+zFKiWwSluD-VB*M9j~W>-J? znQT`_#W7`Xs~n9LyshR0xvxIwCf~rK*@E;rVMV!4$L|W|fRq={=)bQAxs2}Q0(m9T&F$QoLu4ibB z>qQ*BCRc}`{xHxYZ4>AS?IQuy#%awlN_z-$2jMdz)FUl=AZHS;3EoGeAm86GwBmOP z1Hzohb2=OAP)Et{Ph)d ze>X-U&&ya5wY|EVrscb}c==)i?4g<)p;x>$dg#>zwG}D#3$`4ia$Mf)H1)&;trepZ zj~6_omwGSHecn6yK1PZ-;rk=DE#@Wf)!dtm5uQrEd{VIVm3kpsk5QcvzQzkZzY*oY zXSr~wKFUojr?{caYG!?NEyeX@vTK=ae{wyYSq*Tpl@)F*y|lcZI^rsmRg-4Z3dH@nT>UBC9{;C=jJnOn_1F^BjiI7&O<(;er_zevbN0iCs*e) z^CuzqU}kxh>)%+&k)9@&(>ZRXn9gD*%N6KhyB7G{Au4YpqSc``tvotDe>72`PSqOECeNf-m$;F|Mc|#Q*;pV>m*+mS zy0Xc6(>1(Zi>d>KH{+If1ES4rDz}~my@3&SJ0Q&qwA!c!ylLoVJ#~s$Ih%%F7cys7 zS2D?kz1mCissi@|aWc>qf546PHE`pF6cLluSx&92?bRp@t<_DTIxz?k1pO?h=hDD) zK&2wCwwPI2$xsInRPE>Hk~!ctvs!TVyb-+1>+5T+!C-1Na3*~+y_Q-?Cj*)6QjlB) zq2{&1pr`@!Qn$zv#t50KkK(J1zP}f043Ziz5;dR5fJ{U+sne+ye;Aom-FwG5QRSYI zu2PK>H{Bkn81TqsHgRa1$(45Q6!DwA2N=ed4 zllQZ?E(KvInagG7(@EkV3z_+iQ(%!K9}vNX)qBCUVfmznF7do>rZgwBfS&Tv9SaaUeT9Fx)!^y(ESb!xI7M74o>m6kKrQ{jtG8 z+Er{4xF4hZ^^A*q%f4(aas%J1ZFy!arv7uOBg0>m~ zDr2;oz}<9zf@VQ~G5FszF)%Vr#ON6ro*08mKS((?QD{0nFrM&pv9W=1qLALP5grP7^JM7$iR@)o={{u+ZDJMd zMoz%>e=Bq+l`qeqrZ4cPriRwj%M17(TfGtove+iL~tkd~;wTvIZf5svjKVwioOP^aK zG=%5H5!$gs?W_I6P(uchLx;pWJ4i#GvL0f77-kUr5rhti#e;Co@rTs;e>?CGb?t0V z3=NNkLI|DX=^&&;h*@UV5JUQ6-it8vKIRjMW$tF~2K*l89>DKq?gjjl%zc30&-@JV zf1fkI0sLQB9m1@h)gzWIWqSedV-Ep7$i5Tso7kHW!@i6C72vP4mjK@q{o!lUILU$W=hT=w&Z$63Bn4wLWNj`THyt} zMiBwLLGc;D|3dKy;EyVv1^mm3=K%kz;_m>zpty(_#S4m;0e?mD6Ucv6@e9Czf2nvK z@Lwx_4fsDR{u%J!DEt0OuTfuzusW$uB1S!@2Cb@ZP~V6|>UXN20Q^bymmvRH^;Z$AeqQ}u$oZc7 zdw~BB%>{%t7d8JIv6`1PuOLSAe78BEi=fWT)2W?ao_Vur=s^ z3^YF>1Dnc@$UyV5qq1uNPs-*2F3Q#bo|bI_yg~L3D7{H`7U0dYn<3}jf3kN2ev9lJ z;J3-n1O6V_9e{rTY)Y*83&C~_Sj`8xUl9bIhZG@d7m!-K zXxj*|OjQPYE?1QUZX)^@`%9a$-PLML8HLkP)IS_Z3=%t;cFEBhCs}mOl4QGl0p}S?G#Q>f4D;7Efl_o!Vge* z7lrqdn{N043Ll~H8452@_-zVbrtmca8HU0G6i!ii;?&7gCz*Frc#gvNQ+OAJ_fhyD zg%4BsIEBwp_&klZdeElfcfjPJ*)q_X33O8lwz7a-Z2tlI7@;?TV)%p!0Bk1ycU)oc zE%H4c8GOpYhm_zCe`@ef1RPX>KiR=Iz#otsd0^$~h5cqN@_{ea!F(B{Pr`>$1T~;W z)P$m_8MVMJpbfRZ0nN9X$H1tNzNJqsjF^Ax^W9j6P1uW@@fe=NS$s485PkqZhQEye z4|`VwXH&KIpS8}1kJ)>lGiT1l_$CQW$X8;LqzO$@Ns}aLf085#Nv_Z|X$;AgT(9d& za$UFUO5RD5S6*DX!j)XPl3P;A>y^Ay*Ofc_{jX=QbLN~ggPAd7W@7E%e?4ohz1G@m zuk}3twf4u^XO}oAPDm*OvaxINQ@~)En57oGx48Fu zyq?ol`c)ZHe`Rcy+^V&zPOrKKvqSy3mT_I;ddCfn8xc1vZc*H3qpH!tNHO{unZ|5m zv5{kJGIkq>z~^o=Xf`q1ncdC4X1Y1X%rs}4i_IK!leybGWae6KD`+*b)PD>0wbHFI zR;D%ET5RQ5o2=c|AuHGC_62=SeC>SQeSLlDzA?T`f8T81VqcDLlW({0kS`ZJ9rQQx zxAS-R_w}dy$M`e-v;B+xIsQ%l-Tp(Qe(xk0lE|mxLdU@x@6C#if83Je>K`owoJxBZ zYPlsMCv@nOh7ob>|7>eS+>7{u==hh}taITbeU%gy7uLS$xZfQePpBRpZ`v<9-fVDm zy!kMyeM?`sSw;qj--!?Wn-e(raz38Xfu$C6Eh)&Ml zes^d&T+1n1F4S_3mb)r)6Q_bv;kU<*K)3wtF%1BfBB^ybmTp{H}9#hWwMt2xtyAnYJiWL z>eOLcW^4I|mRk$Wy$Uvck@xEJxVK@HEs1+O z#>96lKKU(+#NTI=6~jkWBm zr9Ovrtqt|d`p^Yh{^-a@`e->{ z%OiZ&jj0!|@cQ!|u2D3eGANs7(L7p2e{axAT0qK@e0q1ZMo-S+xWSs)vJkCva%sDHR=4)qIgZTGy_%u5I%ABMo3zxe zd#;6+TF;)-+Wy?<1??%biIx+!T)}zbu)hh`Gwsx`#j!r`O9OCSta~MMvm>9^qx!sN zgDJJN)T8u*Zs!XtwAA{TmFdW-e?cw#7iP0lb*rapE6LV6k$swTccuxHNz-XI&8Nk* zjB;o#ZK7?ooA%QoI!d{8TDXNFf}*ZyB9cTqku184RMA%q5b0vL7$YW#Ofg-|7W2ho zu}tKMwPKUlCU%Sc;*dBha>Z%smWB+)&>@HKCHcZnkpSIeOf76FJ@c#QftPqb>Ga@_A^&A(SPXr z=joC9jkc%XXuFud*pa{0cKTaAvn}YMrPicZ^?AH{*pUmhy}YLF?6pIVT%^-q@2I72 z-(o!n{jQysI(><5_wV(2fBs(g&r&^C{Xx%kf6#XIMusE**g;EekIVXMxy6xx8tTa9 z+Rm2i`rg#z^`^G#6`BX$(#L;Gr>~qJZMXl~E!u8ZwTy{(jftm4t>wh35z+B?mK3zS z)l0P8?Z|g!beVUX6)f|v?#DHn*Vc^XJcX>W*61@`qkHl_ZL9C;e>vs7QCco7%=X^X zrPk_FYjvr$qoU7y?Y!tVuiaEwZU3dUa-HU{b$S)CZfA6_zn>Hl$M$}oBE%zBobRW_ z#0SL02gk&R#>7X&#K*+M$H&Ac#Kb4Y#3#qZGh*VIG4ZUJ_>7qN?3nnxnE1k&_@bEj z(wO-2n0QW1d`(Pze{D>BLri>2Og!d_;r-n)@x3we12OSKG4UfY@#8V^6EX4JnD~z| z@sly}Q!(+=G4Z_U_`$;zy$6 zds3py?^zTb-K`r*sCIf7A9HC8IR5sN+*{T+z-lKey9YO25K7R_V^UB(C(%(taLn^-^I>7L{vx zX&tY8T+z-lKesa%GE>8X?Rh9WAb)nWpHLfzR!2&EwX?4*&fvnh$g?a)DU`u{&^_-Y z_t{V-!~4RvX+Q6ztKJR!m2T$CcadjVbjNzt9s0!Fe}yfg2lD4fdwEDk_|Knji_6cI zY@8LhL$B(wUa6TOvai}Y;MI5A{C#%4qRt)_)s>Y^6w$IPF?$uq!NNW{+k8-@-byXC z=2U2>zJ$wP!@cA#xk6pZt_LqU^u^wMzl@J`>599s{4W*G^cP2OU5xJM#XbdByP=f4 zNoBbbe=e-J8TX`GLa_rS*a@=CL zv$gKRI(vb=-Cn?(i`Oc1^WJ% zaLVYY{X+{&y--fI&i1I5+nx(})LwQ?yRF?1f1x@~O5O@vp_j9l{qWqQpWzR*2XZW8 z_P&t!675jCYC5taxQfVC`K~C}&ZT98b_4c*);3tWe09d7d}@!jyFqrl5JxMni+IX+ z0o#Wj8LgfM#XkE->XHI^qjD7%x=_x3vxxaVEY+hHYJr8>U`2ApnFkfuIDAtE?MSf) zf7vNzQ+Me&dr*0|pvce4Dv{IgGoz=UW@IIB%SgimTMV_GM1L@v-zw$5%W# z`rU{e_DA#k63k*3ay~@+J`J`0968l<=Top($@X%d)>8DfsD1UNwdnafdtG_A;KDik z8T%RK7b$Oq)`v~c{J>YeE?qkp^Z1{Y$5AVvvsc-x*dKO= z{VSYYDui4w*nifsoKSfO7lX5p*&oCIxR|9rR-044_@#fYj{D-%aOfNM{~nd&XSd=% zlPl~#L*e;iOO@xnhVpTaEfwF2!Zui<(wAI$Ir}ReNQ~W+_mzWU*Eq@E&T{*Ce>JRv zIlhKZMUQ+3`B$CRu6)~6F`c7P_B{Km&^3nr;m=DK%Ffv(u(xy8Sz)jAis$(0_;Ph0 z&t7Wl_paXZHm#|K&XmIn8-;X&0Ce&+7aTU><;c0@?7gA-4ke4+ zV|vZ-oV^gocf#Azj{Kt~mdql{b}ec*VmoMS4^ih@KwpN0`Vk@iD!S9Be~7KbroN;+ zDL*yb-brlFXMGE-60b!g?~o=In(CyN@|{$BN9opgL0n>a%-CnX9<0bNWaZdCv%l17 zM|E20Dr9bfQsI>1J{_*C>nkvKbM<9qf7PpkE~ZCxOs$Aw@@+2|DvcvnCRcdN3#P{QRq@vD=RRUZ zb9{ZWJ-q5vR`()i#X zjCF~jtDA`4JjdCe>%M6I_dSZ|P-CgSZCarANm_mtX7TXz9eu6n^ro|l*siY@w}-EE zR#Nzl6DO>%an7z+Pep2Ntjk;Jz^T0$XOpVWrcAB}^PcAS*}med)zBD+-h+2iC)tU1 zYTg%ib-rJd%J*#&e>vp%`nPMW3t@Iqd(V1SWq$vv^c{M_xrgNNmC_mK8rd12GcfD< zt{O4!>R4I!!Sk!9Je=m6x!TTj51n&Gna}*iz6Tj~XQGna>x*>7T^F4HI-*kEXEFQAWorqu**@h-Y4<-&bhsFusqx9Gki)!&kxfe`D(HO3Z_0^u(^RJ|DFE zs#%F!9I~Y9;b%AbR~@B#PlnEMjZ-n5x}U;dom8uU#PE!m61xWE^e`)3oPAY77jT5W zR{2mrDXiq*LM<()t`8&c!8muA!}0L-Na@|vs(dbVm5AQSRqrx~Q$Gvc{X_b8dktT4 zNB7lv*l9_he-Bm+r>?CdVsp7~&i;J$qSLDwSJbgC%U@(vTz%6m(^^$nJKH+f!o_(; z|8sTWyIT6mPQ)H(eer2zymH(*FI&gIcKtMBh4rOk^>FNO{NBqaRL;K+m4Fj>^T(qRklyn zZ_T6j=jLDG=#-1r4%M|^)IH?LJAYp}eO2=J`U)Jagzps5MaU9%dyVbITY1>2`ENd5 z9IkZ!PoVPsE5W({>9o*N5&r>N>?4-2T=}|^fBut5>HIrD<@=9;;{At0xKzE8+fe1R zJ>@Fj$d<1w-v3R6ONIUebVu>u&?@*(&y~TI{QoAx{{dQpzEWi?Utg8%KR}fW{|D&a z;{W#-m%Sk0>Ml)Ja+VGM2WZLks$S*e_Y%)!rSjG2vikP)g>d!)^>umv&UTw~<~@)9 zf5$1K|JAvG&Q2=t7E~UW|L;BYv-yHh**W`n#mIXe-@32NJmt9Jed|8_{q~Zq8HS$! zm(0u875)3|oJZ>Kx0j@^RM|?cTXvi9FYYd})j3?$|9Ooszjjm}SJZh>{f9!{sS>W+ zPyJkM(EjBm8!U;lzdO^Oyszx-CH)qwe=4irO_}ubct*i*PELeugvc*+TIG9-=mI$X z?#;Hszd2Akzx=zZ~z4AwXZz<~g45jmB(6aiz=!JHb^ZTOZZ^IYS>F>$RvtNY&I)8O*7E!@(g<-xd?o8I! zj*68+W6Rq)Z^fVSTVdz({j2c-9!Cp01c)G=~Y@r zf1@V+?1LS>jpuArWk`KsqIYbVX!{noKxO_~GkdMoea;$txj+0Yl zmO0*>WIk_BHK&;`nlG6%f6ZCuZ_N4TZ_NeftL8#8$9&sdWxiv6WbQKeo1d8n%tPi^ z=GW#o<}vd-^SJrFdBXfZGuJ$6{$&2!%(JBBwmeofE6y@4%ko(PE5WL1)v^+;I#yk) zzSY2LVqI=sVKuW_SXWv})>T$ZtCiK-y4q@Ib+kHJovmc+I;)Fyf4$Y!y3y)xrC2vx zJ*-|NX#>X3g>ejGlNiS)h&9LN#(1_O55}}Dc`>f-sS3vS8mfx%y_TwBj5|?vjB_%@ zVXS+Sf$_eJOdfL!qdow>8hIba{#Ekx`1_y%Z&N(9U=;XH|5$tse~;LMJfDfr5dMew2mCL@7x2FnU&8-hd{1?t zcR!%cAH|PU7y9>4ss|nX7u6R(iJzzebdjhb8Y`#~bkakKf6&V+)EK&1l`eyRR--1+ z(du+L^fZo|LRSsC0{UuFGw7_3nnQ1EPz&g8O}Y~LTZfXM!*%H@=y3yT30-bNt)S0I z)EYY7lCFkcx1u&mx2dhtZfXbpzJ}UE$2(F7==rrs?<70XHPH9Y)Db$LOxHs1ucJ=T z{VvoQ`hPtof5Qg4(si(d8>ox21(fP8yVLcsh?}S@tRjVOfMwi_^d7PYb%TZUM7Wpi zMK{7yZlUh5mQ=b47IQ15z-oHa&9I!?s0Xa45A{?Qg#35PJE<4!s4v|DTe=G={bWB% zg-zW}x5BQ{s5flu9;Ek|{pmK?*uB&Tb~b=+hppX5e|Ny%2GX6dx%;Uv>~0X<1>1Xo z`oaFv>2BEI5K4m`4yAiwi^Hft?D0{$7dAPZ2EZ;Kqx)c+BWNJ(^KrT#Hae09!A{50 z1F+SnXfW(`96bn|okHm{OJ>nSu-)-A1ok_L9)=A+PeWnHQ|S@d@-!L-dw!7~g-yRi z!(rDmf9WyU_AD9!`(B7rIc5&RZ=3HR4C_YO{pJCbI%Ix>Qpe2ik^h95i##XIlgRUv z`4c@38~-cFpS)upGwe-rg-Jh-9({ZjD-O#owDLC=6Sn$bis zM+=$+_PCNJgF%w$S+K}e$luaxNf}_1R;Z!1)f)M)wywtBc2+xtJ6av-IWSBo$^^@F zM$O4qGCdErxej%9vAWO{u+H`L0+^>O>bcRn5q@{8JC2@WrN9Rhp@v>yqbwNHcFji~ ze{2#AQysn!n+qJ`2P?&6^DtX^sUEf}R3BSaX0B?~23vLJsW|2-gL%qip0cPrHXo&6 z^HUFO@yuKS>V++VzhWGuJFxwN?!;Du`eLieyjF|)VN0aDvDKzDY<0kN_fTE1U4OJf z@m+oT1GWbA2DXOuM{JGgEo_ZxCAP~be+Qdn25iC%csczSwx+ZW+ZD`Q&6v5GiB=d4RcQFmug=%r)uE zH4n+baxe{%56TDWVdkBo@*(*UJ;LlWOg=0hrbn5BhRa9fBlH+E(FkUu$C-&nG7~+) zOf-s_Xf!j?1M&&^1dWlSbnB@D*o0 z%bYdATy4IGl#S+Q_h;gGDBrsjjYBr4LsF^reke$Il@h?rr4|4 z>P4%$)f_2`vu1#^u0mMx)O6;lY0OhEF;C63+E{InqS$Jh)!u54JRPiS5LV2UZCwlI zn#RnP&CE5Gnd?Pnu3s^8&0^-7X5C=jKrdU}z+cmtzouF@fxo7Kf4^?VQF?&Irdd6$ zo-~`eY??L58bq&v$qdD7qJ~@x>krEBKY8rPc&ZbsoKl46nZ~eFRXS&WhU>%@tzU{tU zbffR@zHg|fU-$*3fB9?sYtudchy4#z|3Gq}C*6x<*OcGM<2ZH$S7VZ{D_pI~>uT%j zKz`S=u3QRwnt75a%aiQwOfP!7cyAOhdIxwP7B71r@jfD6^*-tyE*5%6c}I&yac{+~ z7K;sGj1bGLiPk%^wzb*%O!oD??%O7Z`%e2#%Q^lk{_67Ae}2QCD1YO>-#!;UOq9JR;s7@ljfigPaIt0@=V!U=GsfLoNcA>M}|$X9(Divu`<{ zk7`paR2!Xkt^w8qn}30ANZSSMMR*iLXz7Fx=5!TH6ZIkHa43vTAJ<5PG(m##W-rF8Yj&=%zrdSOXTZh`i;rvK*n@4 zUBMh?jx@)D|1!XP3Nw&bVK%}F^AHB|+i5OjjFkv0tTxv%Hfd}%)-rZ# z?7?bI;h?e4JZK&c$B!X?4Dnoq6;4^i&~eLa5yJoro(;9IMr#6AYi;baIsnOtcSF1f z!o7jMR)5AIGk?t*Vhy)OS>qTJ5zjeq}fa%JbqvMsv0MJR%jeBCRvbaz93NB8t!Xojq^1%-M%E# z?`s3u5o6ra*TwAQ>mC|QUoX_D&_|=6anv`!IO!W~W`8k;qArCI2rG<17%(RL#xth- zCM%d3zA20uzUd0#{IigMRz!InN7=cI>AnRDKIj1hdcatLu)->YfqY%@t!3oLHz@eF zAn%q!^Y2jb?e^_cFjxCN*Z5iiX-63+%ykM#JE`EyLmcqC{nZ(Me+@=mV=bex19Pjt znMO;Ec7GZi_jf`*g{}@lI_gjHrz+&@u>TH5Xn&gj4uyOj_77y}xIf(@g^;fLhgtRg zBdr$xvBp0Cgb3XPd_jMPueLuU6!&NOGZeyc*s6a9^f5pGY~-I8-oFt07h1#pORRB> zWg08}s~PM3n-oHP6ViA8R%<3>C&CJQ5LVcaFn?fW`wuea_zx@ij~QG1xu`?)l>d~m zC7uAUu}{H&EZ*?v#v8`x@d2O~;`I@)k8l&9MSN@I?O<&2H8u7rgzPOo*&418j(0=6 zTVe6|9*m{_*^JHcy&1dAbcOi7);30e2iP}=vCB7IA$|zbfqWh_Rw%>|j~^93&YTcG zF@HWYJ{y=BpBb{{5aQ=(%-2|?u~cKZMveo;0r6|%*T-*$+-97NSM5{Si~R}*;tv@o z;*UTcXZd6NXGLbevz9c^pAU|^rGc6_Y}JDLYOntvVm z9DVgQbX(g&xc`nK3>X^%CyX6|6V{x-Ngyx5ZRIekTk939=-hMDe!kqKiHCO~E+jDL+kU>r@zGEOGUFw+${J{xi9f|PHv|o1M=)UQ4%RYu`ws`}8%KjpjFZ6@W;&xa;vKL)!hg9a1d|c( zhIm-Nqt{6h`ngb{zd;y$cq9%he6l@362fx-gz#~?4E`z4bd{pgk#fJv<30+1qkFGP z;q)K4R6TcXgm-zbP`)Pv{uiE8DktHZgzCE=f}iZ}2)`NoLH0@eEq~cZ9{V8OqQd;V zhA2n*-X!*GDc{3;xrO9e$a&^)%27@Ua`+(X`5s3W_Cl`tCwF5$mvLyPoAaFFbNP)b z%l|5)>bXk!D5t`F6xRXx<8b|_(sywB-%!INZuE@!f=lJN{!{t(O(bM(_X?!9u&1h? zaqm)oUL&L|aKDD|k$=1ZhjEoH7Q26q{Aqdj!EfR9z@Ke5L;3_aYLmn5e<8eDg+-F* zb(Nn}lDygQ=ebtG-($CeKi%~h{4IIES8eeAoyTaFYO@N9Bzi)nS81kFlrQ$Uzg0El z{SW6?>Bnt1=WoVm;Z}P+m#doHi&To|BhK?LKCjm}+Pa(`I$&o|!RV(QE%4l<&da0jIeg-&kMJ}u^@;a3)hF&j%2#{k9QVy6 z+@0*D>Wtj#Sc_Fo^vpB7_c?@zx`&Z)^{}7i@Vness-HjSW7T#mJv{L5J>36FKaX%Y z$^8zGR1cNMdw(Cd>J_f}71nKa^hxes@T;hL=(snI)4x=CxaK3Cr{Isu`;PZ=e|in% zH$68h-x)Q}Kj6QqQpB5ff6ntF!ne6TL>`wtUiG>AS{_rC|69)x<>%${v1X{&x*tGF zQ&RTzjYnxzV-NaA3?#quSsUls)lpk-H;<+Y)406NTz|t0>^D%Ybx&e_xSsXldJZRZ zIGIPY7VAJQu4l9IJrA+I?O{!uqDIrZkVkVrhus{Wz`8M?wY{AheR~VnHl6o&<-H!> z`wQ;jRXpy>U%-18D<8J7oBffT-k8J4PhVHLkIz(%_%u}~{N^e}`Op?s!w0G?eNv?= z{1smCn14uTUHWehKgnf}ahqFsrYT#?d!K#Sh^(9U4X4jwOT3k}0^A~Z=KU}Gjd%p7 zEA9HX(!imfK1!GPSVy=Aj(dl)&tY!WanD9RcXjk6W#eL~@?mAGS!Zs5zg*Rce*Ofy z-IB+Bu_pmXG1!hw@8eu2+9^J&(w)Of$G*r@{C~5UTQ$Lxs#t>k37*j$9?fG~6XCA* zCgu%4>#Cnq_Hx;g+^UgW>KQKejHrs@h2OEh zeSgM1`55PH&Uub;4|ioWvg*vuFlDOnn%ADk5@zPpWku+DE~H(8l%QurAq^q7D20faZCQm{+-Nq zDV(0g{_nVjS8@8)toaLhl=m|Ow`0Bio_||)7w^5DHSKLa>)Vx%d5=1fURihPRKog(s8V+#9`o=mI}EM;ZvmEMj+`03?QJ+5wbqeM1P}&maR29 z0LdCE+)edwM7)F2CN29y_6G(5LxADHD5Q^roCsvDMgq*4OW%K!{HpN1<(P`%# zU_P)2z|0_*133uyW(X~v@S1Qqw9mnMou+2nZIHXpP(C^yDnoKFa6s=n6tiEIIZ`04 zKpxRXs1^9dyz;MKy!F3)!hZu^m4oeJ{On(~Eud?-PT2(PO;B}fw)KiN*ZL1@m-Vr= z$NI$DXMM`~p+huS=SMx%)YabA!8O&D?fTAj-1WWdgr|q6r?-u_t+$=Gy|0Rktq&q=^}X*~@7w6x6lfl35k5XY$Df}8=&MtC0NLSTuO3ddxuHXDFqIo4;09B{CXbeq+_RXUCw1igB8rnoVXfGY4qx2)xvwyk>iu$6p=q6G{Kanm* zh;brAOc!&+La`DviA(0lHFCY&EVqFVrQ9la$~|&FLhI#Tq#ZzLm0T5e9SF^kv*l{un5$IHnmy$Yd`GE1(MGY}dghs&8@a484K zF>;E01ED1{O@B_1=?Kl2gXAd8A*$x?a;WTs&}^A12g*ATnkie$zLh z6huUF3zj57$e3bB@O40E{E~Epc7;UQc`eUW1TZs=@s+}Rl2K%^5t4}y(l*;-!(FCF6YEi+#NYQP=!5PynW%X zQ!R0K^c+_{w|uGcs~%QuuG&zoSiLhnqe_RkANQPdA<4Zt_xI1-dvg;JGl+-`q)2%*#k@3PN+C@#Mw%i;LIzXxYOYj_} z)IsUgmymgF8c#8LDWw%sGsS9(<`l2DOS|arHiG*p9g>dFMWX{Dxme=&3I@@LG=GA|tO~hGuBNfAo<^_fG{W&1xG*y!*`ttk*<%si z_sR$4b{b_ndau<~w`<3P?2+LAbPV{?(f^BL{S8t6X7OEQ$Ml;-^KR_sb!$rjcXPd< z`ChG#YsAr3bnEi~2ZE;+cnx+-eogqtS_QOS#}NF2A}v!c0ACDz3h)VllYan@LH{Fo zssbJc9EYc`0lx+C-vDQ#+%XsxcsFdXF&VHHa4f-BjB>KZV(9Q8?TDRqFTk+coas>^7$p8U74qztGdR~PWHz&8VqL9UUA-Ms3V zDtMPTAb%=fbd+jidBxH9AAkCOmRpj z3op%a7l=h-Da{sE&`fu&*dSVIX0n||rWK-1>=%b<&U;*Rip;FZntv(1Vb3mZn9qQY z`N_>!sP;VMJ@!QGd7rZ87(5D#Q=kam*(Epv{P%;t3ve*&aAgz0*RE9JsT-VDu8n}@ zfVF^V&&#c7u^BuMRcdHG=T>K_6rI&ZwUNf{W$N=nR)41cOsK{vqeeK42}YfW8s9a( zCz8fwV}?i@4aOXCyMOVN@e?t`SZXwjuNnW#I4`RD-r9Gd7}xiYeLohpId9~&i3fAt zxk2$gD&tO(rj@i1W#R#v3)G9J#bEI)UE|2w|5c2q7I;Z~o7!=`_ztz?CNV+0Ms|OY ztp1+(uILc|DjpLb(Q4xfaZy|mPfD`XUpzzcb+On)G4(z18-M8osZ)HaPE{YJD6vlc z6~(R{>g$rC?pNQHoa$-yV<}&~=ujk|Bkd@X3bjSr4yj1nrM)iIXm4n5NE5WZ+B?$y z+WWdDJ)}GJfb=sxrpKjqdQyK%TJLbTvYv0}yL>$R#E@BS)|&O^6mz;c%RbqI6Ffv; zP4sGWoqyS4ZZfx;JIvkYUh{z2ZXPu|%v0uB^SpV9&%}88c-$U8aZV@x#hxhgPWPnD zGEYCV!!y7$*i%aQNVCc_+EZ!Pd&YWdJawK)o~fQ0X0@k*Wc>o_{XS1y8qEcr|a1*YpOxac|n&-#gGd z#5>$O%BGZi$9U?zJJHika5CkchI15iy$h@}65eLdVWOX)r)x>( z25+m!@7?0v?%m~W^X~T^vQ9X7&v?(7BP_^v^Ir5`W{de`pW*TQ@_b&i-WT>I2p0QF zJb$aMfrETQdtos{uAOg$ugq8BIdKiF0<8AcdgBD^0c(9zeA7Xh+!4Ja(^Gc+wb>By@!aNFk5`5V1JFv{uEgNxWAu&fVt43_y_w-%^fxzY2%{_ zR{F=9_1C}}f8BL(l7FfPX8YNKL0^qng6h-+keb|g8YYk(tny;-`_>KE>MZx?0;zi z!FWImjEa%D-h%sC&*uefAX!SP*wttvaf$f1^-sV6XTQ#tseZXG>|Abcr4*8dOn*7~t z$-oh|YT!8V&cK<#xxmH1<)9oif_Xu2FwAxcCfE+aVpwcBS!rjmgz?}Y;6u6feS?A{ zJSWHkj2E*7{Qb~J2EiJ_zmH4jw(#WvuVS2|jrU@(ELcHpR2i%?TY}ZWT7Pd&us%2? zI6XMazb)8kd6C!TUJ#texYZ*pzal#I6pmEEh3qrI#ldC4mF9uq>fk!>K#p3$7LE_W zO~I|f9l=Jne{i?O$q_8Lmt#e6lNHT?9|*SlyuqWv4z|D57Qs`Db7UiF6hne%gXh`) z!AoraU{6R5^$EE{{!kQsq<`M(ccD}k-tVgYIUag1a^wjO2n`OEdS--1hDLk*S3NmY z85$d^3Dt!r;ptR<8kzyT0r(u?^Rsh>n!Jb1>d+F3v|XX)6!%7lRuO(Uw8nFSeK@q9 zeK@qy?&*k5miLA>dya*+g?9Q=p*>bCvU;?yirdt(b7)`2&Y^>By?@Z*&@pp*h$H8O z&}pkjTOP}`BRXp5JH;Mo)taMysLP70**aTM#f~u0jd~F2X2lSz-9s0y$`5t3%&=gY zVJ(~!Hp9ViJe>Be4)^!9ga?L)golSmh0DWZ!sEgdh%zcXF+9e8IypSecOX17JUcu$ zydbM`|PWktvbsky(+($h=@Z z2tkEiRDsnb* zK5{A26IG*qLjI^byg%F;>J#-xqoF9{(NwfwbO2dKiw+K((bDM1=;&x=bZoT78ey%m zELs)%Ij0IzHYmAPiWBp?TV?$!YeFv;rgf(8rM)~)}%EN;D zyZ3TzjM)(z7o*XcXA7Y&%YUe+ctc$@iZzB#$0mB_$0qxidymJa#b$CZj?IqEjV*{R ziY<+lWBad0fb7T|JH*jAb_CHFQ95>i+Uv8UbgVOWCU!1%F?KmF zXUDy`5zmWzVv&J2YsACal8fmQ0 z>P_*Acz;zm9j}hp#_I`AiPy7t`C4o`pl@}2x_@VUR=kmX9{ngjFTOB*Jia)-EWXl) ztK;k9E%8n9t??c4-SNHQGtAF(DsJESfp~lTXuKnSDtFT*2~p6^{VSm*auQ}DXv26So#=1l0~13cwN|SIwr3zLhJ%aSXTtCQ=JEy+#E zt;rq9-O0Vl1IhN}Q63|LGLI3-j^wH2S+mMJgl6LhljqHfFd>sApd)#q*+6Kb}XW2BZcPUdnjzKx!o6qbcvcR3&?FYHX^;bAK#V zm+i@cBdJN|%GA`<4C;NUR0DbSLTk>zeIzx9`v|X1XdIzcKx)2CZ%Qq(=rl8D`f|oo zs~D#_M%LUQwT9zQYCYl)%?(KBjo#s*0l+sip4!GUgw#%Jj7#lF?Mv-U9ZVe#9R~dv z(^Dsap9bEQx{&JjsD+|X^VAjQ0Dm_b=T%Z+urTf&Q%Q*;RN8Dfln-)TsVzq zCWSM-i+ILci1kk4+`H7GA^c05PfxgvgiieS^ z^sJ~mvN+x7-GgVIOS9qCi)v+48c zOX;4_X?u-aR-_j7Vape}S)U?*QM4#k)X!ewT5DUZYOhOErPUL;+@dCX zHO+J51C}SVCPhmu54@^L(emsF$!$k;S|b;&vSJ!XjG{Hx`r3+1+?NY?@z_zc-hvjz zDy3+nXIo->(dMFUMSnXj58+XRD0_z`m z-W_$>kSPb0)7YOr4<7z?Vz^Cdr>A@Pyo0qjd*vhSyN0aYSG9>Hh&Y}OqNf+Fa+yN7 zMaS<9T>6!>&}Y4!m-lI1R*75|_K&+~5@ z@+IC4mK&I&R)2!h07@4q7eVQ|@)3TYWy%3ic7SIQD9xZO0;L|5YEbH#;)pZuSYgZg z1m|9lfpa!~NB#t7nUA5w+4xnO<+L%yF$lTZK-mn*VNfOn=eGfYOe7O^1Zl&}t9x8r0>m zI+sgie~=Ede5zeH<TokC}k|;$^yW((4-Z$ z+W~L?7=M!IfN~H|mqPOjl-q&&R=~nxNRT1F+p0C>U$!m4?OVzebtpd?@Uqt3Gh#NDzr48{lc38 zf~}z}f!}U{FD*g6UWR3=QTLb8*8AZP!tn@|cqiKH64z9{6?JUmdMU>trvq}1b1uhQ zuyYP1l(IhR-?0wrN657Z*2sZ1>R6icH5)frzHL3CJ3_Yg7=Ir;L6zT3GWi^vtU!|j z(0_jdyG2mbdhokI-wpa-Kre-ThB;19uE*7_jB~A3p_~JiUYy(}x+#KZWK8Kwkv<1;~7h zDbhR06~wuh2Uxy(61E*_^=_+gq7)gNXMZ540W$B0=DJm1JRN6w1@K>6obc)jhUy9E zUjdtc3Yj_JyuiQl%B#^L^$e+w+>T9bJ;%!oDgLk*4c3Z?e!Jr+^TUSUWp7d6gBP8$ z`iu5IaMGV7$giWP9E8l>pe*92%2LaR`JD#!8~l5?<3ng=>cto%So4!8eU5|s!hcCf z7LMP+pSeejLn(EzWDxKSysHj%EJ194jDJy=+t6nXK8?oKm)X~H< zO5wM!+Tb&90M` zP`MNQNtI7+wK#GaM=Y8H`9EbjTB(Jj*PrB;BFP+4PjFOG8kI?mqun24ep%wORGIx* zmJkgd2mg5Z`4cGp0hIm(>UB3tF_}lX8$4c)x{l+huNT(X!5%A(hx`^x8piQC{0OP1sSEs3w97f}9e>I<)IT#0e<(wV@1n#q=L3$XKPSpEe_epS7Q2zftZ&N0j@*uvw$`2hTU9JC7I{k9+AJ+SqN zEm6m}8Cp1=US=PbA46GPX!rBzFLywzTGV0@YEcXQC-b=yM+e?2n}3X4w_%2pwqhV` z`zq%m@1mZo{0&2C2-A(J?2Uae3L8^dn!cGm(>ad&g^oF!;{&GX&!MM$z!a^Wr5S?d zYmabEwLFe&dKB}dlcMt|xEdQ${``y^t5f#~-(dR7^FSsARl8!(UKgVDriXZm2aX*AjO z^`gGi-yLTer|=;0ZGgMsU4M%Z_u3$H6w8zYh#s8^ zzr`3p-cDr`Bw!}Pa;O)xcS+2t79!5HLP9>YYDK^MB`EKL@=H+O1Z5;BZ-O!&qd<$o zZ@6~h>3F=2XRSMmt&xJC%Ej=9=NMPN0sbiZX&2s$RXMM8jQf`qh0I~dHH@Dsn1iXm zz#Pe%b$~|$kAH%ZLb3YJXYlQA$p6ghm9WVl)Iod(Rbj3E0NvK2zyBMat_7tG^Su;D z9%&PL$9U9n6Voa3@VNOPB#%Q`<1w>pVV%V}wA!D6cUyhje#+KZ2g;|=ty%e7#-ZCs zkhT=kUO=yJ!N}zXamVa&W^h4PH3E1#MYb<~#Oob<$ zWZZEFaN+2L4=9+=vsRx#lYi&fCAD$6%5x|eD>!8o#yCc(haHDVj?A@F z9|q5DT#EV(>n_LqZ8jqLWX#8MFgKfwnVui3NI!7d znt!dKM8l%6WP)7BJ0b0DtUFpU=geasnsajLCi1pJtAqAjaV`2COPgk|iPmwwaBe?> zy3E15+7(Qvk^w%OhftRsXt>fUmvP5yklDj;TGQIuTB{PS z-eckLsMXd8V#RjohIir#M=gMtX#5s_6@TlaeI0d)V!XSDPp8TgRqodfD!=(R5iy|z zaka$iQNi9-~`Vy2==zqDd zVAMm8lU~4nMGJNnzM=kF@V6i87{}8Sh#_wxDpqK$Gj>SS3fR^}w3iTt1|cF%vT#_b z4m#)H^yA0y)gHjZfUSUSDE+&LjWZFYkAVJj#QBqm^FK#fucKGK4y`UYe#kMCPch4H zV;=r3%v#@uZ3R61RYcSl=#TMKYJahI(kvYyA<7b@3dSjNJ_rw7iwMjT+OST!4|Oyw z+-iN)Cobe>7Q$4`|fL0`udH46I6_6)ZMus$>X z$Z5=^1b;_^AU&0>5&j=R`3&FJc;Cw97>N;bGAzeupjQb#WiIKz6teJNb29Z|FNmtDx_|B!uhBI|yhqo4;tX9?+B;;wZ|a45kr=DrqTeFM>$mB* ziE8~n=>x>K^?~|8@g04LK158=OZ8H5zdl?aE^76A^m6fle!pHT9@OjfI=pu+$d2_{ zXN=E?bK;`7Oj9~T%9FfOSR9uUQn6IRZ}&Mo__mc<6gUQcE;@z^b{LY!QRh}drwcjrb@!QWz0ro%^;8gMR{N(`0eX7iBSgd42 zfbWBT2gY14;0k^d*MDK*0SC?Tv^N-c)bYu5HK9^}ar9H~C488=l1h2WF($KKcKn2K zT1A#)f0%e2k2>xlxXMw@V?AUZRX8&IT>eLb9_3pE??((Dtng}jj>AE4k1~;0uL^&C zVWz_GCH*&L9p+tsPx$v8Pm#>W6l*3n8mnf`+XOgO;WxkkUVq`QH9VuNCKyqc@Cc}^ zL}cK1wSKL<#5yQ165OXeOYocg_N#gt64tWy9Nz=Jk#kAk#~L;bozuz`f)6OXU$jBt z?{NGDu!|wh_IY=%P2mybcEDPNR}&4&uTTpvx)lCyic9%t^oqEUr5uU+kI;?h zj3vfT``*!aP=DV$`<|s9a?AhSv)eR>y@E5^58{mWceP#G8`5%|&R&Vr*=un+`w&iN ze~8oBC!J6A@yerc=K2WET>lPdu78g+*B|1{^~ZeXS_$)+Yo#BbxmIrFGuO&MK69e_&l({dz?r+;Cukl5@9vK?GR-BV(UeoT(r+?n0{-38)_TP5@>a7Fi$qQPv>+jil zGhg=08+Ss|?#Q3{`#L+{;Lm^U-hJ)gT<@FRGj_RNeqOm{ zr!TtyRlTz7@p=Ac_qDt+_E)GGx9^#_oaux3K6Qp?X5MV}mAtum3$o+2^{wi>X0}SB0y}Rqd*E)w`zf--z>^e|qld-ZAKN+VXn3YZjGd z$7xsN)iQdY&vPwwEp{!tp)GFao6E23+kamaudaV?+sL(&zk}^+$>`0tb!~EO&9+sq z4(`v7L$JpV*KSU|<636i%sk(F^?TT^4%aDs{W@zr#n-R1$J?xNmcNC4{rJY;#YS6X zlFjdqx-n+B`?&|W2fIt%Bi*A>&P|fL(mj?FVp)b(BF1qwB}N z%zT9Y&L4H{y?1UieS62}%vgE-xO%hs$Mx-L_pRRYh{pELFV7!y!`znc z`Q!2@Y<*YU`l|Rfb4HfSiR;X=mgcYM?Za%Z?D=t~|7GUJwm$jI`G0G9oXFph z-`d;nnZ6}|JNLir{QMR2Uj43@O>*=1^Owmf?~$whD?2{*ew#ltcV?ZB=Xdtn;!OUz zOnm3>nD^Sv)|tO+o;@GR*wM^0z1Orc`$uN3%K5@(!YnpR7^l@=J$Arq_!OLUAD><$ zd;ssJVjt45C=4BM@vf=kEq~s}b5sMbW?VhVxOx)!%sUSA7#Sz8!aVvH*>#&zJj zg+B-UIq(2ifU9`VUd21h@-WC5#<&Jt1MYZBpT^}flv{v5&d^Z}SON`8AbBJtkA$>c zkhTl-M?ilB(q0Dt%P1Xm6?FAI;O|*lLGp{>d=V1<3<-a>>H;0U0)PImK-;^Z?On(V zi>cLCO_@`>3(yN5FL+jhXC?Cf81x^5|4o$gCU|7<$l$pZJh!4=I_jl^|3mP92%aYJ zG(p43u=Zrs7jy^cjyr+h3Hci!e*@^}K|c>UUxl2nf~N{RRVZsQ%32J3BJhcf_d$#F zLF+rmG2JF9Ti%{zt+8DEL1D|3|=|1pXv=CV^)X=(|D3{(rgh3Gh#V{{{G8fTM3J z=$mRe@|J@>1N0eaL3p(Wuht+_gG}vR;O`et`&J(q5mDw{|@lq3;uh-{|xw_ z0p19_5jgs|iaxIV4sw2H^<{2H#cI>n!Sg!k&%&P1BJUN@uK@oO@IRqk=%86T3;;d= zJYNUT*CA&GSPUV1a)D zz8d&y@Qeq~c;Jw%K(Y!R6+HHibB*BdZAiv<`1^U+?5F)uG>XCEN%52zB3kJhCf=s2 zRJKEA0~_)Pw4~VkCdbfO7JF@k&unX@9j?CtAcNu~qC4yTx8{fN~ra z9paQYE6!88Bzh!O>La-&KRw?qMWvL~PZ}T%mP)0O(rBqt8Y|UEbk|mbMX{uT|12l1LZHB}2PbZ&?*nfIUWzmHmR-8}^D<3_)dbcH#HCTv+jT=f%5r;4VTqZ!5X%W2{lrt6^69JUY{iI%86{_Pw3iiY$w)( zZDZ?iOf_bZFD@_|v~x&vjQM2Yxki(*L_1?FH&z*IjP=@5W23Rz*apugKYulL8hgka z2WeZ3ea1oKuwG&ugAErLCydi71>5tsMN!IoG+s_8-fl8S7aso_DoPZNIXu zz`o^NG++fE;X_{o4O#?`zwHtWk$UdsBTsimpK zEK8$hQ_H5VO{wO!Y;@U_(nx6x@0tJ1bMJF+Zo&;o`0(}K-#PPr=6}qYIWzM-&wQ-* z?ew(!_W0_2th2rbPlvD3*Tnzkgmu0a{G%4R{H(+N zG=FBoNdHKGjz7$FGEb9#rT-cKI{ya$ zx`grmP5v$Z7x`c8e}Bol(9g2<@AALwf5rc*|A4Q}|Azlf7260~-S`0Draywg+~w?(F1V%Ldeq zw=A$bus5(Tu)kXiUYn2uK>c_pD+nA698zs3a5$jbkZtF_An;D$Xy91jMBr4A6#qd_ zFo<&4Eu8zu;Lu>I(#l|lw}ji|R6vVvcfqV+b}%;!J^=l zU}&8Qb_6>UWun*9nV6I~j7O8q z#F2?Ps{ccutJ?0c#Joh^UYYO2@w&INmiig0~3Rb!TNG?X|Fv zL7ZCPjlf%w%L@n%VkIo*6Vwj-T+msCn7a}42CVcc!OEJk@W&iNw81_Sd3ivs2>ws& z)o=*?NPq7)0n{V34{q?!RAtjcly4)Gh|gEcsER(J=D>z%G;sw}{r3d=3PhcNqj z9M1&#pg9`+yVYJp@uG?&rXy7gID{l!lTE&AAI7_8-H@U)7C9c#(nhKjP$-4ZGE(a! z3czPBRua7kj2#Tjn_7J~1@>&NM-wOPkk^gr{_*#|Sy9>Fr1Ahbg{sw8&6;42Q5D|9P@Bz*|Q z+JAY^gQi`nyMn#}8U7x8&Ol3h8>te3_3oLIurC4rM^J7C=TF0D9`Lt-e+m3^r1~~w zbtPi{LAOJM9s>XCv9n6Qdn?0p=P;Dw4TPe;)R}#ZXCoEfe2CXT^C3_htKY-H{yzNg zM$E5kZb2sxCG|Vz=>G)&OJRQ!sS3fv4S&e%#|XW}x0PYGf8!OVd(4h_nY)Ds}p@^)mG0E#SuyT8PkB!Dj_>|A|?b8d@uAJ%56g zn{)L#Ur^o;`yUWfw+ggCSJ&wd)P)M&2nxSNUV26FUSn6(b|cP8-Q$5~Cpbv~zDKWY zMLSFbhBnDdz)u3wmV?eD)YNs5;Umc9n~3uy?4|0IN>>Kz;sE-k6Q*{QhQ6g+DRKu7 z^7D{G4gAw(KI8ABrcl3D0x;xk)qf-YNWF&-adaL13w*XB^jXs~6+d?%bO&NS09iEy zuK+GU%$9JeiHFV!Cnn~RQK2@%NuC(Xi?%_@OB%DEmo3x7vQ4q~bZ!jdxgOkq?A49@? zJ7p9yPnxniz?nXR)+iHyl&%BR)yc3doH9bVQ)Vtln&T$T@o*j4GK(3w`OkQKjrw0>tFsc{Rv`J@M43)$7 zo6az&7db?i0Ej?$zyC};IrJ-}Gbxd}7aa%Ye1?S#OM0l^fi!!Pdz@ypoa3#pnCARA zO{a{FoX%wSns53U__zDRjo|sLy{0wT4gUsAS)&{%(Iw-Y-&mtm}daSR2)i19S3$dT4LHYpyb1iOuINu{PP zY_RD}Gv*A23WmyHx3S3yNmUxqhHSs34*8m~G-(CH>d0~@tuX{gZ#)7lry{#dBUbJUKtyzbB7($j$JaTo~0(j2x3EMb;$ zl8YIpYP)*7gnL5X!PzFWTpMue*9NQ<+M>RzDeRuAuoY!Ux!e zRPq*uJ;3f9gie5eJ?xLb|9>Ms?5^Ly=lcl#3w&+^g_~dp51xNvuy2C>?-BDg_(=F% z3;GH0{{wv1fVT=zhTVN5;@84{9C1DipJJq12RuVzKg#GURoIIXC8Q%}6?|IZ^E`aM z4E!|Gf(O@|z@I@bF8G(jXAkV(0Nx62uYv#ng3l?$_X8Kg|55n=5%??cnFIT)z<&b% z5E%94DuR6>$_0O^dJxm|YlLcv?F9WB;C~nVp9Nk9jM}t*3;WN(;n!h54gB9orPGdv z&mD+U1D~tlGa0x6bRGg;4UG8i*MYad=U!mMbis#$v|N4V7RN}^(C+tZcniEGbPjq85{*9NYm8v?n3TpAO2Kkz=? z6#PYSKaCAG1RE$naY*82bW7s!#NqVWbDrM>BC(o5-LG10poU>H!#0LmQa90%*uzlA zP|wi7&}g8^_^Wu$4rnp)6ttSS%D;`F-S~GfbP`E<7T`5>+9TaHn88}!qn z;zp*MATobMmdF;lVyqY^3Ph2Z!v9h+jomZ&KTTAyUnTxkVyRdmR*SW4pC+pH{ZMp_ zj&b>qX;a%+W(wShduuo0wx&_$Yh3m2R;-3B!&TCS)St_5& zI5kn@ES#O#89K30-_bNq`{)xCan2zr3a39Xadv+pttWhvp-c~*yNL4`_3f67>zJQT zwc@Mm7IlYt*AJBa^yd@444Qj@H)7qxy|6zIyc+mFDRfJc+MUgD3Se)8{nx-(1LLlz z1Rp{-!Dk)pZ^8~bo~0DJkqLJkk&+VOR0?zR61m@ny&Cp?6uz}71sbi^=e#23vxX(% zejI=DmU{2w9#q|rU?@W>Lx#hzC&*&Rjw4aw*>`tK75RTRXNr>gMV17Jv(4_s}Bq^4Xo60GRiavpJ2$I|~2e*pn$vn1?k@u5Fu90gfCn-H?5?#+VGlXlV z;JkBsp@1ZpxK3Qp&H7K`L$btQWit5_|CaPAx{9RBOKxt^=bOh*;1l=+&L2p+i}Zh& z(pfZ@((rZkDjs`(NLN!G|F5A2dXq-c5&qvy@9;mLTKRtq{gMB-(tq*)HhQ1`3Ii>v7# z@oDjCDizm=Yv^8at+NCYl;w73Tc8DD`TkPan`y8=L?4pOnZn2vxc>aIBhaOgE zsnA^UWAS5}Cw?M+Li5E>#ZT!G@iXx=suVvLKc`2L#lMMv zqsPTB#V@H!ye?j+MdDZDSF~9CyZCo{Li}3%nwE&e;xIj_?un(P>ZBHWO8idzj+Tkv zi{I0i#UI2UXt{V-yh~q6oS1(&kya!wOFTti#f{8rg>|Z#5lv9*tUZ&}*YTu>lb&E7 z6(gO(cQ)Vd2;;azCv~Ht=H?>sgD4u#7@tFoZN0=OM2r`E;p2`-K9c^37{f^4Fr9`t z6JwSpGS25?avK?^C?>y=alR0f;|vpT7~)Kd!L#J_nvyQpoiTWhjx&Eb2G7xP?ux;4 zbet(Mc$OSPbFJfiF{YeTP#cl~&wErHQ_`7;sZLf(L9Dx@Xf25ut0XGclQCo66BX;J zn6XMDV)P$imH3s+HW8D{n`|h#IVsPI**8MTKw;*%PzpkNa zF}SxN0ZmQEdLRb(-D7{1$KbwutS`mjzI&|cF}PRzT9lSs45>J~jOf9bt)hFp88O>M z_jog7wv6uaX2on9sV1fj#hV?o-n++}6SL;K$9pJd-FJ^y5wrGFLotPk_i)Ub?H+G# z%)0F!Z(hvW?H+G_4E|h3zB;CE2am+yFIK$D82rVG_h=0MV#R-3(2YNPKhYSTi>MRm z)ElB?`H%9Sg|F%ftRBte{+P4Yhw#tqf(dZitWu7(TfSqJTGOlg2HeA@Zj^m;IRklU&r<+hP|Oyx4$ z@~S(dydZxk$S2h)pGdjHD~}K#HoqpnkbF&fLh`ETn1`(fcJH(rnQjx?R?B@>v#Lqv zq!uaPwzApW%N*>1ZM)TCwOVb~YKB_5m2>W)J=uKO`o(kHkiKXQVhtpFcLJRP#u`=1 z3+ohN^|!uf{q!#Q?*zswd+xUt9v0R|y&vNA8^C|_;g7uz^mc?^lYN8xY3wREt#>kF zy)bJptp(7#aLdtigvX6^1a^OJglixT&mQ4$NnZK9e4Ys3J%r~8&l4oQ z6TK73;u=^&E|&VAX++>JEc>gI|0lVfvLa}vn0ayWfKpB6F*pPNk^!Zg1+CD}gjH;p z+y=i(gw_}6QDT`UzB63mcO5b)W*JP4hIrD$rgpOo0ho65C zQhJqXf9p-n$wu>kR)~|q$tRoK+()VZ9P@TzuyWFRQ#>ebMr%(AL)oBF&%n6`15Z7T zYao;Vr3}*sk$xu5)*g8J>Ez*OA@!fiP(BDb3`Wao8q}84G^j17X^>k^H2r~YIZcD! za++d{|NW)>dd%^Epr}TV{{ux=Nnn4P>Dd>BX!_+3Li5Kfc>Z{pM#^US4&};Lo=e{5 zS?pO%pT&%F0%nxAV@6qk8Kv6Ao$PtS_kge5_a)zhz8Stbz6#$w-($Wi-y+`<@ZgkG zwUN}Kew653actMZ22%?c1J7zclE*WW6vJ_EbG&$I>eX=Z_nuzf%W9f6rzlEgKLm>|4&ZE=?N{ zUFv(@Gt6^f^s_{N`s;s)n*;r{2o)A=Abu|DL%wBANI`!-G!k1grTjtkK_AVpd-*hlQFlri-xO{fBMdl+)-)ob}ex&cdcSr<66)Ejjk75TN$>ycJO~A!*1BLYp-h`!+zsh?mCEc z+I5KShxl*1b{l*5n7x0c(_#BV`5k7^9K6luR(9`qz2iE{VaJ&3W3Ce><|$5h%1tr3 z)~@y1<@UI?x;^foou7MX1ZP{rxw}(chZ#bpb!RwZy0dyLQH0B#?apNwt6c7J?gDp) zyMS}ivfk}3V#qS-dUHj}#o=;KvE||}bx(_QMVF8Hn87qFkgk7HappSc9_y|$VM}`o z8;lm>Ucs_h;a-7y8K^c9s}=N6@4eP^zw6e$+P&6I?rL|cyN1IyySK3{x4G81YuvT& zo$fuZRqi^L;1YJLuzGg`(_G@NRV8A2huw{)M3Jpvzq`oY#C5UPxSExZt`*L`g&`cX zm0_&mv%uXJ3VVN>{o7e)t4t1Sn93TaVyCNMXfv)g?pAk)odfD)IhSy~;?v#9^6X^Z zHhZMU%Vk@o%Am@pTwEekT2GQ^n0u@zjmyN6Ap2W9*0<<&Ci-+exfVWpJqgx_==Cb* zY|BdcV6BT;A5sl}y#fTQMD*GZz4}G13$xd~oZf8aSjvB2-vV+7F^|BGl_z>ljy|nZ zpW>-k*H}0+PoF2M&qUPc6k0EXCRW1eQ#mc1+;%#jP9et{>$X^eLF^pMg@; zz@O~%?fAJ+&G;rFG*zWC>w^47N@{N>RxgBOR1JOHJR zMRzFK`w*T8g>byUf0*zhl%}{}xpt>I$&{vKfa!nsRGQ{NDNXYrm8O~OT_V#$!dRwGK)F=76Ox zzsJuEiI9B~WS!(fENJ5e#F+>C zbkgxx^-^;I@g~taRIe(`%TS>sMYqR5!~_&L2hChUU*!qU3F?+ zSI@Q#S{Wtd!G7{MH}#ScDx>&Vme7SSZE0w8uabJx@$oC8u{V^=1h5Zt0?sky#8->0-R!{kHD65Oh7cQ;%SeMm}{cLKzmzw`J;>qLVTUvit zL|N6YrH^xI-IT-s4CZYH$A1HFM%I6f%d7e&HFH%bA&fTbs-Eig9Z+BAxAF9o*_2D; zIj-9OpKsoi^~{Bq|6p;WTKIg9xry!J^<6!2bM{}<2SbjzA>QRh#kmVB*mAi31--!Z z?R9Jy1MilDbIY*??_%KH#kxO+^?rW=$KK5DG5lPdanW#Z;XDrYMQt0~Z{nB8FUm5wX&nDYbL&yxHq=>C3(wGsF2qu}BFbQ~>tZa0o5#`dJPwS-+r{nd zGoGq=UVgEaL%pq0)XVU;rX*?xb~bs&yNYlya*l81oPJ&$ZDwPm%-X%^dFOxNmVR(~ zh))jc3yS()x*qRBO3l6V{dqSq*fPruaV#$ae(kp}`m2(psZmes7aqr!gI^2lS}$~t zU09KxVZM-ASed@=0_XX{(Ytv2%L_&C;^X&1(z|#ieBtO_yfVI!^e$d0tM_Z_JMJdD z3z<$EVvf2OUXNkF8`QkZPdI-+C!Fi|lj`gG3#89H+IW%hF0n2^t%kF3{)heT_+0D` z`b5jlJ?G)K>AJPbi>R$$+NL|`zzP7 z-!@Szc8Wa=HKLBg)Qx|YwH$K=Zmg{3)auU4W)5v-S0krw6m6nibcjw4uaQ!EWs(h` z#~_D^oeGd%#dAVWysegL(R_i1;>qU6<|PInprPoh@~AjP%!lGDQ;uXaN9MtuFFNIT zHVefRIY}1Fsj^(oir|H5k=eUx_E2JnrP(*B_fX<&Z@s5eV)uW%*oZsNplb6UAR ziFqr9c2DXv&h=hTv$GSYdW-3&|HSr_@L5TreVlp^sKnZAy-!r{{?zA=oBf~?_T9j@ z0_)wP*!Q7#cAEXBP4LGF<$ABD-X*Dbf?C^v%Ynx$>>2_*8a{6#?IE&vTiT~6*gNx< zK|jAKpM&{)=nQ}F%uozSBRNa`$aVZd_OZIDsnDt;0zr4>96SZmB`W7ZgRvm<;Po3+Lr%T(d& z?Cxz;hZDUUB1}7;X@jS+3%BbyF!r_TweY$QO>Lvy>2rVWoo!0*3hvq#ZUy>g3znn0 zxnvT?U?r*NxK336HJt5Q>d)D=#1ib`RCSi7I?;Y1Ko}U#Prmcxf`zn%>v0ue4fpdK z`N>Vea)zz!w~@B9eFtDS`^~{>848!QD>E#UkI>$`&~iV*?&U7*>G=ry(S?22A3=A! zg0Mp~K7xOgx^_^k8=}4v8gqI(qh3%hIq!`6O0V%1#aGWN)h|fjG9sxEU%h)h>%PY@ zRrWbOf{5W4qQWye#r^+P8lh{>g>^iKNU8auoZ3uJ7)7uSDMK&ysVU`dj@2Bla{MHmg7znU%a8AaUnJ=IYW3DhMHTPR6mo)I1hI@74oyW z-TQxx$L)h;q?Qrt=f^vGA@n?*IOn44%}|fz-0wXDsaMg!?Jj!`_@BwXf3F;G`eqGk zK59+ybh6Bj&%w+o4Kj1#8-dH!R;tHk?ADjxms_CgK2meuB!GZc=oX;o+kWP8 z4(5}>eVgq*z1g@W4S~MpvCr+N^FjB+#HoLX=RP%q+lKQdvLGdN{`I56?!Kp*X-*8^ zHL-k8HpKG%u&bM|ms{w64~h?$?Qe^^^YFL#V{!Jk@5S={>u+QFUJ^$sI9|tsm@;t1 z@;$LEmhYc;$CuN|jWPMmj^*32HJ0yRy4Nksuk)E0^<5WJe#IAPD>%PCN;0pLrzA;_49cN0Rc6R6nQeS> zr3ue5SCUN0zeBICf8yGsH1j!LBTELT1ZKMNL*Rg$h|Em&z3!bG2N{G;{g6 ztcJrlrra#I!9G^j%AInLtYb>`vH^epM$RFN%^KMxn;DnN7SMBIuY2Hlf+Bsa6v{`n@PB!Z-spP8YK(;l^ zy^2|5d95UCm^Dl`aEk6FLXP&>qR-4SH@8*8j;Blg9!S4mF*n|oqE+JlEq#BMmO05w zpXzl4cmm?oI7ThpV`ttWIc~5sXJg@=lYXP4Z_zVv2Jm!mZo+#>-5zIdjMHzMaOa#p z>&o1yhZ7R?ld^g9gfkBGTP_RpC4C~8e%GbnHtF-fm@9QVT`NNI=E1x%!u(2~!=+CL z({GP1V!bSIv{^!|c=R&+40?ar#Hm%AYT!*T0nn<-;^ zPh|}0Wt%Bic8_`)U6$VUQkSj+dfC7!I$0wdSTDWM%VvjOHb5_xR;F2LvN@(+wmS7v zzuD67C7tKvX|WGv}HFSV{$ zL2vZCx?^Y7ORZ1(&9c@f7w(tTC*YY=1eZAUwaW0uxmY{kk2k_Dy#LehZQax0vkTZ` zv~w`;M7&V`_B+F=!1?E(aSedY&Cx;wRQ)sCPSyiL8E_zI)$W8ML~Flm)bOl zB)~8Z=@ePdiukT`O}i{_+w5#)#sk#lv91OsUEM)iLf}M zRG&y{WSxtf&+Rh`d)7rI*(^X1x~KnI4>jb3X0ao~oO6i|ME8cix&7!3bscOoHM$Lb zQ621!@M~h1s+WJAY->Qx=o;0%U>*B5o4*RTskKDV(sf(sprLBD4fU>KG^-kBdk3gA z3yFG7imFllb@o7btT$)Fo(lJm&N+VQ{HbS=>RH5mHq-(jQ=Y#+i|@P7g66Z){VC2D zi>E(Tch{@>%Y!`+5c;m-ygS>p!s&)Xouk?hHVJFN;#hyX&?7g=Otb8)A?Rp%nV}M8 z;)@MA+TW{T>B(begmCmR`0CsLK1Pj}s*N?GeYJ$zi)xJ>97FdA^;-W$n);&+s-C4o zwH>q{2Q`sNjbdbomZHN{!ZbL)ogCIdwM;9AAy4Epg*LX07loRN7#5npjtQ4v&o9mV z&++7FzVLtR86;+$W=89n@0xG>dPeKGHC)g3%-4R*di9ykM((#_*0_wqvrNof-I$x| zx#J+$N`t8vrPoTHja)Y!44o_`qrF@&{O5R09Iu7iW7bNVgH|2rC@LWusFh~bPcW@a zF_LR$n4!(}V`?STPnh$tAz8h$!kmrml>2x`eY}4amcFTpCDHY&HPuRito51-%;ohQ z->lYnIb3J@G;25RpLeAVdQI%atWn9h*3q`xwSI)OL(9F<#B9A7NU}>{8m+ z5vGBfXo7wyYN{sk*q*PngGWkT6QMC!OT)zzhExj6M z0_=YafscpftJ}LiKisTznE^cCQD;~&qt7{a&k5HPzRwGqioUn!FMfTiFIC<*`vl>7 zt;cLikGpn#*6aGD7F`>d?Wh`QV~yay>i4)lMsj$X=?R_GI&4}Tquy>8VH#*fE$mav zv~n2o7}6N>L;YU8m=vm48J4nnnhiQMsWN}u`G$#+y_tTxcARmq zPkWD8<+R$N!R3y6ec93P9SrMb)Lcw|ZSJjpW6i~!|Il2_%qSi24+ku-oX{LFV%}$T z=GY+Tbu6r)+-j#eXAYkjyPO~bj4x{@{^V|{k(>`_hH=2K0 zZuqa~r#sP?hN(3;Xw{kCvcW+^YpK%HTGmrN3hI%t9dncxJh9mNlj*3@vasAuO|K2N zVBJ@-|0%>jfKYX#LW#OX!St*pVI5#<2SBac(}8^Mte*}p?7wqm8NuZj8@xlwJ+o@& zEXthyR8=J%dbsMLN2q=7L$j*Hkjj6Vix+TznNF^Wx0hs6{#}#r&!nmMOexHy#rKvl z-avHvGzG{_e!7f4O`l;6xP`tzUt%qI6k$Q~aCi!9PA=WVTKGAhw@;_pw7`TWFbt<_ z=mr`~w^1S8Ne}W<%3~(fONo@qBTgROOylSdmh}vJNUfScsE?B9a=Mmo*;p-Jl)OX z{qAb}4MR zfc?NjfKz7AesrOg4m=8Y4DbZt$-rg6(}Cv$Zw9Uf-aV&s-ow@_!25w4f!_pv8@Ltt z1K<#2k3H%d3Y-d@0h|S#T`_OLOjj=OSm1HM1;9lWRWpBQyQTn_0nY-i z1YR<4!Mw$;mB7ycuLIryylLK|$0}W0fL{cD33wOq%gowL*DJsWft!Kf13po?;E6}w z64(oz1Uw8lt@5$imF`U7k-#~?dBFL=;~#x!&OCP^@Fd`3;HkjnOs2{`3wSQ@0^r5K z%N|p?tOQ;ITn)SlcL#0`CE?1Fo-{UAfrZ0Ne=N1l$bVQpLq{w*t2Tw*z+o zcPi|Wiyoc5(BlOj3Y-o+5;%9!qTCxiw*pT9o(Mb{xI`7eQwBT(crNflVD*(x?b`Vi zrT4)mxF_ftyZG;Ao%f%GT~Hx>lug1uoVD*W+$Y_@eans9Yu$gu{m;$ZkKDq2)NS0? z{2ligpJmOyoptnc-BMe|?zBnn0aM~KM{<7`Hr0)(-F?HM*Y%2nyjbTbH`awl|yrtiSCf1G|BBJzNf)*ef2<3zpnxe>x7+{;Jgz z?yViGF{d|tJ!*gC3LZbM?1N3Mi|ZLn9&N5Yqj^8i*7oz$RV$qkE`Hj{5@Wy!h(bq3G2P(-b(Ls zZ@Z6tLwuROT;Bv=G0&eD`d0d?eOrCIeD%IVz9YVNKlz9FGyS=gAXFK>x=r|2oA#mH ztgn6<=}xY2xH;jFnU_mi zv^msc%v*nrxzLzfjM=QsONW8Bz<}Z6#RCsPb+^!hz{HXX#&cf}e{ci3RaJzWy zNHKfyRjF1PbH6c9YV$hXR<7VNw}|J{WjxcL%QO9@w360PHEp7;`~fi}MwG^XiSzG$RfJj|G;l@!l0=BwJg+qAm74ZVN6 zO}|xAV9XbdX^3a?p_t8lD6+Qy)Qh$wePWPTNCQSRKR{PUySFGac^&UNh5(dX3O0ZNnUF7cy;Th)L264zpN z->PewYnfU}>H0QFZ-KXjT;4Ko8C~XG=3P!H-miL}rpvuw^L~xez0Z2TPFHxVy_+f1 z`#;{}bba93z;$#(AUBXpV*>97-lv;_zXs0*z&zw1Pp7Y%2oOvD( zNxFn2AzdX&k}V-gk|e~%wO`^U_3f*uBuTPfOR|T!u6>AtdSlnfE!a ztE7#-et%x~{W;J3EHj^(&zbqmoLRCOIgNZqVT`scZ&V@gxQ@}tXl}GMUNt%!-Hcu= z)~IJB7>P!EqodKq=x+2e1{))d@fbb1$XH>lGqxFfjl;$X;~e?awup#qBA3W7;^@xv z!W53kB4R~eQGk5y66AkvS0;bEmZ&e9iZ-Hyctdm%Jw!h-M2r^W#Z)m@EDwWz;`1)=1_1om@x0$XUAK2n+xz*Qho3Gv1zINMv zy>|F|?ez89y$(XJG+(bnzFvoYy}tGJI^yef z6nY)=_4>}&>$tDi_r6{ye7#OWuT#EWKlr(K+Sl)luisf;zaNo%=X@=H^0hqgYxlFS z-34E-Up&2R=ILc~PcPf>^s1Df~Ubgb|vcp<0JL2hOXY%y2qn=)NW=}6Wi>H@;lh(`5>gi?Q?CE7^^K#F=#naEu z?&)XWs&mhd^|Z8e_*&-lwY<&O?heE^m#Q_w_2~>-7NiD(>s`ps!a6 zU$2M!+$-tp_b_s=l&{|-zJ8^B{mOXyF^<0PtSmp%{*T~=jqJwlR6|rCkG?k5<%#6a zcV^w`s<)_APG-Z|c=BHsvK4Ftd39;*1fAK-jo)sGy`3#M(${VEk9s@X(x3Nr`t!D@KW|6+ z^LC~`Z&&*BcBemYPx|u?)6rvgIpV(ck9s>taP%l~NByJT&ffHJ_oausKRw)U(!)KF z9`1j^^l;PC!#$K9?y>Z6ze^AIczU?sUkq1!JQfyXkNc9aHbxTtZlAv1 zfdS;KhlpbSVJ&9J2gPGJuC0&Vx`ZV}B`|-_;%sFcKZmn*($Aj46TWwA67vwQ`2o*4 z;XaQmpVims=hHRM>9hLz-dW?UevWZkhh?19PcY6<%*ax$cdRbPFWOQC6EOl_vMaSe zV;nJ#de?-1315hyhf$cJ(czylGc-T^9Pb-i1SQGe;jGh(bR);rAAPqC^*D|>&l zFfr>n%b&dC(yTAN3V_}bL$?~T{*Al;Y)oZnSZH`?q(lP}Bv$k$~j`KEkZz9Zk2@5z7nFp`^1Q_?)3Pncida!AiBO?M2(a$6CWLI~AQO zPBo{7Q_HF2)OQ*=O`YaWOZB>XQ@x|!Q}3$}Rd3Z-4NxDcVQPdLr9M$()dV$3O;cZ} zFVz~gUTs!ihew9TgvW?FH%EVNiPVoYipEBB zMe|1UM+-y?NAHamqrBWnzW#0EPEk?8Zh zWI0d{mP6!FIZ}?1<7KLxDyLKa&5;Y_V)=#qQm&C-$@P?fU&~!`pFAkPmEXye@{IgR z{$dF$V1=x(mC4F%-E7@r<*@Qtd98d_eyf00$SQ2bS@&8+t>S-H39FP<+A3?+vFclm zthS*^p(&vm4tJyzbX+HsbCYw6lf%jF+~M5m+~pK>?s4vO9&jFV9&yS!k2#M!PdZOK z&pOXLFE|aICQdV_h3cp}t1haW>aKdKUaF5uR)f`0HC&BUqtzHSUZtw3YN=YGR;zVt zliC&@5&k6nX?TBPcuIIicusghcyaiP@bd7NkwC}Qyc7vI3n*7r{rC-pm7L@blBDqwqkgLT8lAGiakB)_BnpyZbiyr|pj{Putxko4bExaV6Oxkz3p)?h*Hilj1$`q3ACL ziI2qy@rjrsW{5dr0aETuu|}*Ho5j~+m)Iu`Qo4Oh7I%^?t^iqF6 zQT~5yaZ6f3%M}M@73(Ilvs6;Dns8li9i1xz)MNx!t+j zDdODkJm@^^lyM$)DmhO$PdU#x&pCCS22NwAm3l+HrMjvfs-GIDh5*N@6g62*SIg8& zwN`CVTh#XOsPNeEgz%*BwD7F(yzpn?&m(`qNFh% z)S{L_TWS%!$~sb;pbP6p?SWpb9~($lD6-7m@@FcsIF(tFO0A$3Lph&7IXRofP>zT=}%vydx~{0@O<$D zGssh-RseZRKN5BoKN0q@x>8%>VXFh-Bi5^gWvtf-%c+^nAWvX6VQ+C7_nyVQ=Wy?N z-1{!>eFgXa2lxIL_s+t-bM(DdM_hmTI`9o(Ctzpbo4~h#Z)0LRC(euspkWBC1=;L&>TXPqW$US)TYCX=fSXHg3*{xPh>sglDdd_;D-5wefN@e*%=R&`* zd)%7Tp1fauraos6tDR~mD;s}a6<){6g|~(evPuyi;jC69dn7x1F482@gw>9gj8AP_v4-idgk%>xbyU_?8pAkJRyuZcH_xb4$z+-b-bIcqoZwDV^V+53y!-%Qp2ED z*>S{t3UChaOW5i&Zz|@4F2o4>OTP{?J%*_G z4U!MKmeKeja0D;~I5mUzd;OA3Uz!ZjkJkNcYYU$>+Cy8C~I+sWe(qlPj61-c>L$C3-Bs=$ccwebo$k(X=eqOU z&)h}sSMGm$cZ0jp-RyqtZg+ROyWIWm0ry+?i2H+k+Fk8Vb7#AA-1+VTccHt)UFv@B ze&H^2m%A(6FWr^y8h5R`&fVm0akskL+#T+2_n@2R9&!)6N8MxY3HPk~qkGOh?tbTf z@1An^x!Pmy#DZiucVKLAes&ktcLk{)xcd*sGRJ?jhGZ3usorQpC00-NA=R7{$Y+>{ zTJ#IHj4h`U|4S-qRt-lC{mITRB`%$I zCz9n)BHNx!@4`U54f;Lk{3~1cEPbAD>;Jx`>pclNlckquk5W1R7?mxRDE%MTBT1;_ zeUfVCr>J&#n$=*>P|f@-)d$b9+En+{VRczEsv}yEpVW%#=+;z6yhyFjcGQA=NzZ?; zVI9~j)Rz1Y)#d-C_UP->s_ewxrFP^nYA?=W8`&PVk9|Y_&0%(gonhz5`?h<`FMU_fWOE4^8tJi|A>Fghw%}76#s;e<)88i zd?KI3r|@Zf2A|F6^7(urU&NR2rF?%GU%^-M)qE{q$2aiJd@KK&@8rArUcNtIyWVK3 zu_)K0sNZ7QrEeM4bZtR3Wh`n7gUzA;Og*FO;d)CI&v0JX4^LeF`@|Ie+pX_5^M3zw z8o!&n?b1gTq0Pv2zlo{p)7i%_<13LDAE8<*7nMZXhcDr_r#Mz(Ros^$pLBm;fqcT% z>)%vj3-AqbA>orQwXjiZTl%}*Ww9E2Su8B9pOzt(s_bRgr^g06ubBqbpvL$s^1?Vo zXS_PNJiEA(@KfxsuLsXDSKfP4F?`3#p8l*qT1!3Sz1eYZu3z1&&l9GvdVKY(;{Cm~ z^!_q>e4MvCvi?SUE!L?0>$`u6j7O{*`1@~V!+tD!E%16bRJ`h89}``lCS22a{r!E# zF2&DVZMZ)AD)i{erZ-#+FRdq?-H#jh*B6U1hNV9<2R(BW%V%sc_Odu*KRy2;E6GY? zk06xN2&D`{DT`1lr$1lYv$kVBK05vyYkw`{>Ah`wC82n%eSNLtd9i==x|k~2@D??P z|C8;yhv%)ct;clgp1Pcu<+R4+OV=BtGQ=`FMuq4v;w`D>z1Hv7)kF8etKP|_5!1V)Ui-K8*Lk2Vxx>G1$^TyHe`FIn{q?M_ z*bH_w+OGpuejOaw+XLx3)Z_M5?X|H)fNMnXuRq@5$&naJ-Q98@ABjl zPiBk>#lG0DzSk$SA#5ZY$5PpJHkavDL07X4Y#ZCn4zMHa1Ut(vaFfUI2+zv(yqx^J zFfYnW@Y1{jufl(;^IE(fZ-m)7?fGlGGw;fK@IHJXAIeAb@y7eui?0VE#g|aW+0ZR{ zLTb$uQj4CDTJ?m~vM21T+Wi$ zjR_kE69^N6O$eLlbx8H9P=w8bT!-mV_;Xtq5BM6A2T8tqEJ})o6olf-e%j z7;H<}HrS4^T`-9-Nv|^;d@0zTuszwN5qz2K#PHU&LeGT}Izu*TkY#>Hi1nwiC+Wpm zTb`ftw9bD?)T`IV@-NwGDn=hTq0^MA-8CAA80S&eh4Qu|??O4-@3NU!tNA9rlOMR^ zJgZVh1*57_^Rii0Jt$X)7^968W4bZlSZb^`HW@pO1I97qv~fXLLW!&*r^qJ?i(;ab zs359}nxdXa5Q(C_=$K&!Rf?D{=8L6bwb&$fiUWV**k$vj@|lIrVrD6`f?3t9Y1T6n z%tW)j+0pD`_AvXIL(I`;iaFh!Z!R@go14s?<^l7VdD^@nEvaNynN#MIg=H~WN>-3n zWldR6CdfqDUUrmSWDnU->hd9yG2KyCD3le2P*&WJoT!GJcnal4b>zp>$d4K*L)xJX zNkV_#yoS8_FY=}%<;`*SIum9b=}?kn3A40Wfn<5JvRRE}RkMa!n`AB0tP#n0v#FU# zvZdM9q*fhi`kL99)s(V<;7-lALVLH0P6?Yc4XE zkz8u7G}n<_OKG#6n!iT! zRr!YOLh>!yP4*<&L-vsaNhZr7awN&&a*RwNIbKedGf7UDb0w98a-m!*SCU*I*UEoQ zBsa)yayQAHa=$!GGEE+n|sI_es)}y~j7Pm@Sq>R9n4>stv{OOnm4HdcF*N!F{@ z8zehgZ&}?)cC~s~eMt7QlC2>m2V29fF(gNSTjQ@LQ ztqs;Tl3T2u)_#(Etu*Tx$s^VY>nzFB*7<;*(ZvE*K+ndC2}A;VCRLU|_JE%KlrxYw zpl2`T4-^jQnMd~qiU;(pp^|~Jfr=z61gZq8ldKk~8K^_DcA$PBfn=jV^FSMtiGiel zz^f!X1Ud%ZBH206HPC}(_du^eGRb~{!GYle*U$ z9y`CDZ)F#<@6~gq>|%CFyDZ7l^v+d(Az9h3X4fQH!>(=DCt1&KWH%?-)K0XMNVc^* z*d0l}W_Px`lI&u4w|kN7Y4@`SlN@LdwMUa2X^*p0Nv7CS?b#$}+VgFyVeLisGJ7@2 zmG(M&3&~CPc6%?$-Sz?d2+70tar-pMQ}($aBY7cc24k2A+Cde}LNXf67R*V1GB%he zn4e_6V4>i>B;$g`g7p3eO9V>?^^VfzgO!8y{s*fDYfw!mg0-klqxYX`u%^L8UC-Lx zQQIB@rs+DDm>ytyfcXH-2Vgz`(-TZjFg?M127kK4AKQ z=>w)On7&~8g6RjQADDh%`h)3z52inuWH8BKlEDlBGXTs0FoVDh0y7BAP%uNm3Ct${a83Sev zn6Y5Sf*A{D9GG!n#)0`1%%@;J1v4JZcrfF^OaLF!R7H0<#FrA~1`=EC#a} z%n~q5z$^jtIhfDEd=6%RDVU{TmV)^L%okw30J99tGBC@)EC;h3%yKX*z^nkX0?aBf ztH7)Rvl`55Fss3=0ka0o8Zc|YtOc_c%vWH(0`nD^bzs(kSqEl4nDt=RgV_LP1DFk9 zHiFp*W+RwQU^ao-1ZFds&0scz*#c$@m@Qzog4qgYE0}Fywt?Ay2IgxpUxWD?%yux_ z!E6V!1I!LEJHYG&vlGltFuTC)0<#OuZZNyS>;|(3%pNd%!0ZLH7tCHT`@rl2vk%OE zF#Eym2lEY>Z@_#5<^Y%jU=Dye2<9LdjcF#zLlfm8Fip2#?Cu(kL%=lh6E*WP7>#LY z-E`Mz90I24mX6(jU88Xbn5J7j#MA~;8_e@yo(JVl~UrXHAj zU|s<80+<)T)CW@^Onop7z%&5U08BiXcrfu`8iHvErXiR{U>bpG1g0^V#$XzQNdS`o zCIL(nFipTT0n-#rQ!q`zGy~HNOfxXe!88Zc983!^Ex@#Y0MimoOE4|Lv;xx#Oe-*n zU=qP3f@uw=HJH|5+JI>TrVW@E!Mq6OMKEo_v<1@^Ogk{`z_bIC1SSbg5*S!Z5Y_@r z)2&Ei+Jk8i2KEz#{Q%SS{-o573u*?K7D7oILP-lu3!$V9p`-<-g;3IlP|^a^LMUlN zC~1LdA(XU#A(XVhw9tGo^TEsqvjEHjFblve1hWv#LNF)6oCI?c%nx9G0P_QwGhohu z(U_*&$aZ&)#vx#u-hG6aZ^3*E<_MT0V2*$}3g#%7qhOAKIR@q!nD4-R2j)94$H5#2 zqfxJ0l#98n7%Ra_v9hcJtIVph>Z~TK&FZmumcYD!UFP~T7CIF=#X@M;>0TP$*48r$ z_1r4G_L*MWrxeqx8gtCX*P|Zv+Esd0Io)4g<)8PSQ1}ML0zC^%uTh>AvDD)<+gvv1 zqbKXblG$K36n#M{Y%*3YGMGiJ+tJk09YY>SfZFXT%rR2QXK;-v&V`sbNa6f{pt07^f-v_bfyP-m-SyizZYEhKMtldx;KjBPwxm# zEh6+yk)J?+^HD=4qgG5tc{~X9VKVZ35Ng6?mWt3Q7>{@+IH;nO=E?x*dv3FK1zU5>L!!`!!9uf3>aP)i_=<^W4=csgl zGSSbG2mKtkqu(j-HI7#=N>lws$opn>FL$e-=*5u<@q%-yb*P-O9*-V^eOPG zl+2jo`q#d{c>Oy6`dWSpRrkN7|Fii2UaYQfDC^SejElKZ!ynCceYCmW;at?G4&|ft zXM5E2zpY;%jjn%4>;7E1fG?yBBuJQG#FB)nr%RN1C&sKTbJ) zlrp^TtB*F;9$eTMZjA8vz?){wFlHKSjJ5tgc)Q5E^t96L0=;5SRX-MgKfHi3&X`CZ z{32tqv59Z{Qfl|0afA*c(`3_}_~mH$DIkxN2Eh&Qu0}Sel7UW%PeKr|ayEp>SA*bbm_5T_y6euxg^3s%EOWYN1-H zRw_}oR&CUas;z3LlGID=_g2=WJ6Q?r`l?q^s+Hl(<)!tjuekcJ>Y$ncn*y5wn*&<_ zTLN1F6M?OPZGbNV+XCAGlYlS%lQ=~z<452*;7`Ewz@LE^fWK&eB!ke%fd()J7y>#P ztuDZKSjP3^^!j6_n#)WvQtZc?WS7o;j2^D6Y5@y~olJ<2#d)zy9KQVbuhyfRLpEuX z7gkZtV_~sd9A`qW!Xv(<<5S`=9UT=@=yW5Z-plH!`7F!tgxX2R zJ;U?8E3Xv(pSaS0k4Y!!f8{uRh?HH(GK;Bn#=BRq%9kQWP)Z-j@axp&chWslEewal zk#MGP)O%A@d-bwiAtWUr=f({rv&<$%QT)nkm81IMl7yLfJ0U9Y*n-Qzch}CAq zYBOTB8L`@oSZzkEHX~M>5v$FJ)#mg$55Jku!YA{Yd_G^oSMarb6W`AFVwagy{2aZc zmf;vtBb$+b)5vQSFygS+Oj)C%QPrqn)HdoH2}Vn!t^BY@$Bom*dF(W!L>7@<?KTf2I>0&N+m02w|h;3xg2gDJ7aYCFG7fjQPF(YPHGuF&w<~IwQ zMZH-D*k1{9V}av1*T1Fi>d0B!_s0&WIw z0d56u1AYzM4%`9U3ETzT4cr6V3)~0X5Bvsr0C-TNiTtu&0=}%#u8`qFh0Zk-3Ztim;h`7Yzl1lC(3|-*1$HG%7b8AU^`$E5HSz72O|Dt*BX(V zA>?KVxfw!khLD?~`M?Fhg}*9k40;1L>lt6bZ-GaEM}fzH-vN&kYR`~kH+a2oyZ$GQ zJJVF$FDd^3D$!+#LFJ+*5IdGBB~jbG{MlZ!Ga7i)Zav zYpM_$vn2W}rT@p}&hRiZ%RMs>=a}7pXWWsVKTO?n&zV(qS5`7^8QM8pjkwO{qPWgt z+)!a~!^nIeMRCsbm-D_@ITu!8rC)JwdThC*c)g5hif2qKv+>N+MKZ@_(m(9XG0!$= z*R)w;lcd&(MIv!ZlYz{E>Wv$4|0y+qQ1kIw2`nxz=re+q7=m zAgLMMkvr}-eO_eFcIkYLX000E{d7`;R&8=sD_15i=gn@BVsQ_~Jy7I<`->NSpf>$1 zp5bR)r^(kPW=>p;J|D^~$~;-F$enR_{J-L^Gpea&3n!r$1!*GEyFkK8009w@4$_NA zQ%WH8DjiV>MGz1~I?_Z$MY;-q3P_i#(nS&JD!nV6cLG=C`F!u*_v5a+vPjr7=giER z`S$niJ+lJ)7PFI_t&5G78>_so0;__q#wkEvK@5(PmlJ^t$;pT#xd4v+2V(r~1L<11 zdD^0_04$XK-~>YnAb40P1q3W7g<+vkNcr-F=u+L{nSn~NS(h|v%!!eI`Ssng#@ue& z%ZsbpJ}cPjjJ3Avz~+lXh)eL+NSgNX#0?6Sj<_3aX9dOzuH;DM+pU}OVz}u;#f}VQ z@CVi7v6oI-wx9hn8PqxG@>G?`_&ni&K50h7DqB1jbig=%E{InNn*?s2QX9-)G#o(hh}4;B;bq?08HS2lrrJIy+{-NA#I| z9`P^!h=)UoOWkQXxkVY{MJv|TD-uHGQt?MOqA{rC=-vnok!&l;yI)OSwys3XZB_9+ zvu>`T&VTmo-unRm_dKG!WH!ehkGD*-uTgMeE5DK7;^2ILQc-1}UAc3_=%wVHL*2K^tLlSW-R|YG4qOS7}Um4D;Zc_ zA5wG-qxENhHR>)^@K6t7a$gBfaV>TAI!ogeY`|=5S7Z13O@Z_v>!A3UpOi#fjp41( zsiW-e_EC^6F#t;l1zBwJ0E;zDhOhYsYEAC$u~@^wStA2k?8@K56}$lVzSFZDthcmc z)wQ*D0$auL7%K`uBKOEl6c9rqQ2_W7-Y2u4CgA>mw~X(Pdc6Nq|EFvecD$V3Ane7+f4v&{xRc zt+y%i{*`O&C+6K5SNpcB#GdZMl-kNYi;!kzwQM4h3ByC%mv1+JG8zk6?MtCxxp8ki z_-JikYX%dvXw-AO4qlCoZVnQcTa7!@}B*q+n zg%T0Qp#O~mm7Odnv4F<6&W7wok`0 zaK28fnM3oAw)flFwe43`y)}#L$Mt7_b(?LK2zndZW=6M?jpI#^i1F4CC{Pcl_=Htr z@&+oVVdpr?Bssig91GSKAx3e@*BRSM;yY3p<$(t|bWP8dj92-EBQl~5MC&ye3)x#K zU-e@tABZdzus26@-V2Nv;$a-eFojDYcF*If*E$7dqNX303To+JAS|YhY-U1#mt7(s z>+|KN;7d@*MFmMENS#;l;t1acoNf!BGlp?;b^;s zM&J`Y2BjNGIgT|>JTKRHSej>9ACMIN^X9qV0b(#PJ>gny38u;C1|k$BJ)puzo_m`x46eft)z zy3iASGtIYWpNZYrMGO|3-j%a&@qSZWVILjjaLw)ERL*9`AVZ({mSu~h6!FC6pyK?> z?B{-O67=u-8njU*A$9gJO<65sVE(O>@HJ=_2 zyj0q4%r1S(fPN@!&bmP*SMUQ@gyhAJ8DaUGOqDmuJ+V^r4gK&eeAo@;_4z^A8@xN9 z2oQlHFuyMXq~>%s!h76*&-iNuYr03Lq$IK2;kT9qETPBf@IW*oj{!&jt&rpgSV0)_ z@AD?-Pu|pVb_U54gsv^d7H#fs#VX_BZsY7`>+XXicR&;n2856(5g|YvBzF{Y&lCc1 z=06ug{~5n$WH}TM4JgO*UA9LY8>t!{YfRSW(8_;3NUy<3G1r-Y+o_iC4zM1XChFCT zr&WnNE*o2rWCC!%huDAdtC|TXqWE?gKWQPnouy5P^IF={iZ!Famfzw*;%z5 zx~)+g3U5d{E*5qa$>QHxzvpnv`YrDVMcty%jtO2x1ka;T&2u{B<9Gs_b}=!4)3s$o zAZ_DHUt;MOw!|xcYhBdK#AUjUI*%1%GL#`_l`uzmPGIgQj&~CVp1rdkoO?uxh6I}t zJbTW22b#j9MH~X51Qch>K5{5lG{E&T3YooSkY4SnLlQx^vdm#mm<|EYzGhd| z+g&H9uVW?q&hL5PjN}3oKNyDqzym)H@cD0}OB{VOQQ+f$gZK*tC<#ga&;(j2t^@)E zChc=`UjE1B!tB0YMP^e_~?XbI9$t z`WNG2aIPtT6R+2s;K`pHoP3<`HSpR;TOC@AaCbF!B&W`M{lYK09MMB{C(_ZP{5-5p zgOyqRF==q95gA~RQCTQrR3h$+eju{E)+~|vFQiA3v<DX1w-&AZ}M@nyKH{l8uv~{9QsBy>QYIsk#@s>p42VAJWKqxHM~*#@RWs#G+j~z ztMn)l18Th;dDast$?rziJmn&}8$wDwR7YxlW8rQ2(P@o{tBoT37qhFUEB(o2{d#oW z*ye!N3U4bDW9U&*n!{c1X_8h?Kf@T5!UaFChlI9k>wigeiF0@)uGaI_r}`niuf>V^ zJEf=1=*mIG?MZf8C(_kOQI4jv zw6sXwx;aC3H^7H2Ae|P#e37NP$k3e5&ekC}$v;`KqTDXf(~k;JQzPqyk*Y%P!8(_%Zx@GMV%^T$qE)c2|%DlJesZ(m0_l+t|&YTZ!W$T+})@(_cQyKmSwQ>$8^KZ6o{^T^3oA?@eV)t;Pu}Q!B@vQz0!E|YV z#5p?q7V7M6088WxUenIJQQwe^~Bi4FTDqnV?zX5^gk!Q2q z=D2*yB#UlE@%gZrn8mr|mqvVq8h$XHUL=xm+Auz{rvN05fCGVmHF8l4cq<%5|ZeO;t*#;mLVv zPP~OqUt_^ujxm=D6xxbjrE8Fp%11D)=|Bx_Y1Q$bbE==kvnVDxR4VDq3q+q0)vO%}kq>VmQETkUkrQ-}|K_yj&1xV( zeZed~MM_gB_(U0jGD+xuFikS{cUBi80kw3I^7Sztk-^kxj@%(LGa_q+qG%$Q} zW>SbQ!~nD%B+{K{ExO`eRLZ_o>+kQ-n2yr6yljQN7o+nIRapI$smM!v< z-o6~m)c*Hk+=HT4+PGnge0A3;EABoZAWxmO*|0&xXYxt&*&C>!Sx9W1jFJ+@gH~#y zmlgRxZb@`hiOf536-*TJ%ytYeA1+MhO-xchEJ?OR9Nx!&Qjek^U1)^AHco%6B2M~} zwC-ho!9>Zs0opKa1p_gZD-Xlf;uW5?j{>JyZIen2!)=_LbIaW8&kzvagYxl8VWp|n zF=RER>Z>EsR~emY{S|UOC(iI$W!GQOu?VeaLZ3_w9eTgKwnUee!ZY$JC$VGh0$OIw znCSL3DMBxQ!cM|s4;Gpi=H^cpKD<1R|6)j{=`ioyM=QaZ#IIQ<3H^}1EX69r<-{Bk zRb|TL0G1BOiN@m89BBnFW|5a&ckX2P`m%2*$Ft;ZDscp?rmt1om#HR>PJ4JW%uIO@zrh&4S6_!qHjuers->FRtKDC&+Umdv4P}KI*_KpKW6}U+`)!|$+A2p!yB3{G)Q5bvULmpgMF1B6 z5ey0i0^|Q_;rjh{;Lo#>%)ka5`TPN556`@h3J`B3>#iIRf!<0)}|7{Y@AiS z|9*yBAjFAtiEJzOT@C~_R;HHy>IH#7OE)`z>3SazRJIxJKwc>SRsxGJy_nK;x7m&CmfAD%>jGI=7%v!}aQ<8)LL?SO3l<&O zgXWEYED`_xLE8aLUI6G1LXzy~fgu!s?EFU!0g_^G;~0q)MT!Xv3xi?euZX1SiG1pn zMvQjh5U^k2v`)3VOThF?%7nuT-*Vngz|hR(`?4+@u5;;uw&QHpD2fk!GlX+z9cvo9 zR=G5qVW&4c9cFJP4IzwH6xZk}uC4_vDW$52%~c!D6`QMfe$0eBxK;44o7wY!QrB+= zELdrni6Hc)UJek!u`-yrF?T3)^`}>@vEAh-dSCSm5Bozb8Edb+@!%6fKkb$gyh@jH zCO6HhEk)w>wxSRZ2mR9m*RsPi#?1IpY9BK4wLY}5bH0ysrNo3hd#VS`7X4PoA5FED z@?~3|PPF9J#V&3b=Khvn-|Lq>^hfkKpN$Ypz3)$bp3vpnRnB0pHI5;>yJ`DeV=nb&+WbZuk)YD%p@~uW+pS4Owvx1X3}KRTujn5tu2vuNOJ)@ z&Df-AQc4?9u|+?WqE#qb3feD%ln|xRq96z&+G2~PLaLxvDj1PKzleWz+BmpK_}Q1`ere_8zy55xUw`UHzWB+1|IzL*iu{+qBXa$peEJhF z{_xlT`kUXC%KBJ(|K?Ap2PgmYzGu??UrYB7efp)(ec`7*{nZ)6mp<{i7ys(%U;0XF@8{C}Cx7(C zmp<{aU;5oqPX5!+i>!X{<=Q4ae)WU@BEkD)y8rU$bN&B8 z{vf^oo4Nkar}}??>!1Ito9X^HbA6I=d%F7jkKTCx(I1?j`(x?z1Cif+_lN&D|Nh<+ zf9q?n{K+f7FRw_#cdF+evA>+`tFL@j9y*a%{v_SKA}3P)-TQs{$!C5+elB4PIi8S5 z)5VMOWlJJoI{A4yl}5glj)YDB{Zgvu9SK7xXYJWZ{`-HD-1Cp$^4mZ4-_yH`obd;~ z|6T8t?~n&xX$=O+=Y0;rkIS#+mdZ)Gy{S*WRL&>Uc_*Ex=^WE}=I6Jh^IQG;)X#JO z-KX=ubY>_o{kKc!z5cvSXP?fMKYPm0#`8B`*QvknL!L?7%KN81Z6BU@UiRp}F@HYq zN#}{f0(gI(^7Mn(A>Qs-F3RrxH>Z1(w{cGAGhW{0X_4=GI@b;h-ktbw{~caeuH*gbe6yGRzK|wAzvIu} z8R~nh=Y2ku^#QNzJN!BD@OFRyXgXi#&z|!1`T1>c*9X0x@AdY*$J_FhKl>g(e;~B) zBYuCKpMSTf`+%Qs^>zRs8OP81vs~ZD()m$;{$W3V$ji*E;aWQXOgjJBiP7WF`|sP* zd6mws_vI#?Kb+3%-dFkgg+I^F-jL3p@IJ^md%dT7G?eo?$A89krvEQ`donJc3;2A< z&*!`^9`xsH|9yIK=DKe>oH_jqe!olSxA=eiFZ%n}c>T{hEbsU8aX&MSJ>hM-<>za| zdDF{yt+(x_r+LV)QD5%w?p2=6|Kszc-v7Ce-{b9jpZ9(K{ea`(wXfpLI21qg_6=gGVwkE`omb{-dNuj7{2Ie8uTFU|-3 zHry+n#dx9`^euyo`URPe}i{Ki(hipYY%3y{!2B^?p9)_qJ^vt`zn0ElPUml=^Vie)m3021=gH?w zS+-8UlU&Io@`fbe?~<%O$hD+FOzF6ur0y|E)eBU?{x^T=v|~)V!zz{V z8Tmqbnz(Ax9p-eLrK3r2?6*l8K(FUDxuJU8wR9x;Tz)X+d?}rOT0Sp7EgzJhkq@Wy zeeyPWuY8+4D=)}<XZ%;Yilys6isk9%LUy@t$c)EU#Jdn;0q!gb_ zde_tG_vzH4{Qt>xJf4424FuQmxOX|Ia3^ZoZ$U?^1OVPyemQVF8Q7W(FYO?-<|HhkZOBhdY0dPH2r@;ubxh@=c}KQ zFD4y$kjE0tw^J!UnM(aa(tcl(UzT4@I+`6&5r8l{Ecj?F_+31qT;8XwIuYv=x@Vb5jyxsi(togXN!nN_zn5xr}Rb%3? zpN>6SDUN?Tv7YJ{@0R5)v0Bpr@pSmUD`yv;us0)&{Q}RieKlrU9aDhp?k$deWe|*B z)3Macx`t8;N76Bju3i7(Sp42+cf;xxLD_x)>P+(g|1$Z8*Y?J=m2<;rVozu%u%3#0b{~O13zRohj zK0$wfJ+-mZ8FG_a)TJkXUR%=X?AUth!_qRh&*|FKM)dR`O{ojiFqCn;(HyJ5H8E$f zWaBn=z13P8?RRj@Nt)6=!ZlTQRvO3QT=H%7eiHHoOMT{Vk#}6sZ(Hbd$@v;@S>rQu zucc4^X41KOt*s_3tx70UfORZX(FE9A9RYubW6q=tw0PyEtje5j?{-yAa>nH-ZG99q zDsQbr+t*b~{Yrg0O*$V{D$kUEJ&mi&bY|(#elumACrZlWZI>u(r}F1jda_k1a;N_< zR64qqMpsUopX94Nw&p@L8~@Ftxp#`|^zA04-T3HjlBC}12z-t9!8Mh9JN(rE17((Y-2O=9JqKxuutt9jva-fT4md%gFb&&Ni&N?Z6q z&N(<_lk$tv<-u03O=@pao7S45DH7l7H1CDta+{tRKijDuwsR`Er84zK`);Q=-|GKS z^|D^M zlt=HiU$&Yz_wOy$F}B+Fjm`m+QpZMlD*AC&$#+gYyiH|vN*5cYxt&VbnR3pZ=g*2S z!)~uN4a)mFrOU0)HKt!|RAL{s4H>iNj*Xq_K^q+<7d}62w8mM-(4bm^@%?{EaX2fa zv-i$cVH>^1jh4OBaxz>OsvTwAUFv_sz&7>Qq3+enpdZ@j%h@*LbOqA zt+kbtwqU2Qj@p(<+q(BY*lWACTHjtr*;+^1m8Kjt%}(db3&ET1~AOlz%S<9)SO9z1KAqxQLRy9=e%R-YM8HwxESAeeu(|7WKI(;vsu zOQt!`j^C+Z+VV|Kqj*0ST^oA;=sC7U$DKSEOG7!xIXM)(n;Z&DvGMVSvnyq9@j%DZ}dCl7?qOo9Bu9#YNWHbz2_K| zvrRrG(OWfM!H>`e@cnbyIcz$t8+=O^O8EB zUniAmic3$zrI;v0Xj-DC&T&;U*EayX>8 zNg@e-Byk*;uYZ#C=*N*db>AR`m#LiQFM#+ShkFH>Z zWfPxWN!b=1ZLDwt7&?Jv(Q+HrjE>LNuYtd9DZ%Ujv*T?pxmw39>|3+ULR@yvw~@5NenCx`!>0L7GoGRFpz1G({XRx`XEv-XM2FoU3cJi5o*f;LqXu45T z4E}B|wb|^{hthk8t8?ydCCw@a3_j2G-cOzPi&+|@Rb+7NjE-NkgZ8RlSlyQb?Yl4Y zH+rcr*apmNhui)St|6QLWPLRhnxxLx2TC%%dG?v74U~Tf&2129eBe32mqE1ia=S9l zpl3mIo~v=iQQA6H+DIIHltWt?1GPmeKx;_lV;KjuP7O{wwOz4J17FDyY@WU2v*rfC zCNz^{_D8@8JfR)Xmq6{X9e2*lc#MvJa9H$EY#aM5!q5kpt@hrj9~cA7eW@Q9nWU*o zYgO7JCp&*^tL2>q*1b*j{#dTq2VFVGiY`Dk5!$-f*dw&&03+m;Q|S+Q!g|Ny#!DIt zRSZ5_`-0=P^j6~%;IbWnWOO`_)f>VC&c+hDz}rB3O=(M8%9ulGLj@0O@0G$vfh`NA zMSk2CE?6H^`JI!Ff1%QHmahk=)!tiYI<Q)zyu8pBqt7%TVqY_wlCVxF_srMk>*t~nPrpH8Rx^OVjOsI?P7493Hch=H0Wvy_-^Q0IlBwvJWK(`}Noa7~VC6c356FH{K0!Ddd-6QCcQJB)>U(Oy#9 zDLD(;)wxWnQO{nF$=n;4-p#s{W%(p?XC&z;pm0I=VF7wo~(uTQR;%NW7^uj z((A2s{%q|%Hp&BD_vBRE>)XNW%&Bf`8&(SarNTE0Weu|m(@!}&$I1}iaNaeQ(KvVy z_x`^x*O(ioLP3xyTE`x@v96*rdHo~g+G5c zsh`)SyiqVyTCePMjN6EVPneqJu4s@bvvE4GxzKc1>yfqM1-k6ybwZ+uD>jU&0CDb7)lSKQ&)_K_E8i8RHIC?1E-4Tn17?cZ`70dYNtUZ4)%j~1j zaJzO+w-wlyVBy(#O=d@hJBi&Xw&12O&yz9`Hy}Zt4P#XucL^*Wu+2b{V zJ3t2-7Fg>fYDTT|Me-L=2YWK+Avc3IfS%||`Aw-m_8Ml7&SyASPDVlW2Bf&Yf`HHs zJ`Z#*{}>HhUx3ri4hwSh%Iklr(OM}}sb%na33@W*iOJJWq216>3~JO$9$jO@=|4gy+jgj7q~LOqe!a9)3l>={#CIqCE~=kM>6RrGTeiz+*az@n1{ZUW6^qxG@c_&xrp;8LLJ6B4yRF zpAlEl_QH3-%hHaTkF8*CvEG8!sw?T&#bPi>#0qPSvJ!tVn(;Chn*sPbXb5r(;6KY{s#%z|K$TgxFmjQ*zc5wNd%t|@s;qo&1mTj~c_;0#Z> ztdZJ7iNm5(vQG3=`hQCv6I+R4xSBjlVNjdoPPMvLHU6F2OO1nFiTToQd&Ewz_m)Tc zti}A%Yma}au(`)Zm-)JS$FZ&N*t@o{RiDf3TH)jxeCuAWPJ3hRdfw#rkHORTjw7>s zT)9oev_`B6XdF`0WG1&NKvy%18h!2Ng}QJ~vv*B(_HnZ-9BA+Td+9o?#XDNMjpEf> zW7>kn|5%*M)}u()nr7{NJ$U+!Q{P%<*VWF8y=Z^!&`#301+Y=O6l23+FP=R@a;;DH zj^|cuHkoW&_=SzOKJ{ac_sX$7*BxKxQJmBBYYJ7Iks6i#IMT?^jQ%gv$g_A|NVP_T zS$a7U*!&?6L4L-FuKg4?9;Tzu8!wAKZ_<0bGtd0GT;o`kxL0V6hoztC`?2J}IA7Kn zkFI~DT_1TK%Zbm%#c!(~gmslVMxU=jD|?4=J{nOTj~a{cpP)7K(YF!TIW1Q^wAB@O z-r!KIN|{V|Z1u!4j-9DHv9%|C^=4CK$#p1~(%@m)vBZ2L-;$;%3t7&w^v1TlMV|c; zc$Wv{9NuFT9!q^DoMYG*ZNbkJR@THw4oiQ_woi*WVO3E*`VqO8?*KuooWJq4Kg)Fw zhco%=XqoUq#qw)>wTtr5Hn#g4jkV1|N%=6Y3Wy>Fw2Sg~L4!cvRY*CN^s6dgjSse= zb-HY2300K54o5^M%Xab({dXuOFa;#~h>^STg50~?0#$!dA}KGHwd4lJdZj(m?z?}j zTDp7R9^=Eud(TpvpZ{3tQyBr&7><{E?01RBscK2L_?ln2-6dY+ZOJrnb9=63AU)s?2(xLn88 zIkW2@7ClG5uW=*uAKHjqIo&dvr|y5fmFq>24D5RLINVXN4zL&am1BEam3X=`_F+|P z7j+!s`x_n0o?kv+X@oXfg6Jk{>WGwN4AdZqe?@HKrAx^-+#hJx`pNkRSIoe^-bkE_ zh6C7Qn}<*aEwA~w($yLkhrV;a&?JmO1E!l$Rv+ewzLW>c;Ovn*jWB+1aNU2Rcb|_v zwN4Cgb}Ga@SnQwq91w*zxaQxA#UpqAcJN>LQOu?@y5?Y5M|{^Li1vbird4h< z3VaHXvDd|;3_rd3Y~Z1wKHs}`0jnf5LCEW~y32c3>SakZ}bwqDG^?QHBU`^hB#Q1{W!V@!id%@ zlUA+h1*k3juu(PM-smTYHd}DKXm4w(a$vn1z2@5X+!n|=`>@ByQWJmZJ7NKG8PQVJ zc|OoHIa(vF+jWS)+7gMbwd6ZWtxc3rohmJ z=d?)HQXMQe@E=T}l-gbgEeC!y_}`)>78X**rbb*~#$sGJy??#bEu)o|vt6`ON6Kv$ z=`qGf>D@QcRxl99cE*4B-I}gqe>Q=pkcK|Z*aw*DBSf|BI&vb=UYvl#BCq;XC7e)y! zJau13%41G?45OY@Q(oQw5d(xiN*%F}Yx@#$h4w@b2ryQU1-yUlC5|oB2`f7NcNk6d z2w?p$+ZHL!%C?#ypIX{Uu-Z5B<95;ZB{ehMC>RG!PpX~{XrLaCaU{jn)Rd}e8Lj(< zc_L4ZnYFffK>KK` zHln0M?$6nUz6XEyOFe6H)M36fxFM&+hz5H7>UOjNvc7_bb7IY*$gcqfee4nQbxq`6 zbvlD-6(AYHcp;})^6`2ut7jFmGpDv@*b>)pvBlXlaEhOUSHK>R~Bsr z)>g1Y{$ec}LR+xvCeBWAw36F#{BQ*m>H{YL{Hww>J9&RtIL^t@7(oz6Ld0fM@Jhhy4>cr%==6JR7-rj5uKp(N}CZit{b}9E^~n zY)$<3PPK9NH2tO4+LxGF3D*STS&VovJt_CFtse%Cdtuv%v#19hax#vE+Ao5%NFgOf@Y@U7g#a3X_AP7{B%5FA2OMov&gG z1009h(7Zgq$#icaWEKv*BOvtAwzZn^8FwGeD79hxC(pdT!lp&tPE?;R9)%#WBiAH4 zc1J&U3AzMUM);z@8r5=Jt($0#SMK%o=CsEORrC2XC6-Y-J}uQ+_G%~sHap0pNlA*N z)To}=#djVtv>F<14tCkK#He1@Jprl!AbIO&0hw2qb<(%KZ=W=|Od|?PoE0KhK;Qo0 zHyu<*wY6!5oC`H<%OK0os8|<9nl%(z3ms!^53CITV5j^l?nbwvbTGrg-)*i4d|4+O zk=yDi7z8G{sRo+k`(*~{4@^4PEh}3zXvMU)1x`>6F#f9dW`r`eI&R%tW}z*&K)quo zbuemH8v8%+Sshtd1)3d4p?Iz3i&T5nLfoKW^$xCsJ1%%g&wP}!O%jb}AaF<=@ zD*Ykh;Z&6LueVxREqORO=!fQdKv!%;bVb7=_EEaYEQZg0aUoSO$|lXgzR7_YQ%m`6 zsGHkkGf{8786vFxzJc&RTxJXUm`cBopYBZOq!}EH^+I%(m`gpx#02^d>@NMZG^G3@ z%}5M39Sv~J4wdLCBOrww$^Ke0bO!_0W!vI9g9o|^=XZH8Y2F=vxP@*o0ULXPeE+%n zjOA$;;rTda#p#LOxQEveIk+y?#x_RR*k~UdD|i_Wk?Vg$6`t{X-y>TVmZ}y{3PuKwzEBdKS+_~Z~rCqCW^O%X1CLWaIdKLFpM=uQlQrPVg&#<9FwrMCI92 zyDJS7y5q1j65G}p-p07NQAtne?7A19TR$gIu7<54C9j6FTBbzK_(mL(?(=; zbosoW`Vf_+nJ2WU0;Jyajx$=f6ggmbROJ|8d%kn|&3GlmcBCbViSw0Wfgu0uX9*kj zgJ(Y{c{%T3J8JsL^@l0F%M<~*WCQDZc=HWZ&XaD;K|I72HgP+5yq{I&qA9$)XiD6b zgw2MBa>qEDIW9`Z+#m9@`NFn+yZECCtDi$z^U>ABMUearX+U|3D~xGvyBOR3E@gV` z?`-XdlD-%h81lzbv-V9OfNz~GUwi==YEz*)fq%-!#{Ykv|nT^YV>BR|K48E zzCmG`z`g-XzaF2~DNA=PA`oxomHpzHWECD6`__51z6GB5KBGy@di$l%W?kfC2+91L zhaMNx2Qq6yFCa`Zs?F4lRR@O85vH>AE zi4LdZb~6~;6-UW+d3!Ji`aU&6lr z8R-B`J+mSB5EDmT$2%OPeqCgV&FU3XYcSrV=2Cpz1JHe_PGyjJy=>?0cBFU`Jd5$^ zwV_!H@zyWMZXoql6$QcJ8bSTbyPEL78UKC}EwcugD%L;+sXceDuY7$4nKG_A+0d!J zd78D3{s{l`N2?J%wT|a*I7#gGT~m)Lr#eLxKk@MM!eNV9`u+YRs_^!R%>~c+D|zbU zaY9?&czR%#4y8h^y@w4AVsgQR(srJ3xIK+wS3mGpH*{(tkIUhaRXR$6dfXu$Re*32zr9=#f7Xv6XFQrF@2(Osa9 zP;JW*DX;6%r+=^Ag73QyV1K@u&gX?jni-B!OeR|9G5mVU#lF^M@W)MZUda#-qhVpi zgg@ICjalcs=^N8HlwKDK?U1d%3?se$tu>8oT+5sq(LMR-$cp2b>OvEbGL(cov2upM zi-AuNTKDp%Icf_e-WhC)#`S%;^T-4QEtek~s(G}JAxL|1s^(qDdWp`gMfmXM=h4?H zJSN(k{khT-p^IPdS=;nV3u_BYG@BGu2MC>TSTX41y)YEtm|>_qJn4o=(`0>78%R%0 z0zj*Qtg7xi@%&h1lHb^T@yu|u z-Wd;>h8VRytK6Nw9k(u+(Dy2YYg9DO!5SUnERHxV@68ax*RdgzYPrZ&&O7NP)0#vlZ$QjVvU;xulv_(F41!HbnUx(xl6~uv-H)8YwANHO8 z`MhzlmbcvGt+@nwRaH>OwJMloN&qz##C5S)xjO`6?>fp5jml{SSx$)GwjUHgR5RaenJS99)Y3rQ zmZ2)N0&k7H?ev|@eNU#foztjusQeyAt&ub~4KKHyDpR=Hz@zpl^#suTMcDqOj1wd% zzlhv7XDp>&Q)1=vYvIorO&VSmxotAo?eHAKX$@{WNdv*?TzmqCvF0RJM@m(~s>NVE z!kF6!-lOpoiEoUVmh~7N=#ZKeQ@O>5$^*Yz-LrA!Zoi*?6Gd|>idxrh5;mLF?m~>J}%Bz6z(pE>^+5f1n|i>XLUc zMKhbsO%C9#Vm?u9x04|iIO+&{f6(Q$VXLX4d3*o**zg~{T}hSEYq)T*|3QyU21gNN z#m4We$U`v?Mrw~3A$E}*hyZ2W7nW+GJ(ns2XKmTFJNcz-i}FUWH`$qgz-DY z?0=|VO~FIjJ1L9e!Q*cIN?rMdF;udhCH2oUKA zU}U_O5^dh!jW7sI;Vu|kWvOF1l}<|--_kFi)eq4)ubr8GZY$0|9^ohDEGtS-1n%9E zXkGGzUHyrCO$RIoXi=N8LImgMQ@-{xehRgjV*~x5uyVs{G<1-cybJHT{%@Hqwd<4d z_a&F!hv%kIkbnhphvn5eFMo`Z=W|AqYRPHzFH_P7RfqG3CXA~nzM5;rl|n`-kO74 z#DiMiX2$qOFPry3v^0It6*jztyMyR=p83lPIHr01ySk}M5gnZV=?^0v*Mbu{3*3PA zsSOIL)(;#-+4GI4RS|5zv3BoV*{ZL4I>>(26!hVb4I{)V*@VQWEs%RrJo^XCWp=`@ zt-DUOU;6hh!T#sg1RAmj^u^O`t{F&->|`jOG8r6Ni0{LO{FDAYlnTv={iIP4Q^YZR zzjp!n=}>OgzkHroM?~N!Gq4D)&@?1S#`GHBc?sy?e&_7s_)nzj00;j1Kbc9%;j!PF z%pH>_&yU6XBTR2zE}qjHST?3eESd~f=HF?CT)wX1zP zeo{`S|1Hm3^v&mHuseWFy%YUPwxD?Rx9>X(Sv@*%%;VfpAC$-UMmjMC>0zf&h-V5d= zmrL>xHITk!gjivn-XTzRTJ?VRwFQ&pn7YdzTI4dHPmPL1b`Xn}q~Uij8p;H9x?|EJ zdR)JtD=4#e;P?`!-#1zrMii6xB#VVg2$K{l)sJ|)E;)u^INU(Wb@9)5X}@WJ38yr` ziq6}z7P}1RYv6WY9g{UB+mSi-Gz*4FpzFkfA!ruC-bFJjED5tqK2kA!V zf)R(?U<5|bV-|udIwxNh8Y_I792Eo<11-HiMuyV+vl+CImJ`r_jlN(osEcJEIZ#yQ zw@TXh)Gu#XgP+R@}0LzytU|GKZkwxsOXJh`ViDh8+RF+jF7G-GG_@Ru3 zr8a5A;>Zb2Bely#*H(8(r$0rVm5y7-E_$Grlh_;uQ@G=n#ea^_-%Unyc!>hAASe61 zRIjgm*2>taaB>)vTnJnPQY0SD?%%d?7Sbh$8P$9%Ojy?LHe3~chNvUJNFObaK#x1- zsrP8YCAsYym}EZ9eW&p1EAJa)D$UEldgV!Tp@5yAoU1p)MuYE|O4g^&zWnV}(F_{l ztDW>%Oi^FL_G1LEv8vwhyyPq&3H!T3ByW<>^@=hlXO zzkZIhiS1pu*|Uo`_O`48>i3d%xV!5HpjS@GW2WPbXLuC$cmce0PM0;%46&6 zOnsV#f$}XfMESbwcY#;hz_k%&-own?6AvR}(@%ERxvvRI3hehv;B?z{L)C+j(BH_8qSgHw!=aX$Zw4agN!wHVPvDCGdQsRw8`Num_wGsIY4dX% z>0`^qF2Vc4HU(8D!F#0L@xo=)@qBT%SktN2PO?|Wqg@8dpuz_QPQmu;Sl~DGWNpY; zwawuj7Asl(gnpj70WwNjKh~hH2HkLheZ2{h z5is(EF6hC3HCO?&ulikKP@qy6MfsA_Y0L$&~|;8#}rSD{$Qw9wR#vck+zqq5Cx0i7Php zS4;du1N`e^gL92u@f^q;c{r4P|Wtnv*FT`|f0N`ttZ zEN(_}_Ws;;u@^X7>WIQ&-c_~b?*PX9NR!;YiVk*7P4*Zo`~Tdsf@iU_crVoNOZ*O zn5%w7-;V>POuTw4KYwSZIFly-*(@K^Bd0$5>F#r;`m|_pLbGx~8f5Xcp7h~UVTTG{ z2VmP?IxN~+8Happtbdn(l62wXo|RjN@sz1%3Q85Iv*p`<%HyTFT4lV<44Q4!*A~oY zKcgHv2LG(ETlK^70gwLxyP2Tt6t9bIUvl?xheay#e17wN=ksx5MK5Jc@UnuBNKwtL>I(joZkoe=02@@QD#Kpbbjx{lpZ!8QE#G@-mO z^-iCk?`mOlZSI_-@KfA7v_o0A*K(gvg_DS-{N~+vMSaBW&p&JLN3}iP)&T6b zPvINk{Jb*iG_fYJV#^zN>n)i^gP@8mB35h4?S_upV063+oa;+$JXkJmkun9KXXT2(|HG5 z<{9&Pr{g`WgEg^ljq5}`YK~As7>eA(QZ0MnF3#N-lx1yZRp2#8$)-uXBfJL!?RdyG z_5I7k=R`gxZ#)aDg%!4R!owt@&-NxxAB-vS&Gw~}SF!8x$_;yl*)N%VZGoklYSMC! zA}uL#x826W5HYzE0UR*exsmbt4<=P#tKTd(jr>!3!|Hs=+_(0}6o{h?GP>skPm+I4 zdVT7$TzRDtv`rj^G2W}X=l2qW7pD5;ZL!yhnzDKUAZpJx)wOT6#wQg@D!eZ-2TmPP zD~@f9BoSun+oY>cixY94|1e82w}bQS&ugKCSoHKJc>{MmEgIhnkedt=hfcHT+$Otda zu<^uwLHEMfs^Z7HTdlpVYKH!$Xra?>I{$>h+X1~Q$`r38P@w0RXabq|MaMTy(v%@} z+9Q$RJ=k5^3f7hg6c+%29Y#=uD{=!@KUOB?u9R5uhs;WkLFSip??-}e>s#6u$BVt5 z3~KLn%VNqLzl|)BDnjHhZ?xx+!3(Vyh$y2E{vJ6V2#+uSvVEab^A5%LeEJ(;DI{eF z+?M6q(rbmYq28DS=Gb)c_2&;w`xvN;z~5t!vVvg+m{4p37BB_Tkq}r89RjDM9E2{o zC>~o?r8%z12$IM(-0>~M=+%soU}f$dIV{@_RV^(of3MYBHY(QkH(>2ZS_nup?8PE` zbIYCL96ohi?fmSYK*{*K-p3IgmLKoKNovT*e1)mt>VogNWW5qv(ie$_nZpLoK(GWW#T*%x zQ0{q*6)?6cuGuZ$=-RQunkFKup$;TS=WpV)&0n$^=BK_iJ^tJ-Xw2O%RgDMUsKL1) za|&LU_oLWZsHvYw6;fILC}!0#muXx$N8mu9)=zo?$Sv8aRz$Y?`$G1x(5Qq%`=5IL-&q$K;!qZRUe;)5 zeN_HMp&4b-qQI%zw0pHXS*>@$xM*KdoZTq_%JzzXeN4u+z=v?#2xWZa=M`_E?FDZ_ z!2AF>+~>gvF>-jap93ywv0@mr{B$HuelH}CF^}Wzk$YbK@)a7I#P_T|=U-fE zpSHg;%LQPwsvmV%Qzu3eDRowtC8m8N7&Mp>8W@@A4E+RV9CNU!N0dItRJZw(aIAbzt$E zy;!%{gr3Ckz3)y$iwt7JSUvTyyO7rd^GT?lahWZ3gR2zox87nX*b8QJ%W=_|f)Zb& zrxr*2aJJ)pcjdo8;OZW{6&GQEU70)3evCO4|$IyNEQCn z6=<(rVPA(zu9i28-By{0dwS6u02{NvgXZnP8SZ;rLE^^wWMQ1>?oxx+-OO-x`N!Hm zz9!nVQObrXPY(NTE5=M-*NBc6R1&0NHeIdxAQ;qLu5AG1TB+Vdqj%!)&SzR#vBH03 znBcg@zp{j;x<-cWv)E2IyzCF6VqtXN4rGxl>tgB3P_7aKCypwk(RZ)|qBy&~l~PXK zzxv`BT$_EN)4oA{vx^EhXknL4DV5<_dhi7?%brFK90^xafaC3?knQ&OtYvuely3I6 zbB0Pm#P-)Ym2U>q>=Rhgu(Y&!g2xdp_Wc=IEWdcNdv}r8CTJx}mG6~E zV84EKB)rw(rSJ(AfE>_?vud@*lt6~H4@KXUQ`ONUPhT2ph7ivJe1Jg=Dkm9#(Q&O1Uc_{S%7JNGmV8VtU&$nwAvzZuY)E2k&|r z2sgQ_Cq=72>s$ee8>!FYP6b?w;FZ&-!NkM@71DGLG$s3+^!(FKafP%=I(2!LzQ`=0 zT;GrmXyXJdMWIcS$vk6(RNF6s(tnPjHEgbxXGP2L-`Jqf-Ng1O8ZXlB+wgIc&kWRO zzPjPqYF`T=!%Y_cwQv!gSWsHdA}^Y+-vOpfxNExzKLz}%qCMW9|$DR(?^N^GdL?BysNFw@bk#f1vK@0VLV?h+r*Nh}ryU$zx=>{5< zxXPoT?F{tAIy5&@E$Zwk-j1}hPleT(FXuIYrbGX=5Jsv4Ie&UGo_`QbxUIXc-E3TP3@wFjIm;!f>_kDFTF%;k5u5otx<2n+MwJZ z@Zm51fKHrN1xPua)rytj7E8D30P@|$UCB{;nD6hEw{cD=RnS=4oYX^5KN;IG=^!zA z!C)UXVTiT1ySFYqEL%g4Gir(YY|bN*^I8H7_c$NCZW841Y0&qc_P%Op%Jf9qZDbzy z9VYOswzFx(^$sED?|hD-+QhtYcjs_mCAAT=Ni%rv)BH7j?+A>OB&yRy8It^~em2&b74}1#zSn~QLv>nmC)@0NXTUiuUYE4N$vt*NvS6qNT;tIj% zCU$cATyI_6Oqld1Iz}^~L$qH(7{7`b!1cw{eBQY@35Vs#1EYoy5y>Ala(*ms9DOwz zTfE0>$7}Qwhnvwivx)re&M5T^44g(_V>yq655%|B&DK*9Jn}{By$>tgu|Ptc+Jd59 z<|eJ5c*EZ{-PCOr@9b5>aa^--|-Im z{NJ@s!LM%X zA9kW3nG9vhyx6V*L@_3d=G1mXMt8rbf%0a}is)-C*U4 zvj0_tFX;;D1CHRT4zCMi4}Nrz}f?An&36bro zS(up8VoenZO$F0hDWX=$i@p^tI`21$Dkkpiqz3U3vkBm+#uVx+`%Q64gx2)60wH$L>Kwt9wEpIL6_a+7}TRfd}G&@ zl{`W^>ijSFdBa5G&MqYHp2V(=G{l!lzJi&Ta`s=$s9x#ZZ4yxer%fg@AEvOxcw7-4 zOx&nHzB>pbF1+gfvhAy-)|bQ;bb!Z_ZV@h?SbXUfgW4+3On&qYjSvrulkkk8^7`gY zW3w|$Y7vimKm6-g*2uvFZWB0HdqAU(?oss1(9M;$m94PMiJCT|Lqq>GQL}i+1I1#+ z$by**lqB6NZYF>866KnHO(X~(veC2?TpIBdZ1kn>k9z0WxINB1y=p5~d6GK#4Y(SY zoi=oBr#dXxUW?Xy<`^WVfiJLY*&QkCtD%_Cyucv42vdj@I3^W5H$ueo*oF;#3*bvc zcTzZ^2*FX7Ufm*%J|w%s`K#TRDoi;Kv0`ThG9cU&K?V*Q4Wu0|0{SXEg^qS(jV}BU zyk8g8bw`Zr2*z^=iw~{=#|1LBE}t(|G9Zn9w?=imbKY3o=49oo{wU#Kn?XOf1W3zB@-71@Rb73!*y>0w+w6B=UdY4=S7*_&g z@p{P!3nIQ8x?JXCCGwGX8lYLb7#o!>kkPg;Udao?iR+$zhA*k$3^06=v(M)+-4oIF z22pE8r={MvjOpcWSgeDiqTnFkBVJMme9do(Q zaLr`5jAbNMFofHewEFQ|{oHQ$*Z;xBX~>@73HL-l$vE_puvLaf;l3C@fUGCfZ0K^g9;*DP6oIXzRr)?TH>vWu@AW0u+%oi}3% zKYBI~{#8lG63osB|C?A;c0BC8qPRR~V-{U@!sR(PW8RW{Gs%m!@zpIAWj`q%Q+Gyx zdYBP&LBK8T#w}qvST;!RvR~+W4s8$v9W)>wc3v!qUCu5=?E)&fKF}tRn8(~E!gC`- z;OSof=|cbM+@Yc4cxYGbZlzN6h7tiRV6-D^lk~^uNv6{u0}u@j5XfWNrm?+m$E0|d z!iB&sYIb9I47B2NuLF4BwST*?gH-VNk08ZGF8Kca%fstg}@)4H<=@Y%V;==>*AS0wDePbq20-sC#J;}7N0{;+TQkPXWm+&RaAx}%Y>f#AkLgnim8~g+)hG+C6#nxoKB4dFw8$hynwS z%T``?;Q7Dn4lYaEj$zIPd0E5PfaC+3BJ9AV$#Q#4L^*0*?bApIb$MVW3rSgdk z=JS5^NRw|IvoE7AwXDKrm0sqMDk;fIC#rS{D+yUN+SOA-=mq$X_c#Q2v)sC`s9C$W zRXr|p%x`8M5IUd*hs>^0;_i)kecUc z+;JpsqD?Q{www6Cd`a7ONsr86i%{K1QYn>%ves1T1WnbZYL?*%`rm%70+JGv%Eq?J z6SjDdy9@~4RkXxyD!)ml#KC%Y+$j#JDQpD?m4|}4zP8=c@yEhdNqyd~Iasw69-@Gw)hmB{rNm zG?29l3j zapL)aWgRMa>**)p!6Nuyx-YTA_MdHc`D|Rhi!WLzXqqv%s4!^0bS0DhQH^zV28#%a zPp62Q?Xgy-e66#X9lN_78bmzlpd3@sIDIqANf z%Uhp5&0n$C3Ro_ufYX~15DZL?R&P^NG^Tr^_g(D@kJ0!1g$o?XQjk&7B&H*S$eKY7 zQQBY9t-e57;#JlBlq1gOC$Va#50R%si|#%V$09n*9-QZ3c=s3MAh@H#J*?Z+bD2A| z$YM)$CS&i@`#e#G)6QIpe*7V4mkbf~7!;eAu$O?Htccz3I(vb{;#plqL2IR@>B3-> zCM)((7kt&wlnHwU>hO18<1Ack>bejz3e*WIVcCF~Lq-d1lBaF**sJ|yw_;%ghbhCk zywh4gg>u&cE^23=p?*ZxoV0_&@loZLQ(ibWZ(0qk3;dXY*+ZTc9pKbB9-Lh=G`hc7 zUzg`^Y@&Y=>eXhm2ytlA+Q`(}OY48e)UEq8R`^n&f56ATSQzpP-G4(URM&fbHjR4k zZVgzjm}*|T^e#48D%O3Ub7GOQ{-#dX+Zz>7v)3g^6BYuirD`+0J6(nEAF;qtxB{+i z9kk8ftb;N05uH_p3m+FGnJ$%I=)s_O##=30HzuV9m_GY5E|E42N%Mot)-kih)8sbQ zjKmvXx>VotzND%giBTR&Za&~bxu5)gg%2n-E#J5My0k$(LJu7i(MrvBHUFg;SdWdM zC3kW-lsc$bvkI=<+?GtA)bkXR$LCk|CxR3zWhkS$UBbRw;|g;?Q?z(18Lg#&$qV-ZTn8l3y)ZU zyoCaM@z`Or#Tc0|qu&^qX(BHxi2;8h9yXuQ?Muh85fzVo@gMdeu%h&LvX=xFSxATt zxOvm(4`a&}ZrvRGi+)?I$SXY@+4}2P>BFiNG|M5uZ3Wxjxp@U$R)M6E3FXzrFwm!u zUs|W@W>i>X)jB1y^O>t0_TKDL$O2L`Zfyed+)*_}b|Ar=W2vSSpLs%t5`erV6p>C{ zMm00G5`5yJ4;C)akE}_8Pi9sf`_dBMWDkOp@Tk7PsQluUhTyoe533V z%a)bgbZ}foF`~ZzF5M)ftcsy~QR#hm%E=^X!JsbDDM+?>(9uPpaf{ELb-z`Im8Iz~ zt7TIPRHi0`^d0-0dpUt0(A%^${2ZVer5^2_GM5coI?kKBOCj=58tBkqjqR-PJ=(1s zb>^P^XddMdsF>C5wqbyu#5?yml_2`~PW&O}Q*P|h=UPAd^R~gz(}?UpKTI|8Q(bEx z9*2gQRW>4q*4hG8-8X+bgjSm{oP4n$O96pM*b5p2iVQYGa$)s{0Q-ZHZVaznfO>uY0RIshVMZOVf3%d=5jAZUWi07;2f|Ke$5(jLmej)ZxTVih<*ZDDAn0VLl=?`vf5W zi{?}T42K!&PevIQ`m&v~RGQ)+&}Trw}JPauu>{v9i>@ZSSay z7b@lvjMnpp5SrUGCN9p{0gYZXZ$yf-5D%!7@tT#JUQwI5d@4eV- z$dy1OKm#?FxB~4PjtROKy(B(zmUw=79(n4}Mcq{djQ%jdI0TFiuQx^FP--Dz>z>(p?X z&1I5`LQI{_s?YC|Tw}wz6^O&j3d^))zPJ;Rm+)bKQ5&`k=4RQa7W=$~WgX{c17?#5ql-y&%WBbAKBiJW^ zJnW;JevxiUSu=^!fcJlS`vg5XZqLIg^Q*1P3%jjo(Afk7;*hi%%?d1Uw=*+ zGi3@XJ-uV`FI)TVf#Xpx+I~RnXXNBzuouTBd$xrmz5y zt7?P8Z8dgOfmH4`!6GK4cqcVW@^SmP^EiKN;Zm? zRUa(gICTom3A6XA-YwMH(+|*mX=3gp@G=FzCaq%k=aM0P2#gri+`joZaw2P5aGY=R zi53;-b?fTvT+)`@`8@ZKBnZMqO2QS%H%~bMwH(loc7svmzA`y_bM0$epCk&jNE(*7 z(&)p3rLPc!bW5uIgTz~}nn;?@-@7F0zRtodSC|;nBGFVO5mitoUz|?y2F(9(ikekN;wbawR9{HX*-a$Vm?8fFNItV`r-5jsRdK)Ih6WWX|VT zU#D*QB3b>`tz0G}_rwc}1oIO(>F8|*F-OW{BBGnP<>MfhgJY4CevsF|eq7J%!yQL# z(O6f#}*Sv zT}{+?+UQF}{H>1q_zJ#DUEORY49PYxcGpq_1&C6^SsX6+tpSXR+7*0!ykf!;IV~6Q zW2l3&D~y*NAN4lP7(K^E_9j2pn2%5Qe!8|2uVdkpxcB zGH2((tDBED>IIs^@_X*~U@g!o64b*lG-fMO!*u?;OO;#o<7dh~Z=s*?mxMy{8EvxG zd5Z*3aOxpJ-}%p$bIOEAHZR&8DdW4-AqVx*oipWcn(D7Sn{)Tq(-4v#{m+`k!?d;j z#6qTII=-~OdK7=fn&AAR>>!3uPsK!50M};th%w{iuqqJJ@e$VdIg*O2v|nuz`Qqa@ z{-oQtD*ZY(sQvuf_+r+Qx}hKpZSeeXUWgG*L5Pg}>%J~=YEZU{jlNUEb8Xq|$C~3s zE$e@1OK!b#j19IZd~fU`hhP-b>#8&>JJFdKJ$4vY&>~OJ+PAl!f>uklW}$v)U%zor zO}~KG1?m7+wE~mxXE}@*2ZqW9kGD9MqhM6^JUX)G=H=lFW!5XvSd2{FDhy;;39Rw~ zC#evrU6qtr>tzDZ`|8p28C|e zd_9nuBUjJ>yN=ghj?oGeljN}#qZe)aZ|jupNO}S6BplLMt0hZWo;Ed}C}uY{rsfwD zP#zm08@O8}=6&{{d(d>SGUG`7huTR&aV(KjzjYXA06q)z|L7jvQ!<2T-8dWAs%#gx zZXq_x^UUoY`7)yR|L8VhBlrKV{NM8UQwOyFQAn;*9YXtG%`K3yo=W`Y|0ScP$y_Zp zHBYoneeqAx0*YxV-EqWEY7*;AFXq8m|0{9J`(J_oXLZNXUSs_4DgAwacmrnl2XL)M zSMiTxzyCi1{&&ymi}evWXDbTr@w3GLH1%lnKfTm`^LQ#7u~zqgZtDNvk#1I^;74{F zKxJ79n1L2b``(s9e+r}jfts&tjyhDI67N9LQ6F|Ze!ztX*}K8-9(O}pq$SVc!7Z>? z3zUvQZbRB3Q2Sv0E%lgJph^F@Yi8G$7+-H*{JUK42KX!dQvD~pomd;1==dg{MoqKM z6)$@KuHkN&1%2zl32bb|@0u-V$CG~CyyxHdpAFZHa_$@DS%<^M_Jv06M!tMX1i?w9 z*pCLvb?+X-DGbM20>=cOm>Vuo(0h-6Y)$%=)Js8mj(Ei_OqYx-Ce=iN?wgNZ1tjsc zTP15x6#iFNnp-wmxeQi6TBXM8fV>CRnx(Jmg5TEbDiy6E{~A&qtGtD^_KQ!( z-PF7BJ2OWWigJf6_Z$feo1W-`zEoaq0o&_%R1*nSKS;-pVQll7uS!(2CI7Z0TvId= z<&`+^>T2~XZk0G6Kli!}(?~r0fzgHnc)f^Q6gEZsGyn?iT*+0A=ey1^JAPQ}yxAqr zH*a#BpDmQ=RIG+y@RVn1HY&{c{w2r^HS9bikcpW&&9?ZLnG~i*NN&{)3 zC#=3pcahsAn%vDAZPc2Bbk+X5YtPxWS?&+-+`D`gD?D?An_tL#P0u{W6OA!`B}*+i}9l2 zGK!Q1@z|Ue{z(^dUy`ID{aSqg_vx#)1+z8Na{pUmM7;F8=qF7O zRUYE`(DJ9(3eY#U;s#1O`12@Q73;w4e`#Nz7lAnmb~+Pm*&GGP2Ly=gKNI^d=jd9jwDOT}`m^&6z+ zjQHUDrfjsnOGCHIiFm-hI7utrCqn7DX1FWP-2q#Y@K;r~C_({1kx`Lf8+kBUCLh6@ z(kYEL9`$F$OwNQhma)4csG>O~M0veb^EU!#xHi|OO7Q-ABZn`z67$Gnz>f{jUAdNi z4vY%0sKIEbTx*F~QNrtSr{8noIoPr!ap944l!;_otPa}z#di6@`O4el0W0}RHX)Et(53>dO2-DRe7gl&D00x5 zjNPNvx(OFyn>_O^*=YgBsX?T z80OU&B2aODWzZBEFQ!3J^%Xt5_WuG+K(fC9AI--)&Qyx@5I%u4`-oA()kjGmK}%bK z3|K*JOd*{aShm-)HZf$e`?#xMIXZ%{dH9wPXAjPc2wlOo0e^Bq`S&RDkR!BY?P&p8 zWCgKyBb?UK5^FK5h>?RXG=!G6gD1@*-aLMrxPBXA--vuKGAXtK-*re~9I|1BQSvZi zT|(b)1JCZGB=kJZax%`^&om32V-^UPo>X70u+~S@oMvr^=5G&cWiyC=t1}oGMZ3{HHP#f@YMu3VS-7!HH5~H2R_=)wct+=KL;Gr zgUiO*!IcQ`aE{^6a6QED2zbE-|2>2!P@CXE;4Vm=qoCNGaNWx|^EHr+Poou_$NBX* z--lQi@T8MW3R79J!YDcqify814?%`r4Lph*t+3xb(tjR;KPVraW;L?L?9ykEP6t$? zG@7rD^Qg;PQ3HFBuicqHhDN;$d6@%UhWIUt zI30Gp8nt~5lhVi7`51VJVn2Q{%dQ~Ucgaz$X%6`*~N6cfg0bPOT~b-H+-k6*&tttUbX z*79>!Z}cvzBXTAM=rKkpl}0YEhpeU@R^uEVxa2siZx45QNXx;oMBG%|8?%&r)E$jO z`6fYX9)2OX$7At5@Oz3fWN?Kn4-SqQ%PpmJh<_BiOeU2Gr&nT@8a)P#mQ-TJES|@5 z>oabop)^+!D}&G4E0uT&QX7YR5}`fBC@V_DpjiPP&2h*7qwGwU9a)y^>LZ?PB0B)5 z>b^@pnKaVJh(=B%GmiQHAE82QU$H$=mro{xRUI^$(Rg^f-6L}8e6Ih+^Y51=N;8@I z{D0=&!<#~{e)rm6t$$vVO4Bd>s_*yS%Jypvd!HL))g9aD=iTZ*^3VpYX|F`~9 zn{%hplAo5|dh4HC|Ge}So6GO5x3Kj7w_M-3w>0;bmOi(4-&4|{jo#OOg?Qji5AJ6C zyr278sHH92Saa;Hum9G^IOQGgi`U#WNPio5nzCo_Rd?}=R%`9w?)ho%R9<>-t*=`f z^WFQ{=3DDanXCC|N{Vc``qF`Wem|Ffr{3F?GP34t>%Xeqme+bU=ae6<*W7jL+WVQ4 zPHR$Z86$?ann@e$JM~^`-=g=FZO_RsYu+m=ZaMEMskU{xt=TsGuJ>+XO^z{t?SF$q zra>F6mtI?$@zQ77l8enTYf^D96l+P(Iq%x?w{6UDPF|nNxcH^z%8S>a9Kzmq|ekx#eCq?d9=A^AMk?cxu(XTJ=T@)mO&l0;_s(HA+%1_44wzPIh7fI4N5WR z=_XfS*-GVI`cO+-j)>9vSFav(nt#XG_1)Di&iPCGeWyO(ItQ|Td)Jxo@8@5-n31*Q zkS%#rJb!kpvv)o4{Pp?jV|#R)^1k-y_N?93Q=`B7Ra@7=kACN)M}GfI>vi^?TBpL%N8P&i*?!snXCK+0DKTfaf`9y))BLNK zM<46i`(N{l*6)*s+W+4DSX)tquP zr9RVYqc^41kV5qA(!ZTj1Anyf8}?^P{%zykk{b0>x|bYZ8(h5%$%X6Yw9(RiYmQ=1 z`n4SGnl==hH0KDmSaV$bFArhLyQQVJq~DaS?jJKod$zPDQ_=;UPTSkCY4f1%nmjZm zrJ3tAWVw~kZ!Ua<{JtOQ`#t-oD}BLd{{QSg{xiL=EB!D@#yduPbbmQ{be?@*dv(s; zQ%1!TdzYatrG~X#y2X=y-TPg~pkwPjtX*gPt@HBSy*&Aq;>M%5@=8jbsiEJR<&_@n znd6Wyk={7_`#tHucaP%e5`Lvux%Kg{DXaVN)woYQeD!-+tEJOr@8gHk$1h2IkEEra zsueu4=X2N?MN{&b-+yiWkIo@ikEq_1-IKPjK3j3ZvulI*O1xWm_L0829#}fvuKc_8 z`CcKf=ha8}NImoHBRRYOi%)%}d|zE3K2pk&FszP97=k(rb#$j=%$yZl3xIJj33TX8Y>1eDoFAx>W8d zrF*X7k#g0#q<^)(DtmIYXu(*Q)Rpq774OMDAHxo;J-XcbY(>u_H30F;kv#P3W4+Rr zV1H!o#dTM%&Y81m8T+-I?bYdU_VIt`d}Ql1yCc_O@AJ^Tc#21^eH-@c(K%<%RmL}e z^%A46Wx@|X9#_Hiel@4wc+-`x`IU8^o3Ja0`)cXkUT9e(zaN;(y1KXYxKLq{sY zIa80FfhWB5z8-yCYkzkpw=I2c@boJsWed=ZseenP)*g#K-*{q6`!5T!q~3yO)sAfQ zE4AU0<7{Dkru8wkuC=AZr481bwa0&4vWGpb_%bvC61o4<;b0_cL$T5t_Uh~pptVOWKM(?F9OA4WgnW>5ngVhP+9Tf;nYIviQhVJh~m;Qp!Nb zMCq%4_ez`bBi3BqEA{PFv_i|)r=-A{c7MWA5E#>xx@;QbS2QRO9M7DXNfGImwhF5} z7kvjRV$>BWBEkb7lMa;cz?ks9;A$Z}ARpKkV;J}_9%Ys6J@p7965mfj^h*2$YSnV3 z;U^G?srbBDcCE53-=4G~e#9Pv>FlY+ET34!7NDJnrj)?6#J{GL3&4Li1^1)hukkTjk{8i=|Sc^w(+9v!8S zCwaw|e~+|J{B{*@a~OcH~fqBKH9EpyjHAq-7yNH4{|Mo3@9)2VMQ4A;-#YIcDOr1OLD>?mq^_4v z-cySp!{mO60QQ{67S8TtQ`e!{!4lw5)_)s4ZGqo~Prc>c>Tw;dlN+~Oa%CI#pRA%i z72@eN2`{d zdHjyA!a^ZgGUf)AQ>&^;CysTH0nEqZ7L&ohO$s+Y(qB)CsaN_ zS`|dW_}4PD_?%a)ai%Y^<|k0`ch>4hwtf!zl9Wu@?~?amhkxO(Jvnquk7NnwfkEwB z+ShHY*fv&=h-4j}$`a(*U5x>cqQ%gLUK?v!yfFL+`;WrWg*D6SJ$e>k?|2scx)ocu z=1e8a@@A2SeMrR~V1Z;KWI4B-fqdjg{(|)sy3_JHsHt~Xj$!GVhn|jHvlig5d)~qQ zt=Mp7Nu+7k@qfE%%nY_pkCyjX+K;r0U}xkVTgP}FgSMcU(wE9qZAk~Uf0pqXy|@A& zM!pU@X^WOoHnxtj%J)FuNjuxZ>bGT}K~u^)Hfjmb3aW(gllNhL#oRfw;(TH5karEY$2YM zqxLQCS%25Le1dx9jKKAs86cK|2CguX43HyHZqM~5iec8AtECbQ0Q+Feibf!|oyzw} zjlDM{d>P+en`on#Ex;)0xeciWi(^&o zWgxBAWsdyqX)u~8)*(T*_NJ3PUF;~n2B^kbUVqrixzOZp_mE@bOjU2VrMt(slo3_G zsLp#GemH#K7;P=|*v9?VFl#J{{48Nv>iJAaK$r)40AB9s5McZc}oXd_H{fDv8^$&iVyDG2d1#XKD9(lg({mdQ=Xn zT<<#Ds+X5?eO)8X!g7oaN548svY%OVK<28tM#lPS(|QHzsj>HzGuwuIL33n+nUR}X zhR0ybR57Qy^f%?YOtB6dvIMoH#AN22yWcB1YJ^iC*Oe`(D(1*>?s25gF=v!QM7-y3^3XI|cAH#5t=&BEKGAYb zbk~?+%g6_w#j;$5r|oIINA*ZQPE>o(^ol9Rie5N7)ro$mj1|C$_8^9!=1)H6GvCMy&#ohkp_5BflfU zREuEYTShiVwxArfQ0z0jPvpoJ(L*gigSo?_kDw~UbCeZ0K5)4sskx33sNQKw2~y;0 zbp03+3w2r4YMiNE*PH`6@?%IB5t-_PsJ1+Fj_9W&h|+EMw$USXEa#ByGmKDfaSmQl z?j3$UMt`bZxN<#(^dC7lWq%gnaH=1?4nq2kR;UU_>$W9kc8LVqfm1~cTg^qsL zHS{of{5AG+E&VO|ozS&5xaG_Wc#xa3w+>y-9E&v2o^vrJsfjy=&TeCDNA?c>gdRKc z3NV~4$gp^=_HfQ-3#!NVsMrqgk$rlwwrBzBv*o(NMO-cYcMT5rzJC_uc~t#EA)|?H zjD|f5?!m1XNrG^YgS@>29PIq!84ZJPC8H$lRLxhG=IU zlz`OAjyX|K1yV}EcaVjJ9bk86zrf8|QH@;lUD!YB{<2UbB@RBB&M34G2Yj4-h4 z#dr~ZOvR6=^Hhcd9MTy9WMUiRT!Nh^SZHDm$2;D`Ks5=mAN3|gBJ$L0oYck`$i!0z zSEIT)r~_QaENYgUh-MxwD|+}5|B_OozJ6w&L;9Oszi>!-LVw@ki2B)UrQUwcG`zkk zYxzJ0RcCtz_}nXmIX*%)MUP;2;1cAm&mit?sp;{K$WpR%;0z-6CGUIo8BIZ^P(IEh zG0iE?)XAzNZ^K5ZR!r!pcv)-JvNh^Lz=7xV0H*Y_$N~?)->bT0 zO!HNClX)k}9Dmx;+Hw!TBW(iMlXv3ILFFN+D^W2X4H-v8o{t=}GEzt=yS87XP1ch;T(NUIbUVu@qE#h zQ?B!z^6APES>U;Q3AE7yOhY3qmO*05e~J7kKpRT=|-E1 zQq`)SEvxQ8AgA)noO-tICtC)8R4m76Csx5a(wH2aX>7%HK6R|%1|O>5n!4mJf!*E4_{AIE!O7m}TKhM}RH$uS%@zR5;<^d^0^|!+ zamf)NC+st3_n`VXN*~4$-9Do;^0EedQ^+8L3_tSzE(1J*CGbYuoJA_kZlGZ&$UgDOgV;AXngA6qG=7O@kh2KQbD~ zr1`$aA64hwvm?{!bqTKth~;z}1=&yc2mgO+n0d5SR~fH)8)Iy@zm`S4N8{cl!x0J}nGfS!$ z#dz+z*3_>VJGcW|z-O-ez9@o5L&)E2nIC6KWX8Om7>V%H(*^?^Ir^Jj^gY+2j z@hg;%dUP~kONmjXr?M$?W+Wbi@3g~Sl-15xav{WSSQyRi${0=&o~YS^(|tP;)SL+L7%NVUZy6@X zL;Fbomh-U1nESb8SLTD~(0`dZEzfR1PwUig`9_`Tv%J?{G~BGB12;4e!5w z?V+fC_$r0?XAaX{RIL@7h=MVpLx9q91 zHfz#S`Qbe!$eFrjWMAH`ykZH?WPnEY2kgf?lW%{UI)%HhRkaRRyMIOw{WX=A<}%-} zn~t<6=r;YmwKg=k_m8i!j4P)yUNC`re$#a8bGr3}Hn01PzVg(luc7sa({INkvEqaC(B z<|<8(z!P)rFq9Xr_e$S$4)&dHnH9iuWVa|8N3OPsxQ8ExZQ?-s7Mbc_2~m8Gk3WF2p%z*N5H zl)_IN{-&t=z54*@r@CkPe!udb`uB`E> zv+Lknb$|X-d0%N(Y5MuyT<+wQSpWK!@6WL|Mi20Ik$I@=^I!2-ux&<%u!UF#Q*w)a z^pAC_qjZjlHfy$nv*^r+XaddUYtVq1wLyKy8hBA_*eArQ89`x8@~^6oTGv}hbfvC& z#>jiEr8S4$+g!_i)!U!4AEIGh{WT<*k?^T{+ka?XW2n?@+RhMty31j0cZ%vW|E_iF{kAOgNAKw7yNp%6vWywrzlAsKn| zPpYtA9sGsU&s1CJDo@!@PJnD<^{B&I0%V09yj246w%`ek0!xf;Yl9}__H-5%_2Aq1 zY=oK072_FbI-~2g5@89SGVY#T3yj~V7=MHc1=gtrD0kg|#3Kg zTJi{R8E0x$#Uk$1>go*IbBxNF8}@P3vku7M%iDhhHKrOD&k#6s_k$}?9m}5s{eQfI z9TnhD`{4Lz&Vb4$YHOgjPepIJx^vVDKcBkf_(d_Cv8p9}UdlFbF-{pp6HLh=#<1toA>wk^dVH@k{8ddfYNlR&M9`V29-{Z{lT!k=mI!p`glz$~U4%Jkn z{GB>WwcAHf!Ok9f>MPMvTYhrvaEdbf?s>?VaIz#g>wo*(pZPo*%>?|- z2-2Scj`+%T`w`UX8*g^S|B)E$5kAiin-6A*HludO-UQzh+u)CaO0pXRoq=CY{0HZ; z2ChY%#^*b7Q?oL7&r{~P&fx4U&G=vQWbFIShjq}y)$wa;fmg8GLV85c8bX7$uzs{p zwWrLY0Yu^FnDI5P+rFxL;;HwsZ+C1+>F-Ne!h0)dhB9aJu_0srt-^o22a;Ks-{uab4 zXMC>GnzJ-Vw%dDO$Ca$@8k{g~&tVmL|)V)>ArN*smw9J!x_faeN@jNLi>B$$MRXi&DdHB`d zwX~(IFw=dEoN=laVK41N*=u|UzcW787k^b$rDE8zrFZ(b@acJLX?G8vf8t1&UAt}2 z1ipk*j^Yy_*vy`9c^R>oU3B@Rg<#^$7oH(bBvQ{y(&gpUp3;dnIG~SmEPR5g)22( zdsLBc5FRS#jp!}E_0IRY%GfJA*xl1-oi?-(E#7xBKM<-!l}J zjIXf<8h;T8lt#k{J<>Vs(^uTly;N?V2Io54Z2Zf}ra7OpAxtw@XgIo{UP96(zxXRa zk-$HVzJ6A__o#7g7D#8UsUOQw;NSQgAL8)e%q$6*nh+4teDRpw>7-)UobC_RbL1Hl9>f> z+=qT?;k-2HD{};~`jL2x>JFgvz1Gd^GuPAYihB+NyHm4?72*H1XlM^C{~GsosM(ztP~lBmY-UFa=8-*G3bouX0e4)#+nqm?C=vOYC~ zR@aR^MAn&gWo(b3D87Bo_Sn+e*WvVLqksMt=dAofY+ifZQq#bRcU!R!9S1cy50E(O zlLuVWRC(A{`)D1I1hsmwvhGE2{UX>X1r<`hWZd z@<_&(xYJ&{V-#`@))~};xsn7LtT&!Q>urNBT=9OdI`k>9vBr)$_sbgZ69dz{snB$+ zd8N$j9M?0bNvQFe*MqudPAFr3%JVSJE2>UJb|jtm=+OJ#!E~pXf+|$kBa+j=2f0fE z&!R#Wx2R8L6+&G1&Jaf+4`eRvGk;Z2f=nn_a_{98i>LYJY{Ad zzST7N;usu#-_!HE7cl1-vAx7Jwu|-vmhqQoLa*V<8?Dw?v9P+9>JWB?yRM~5uGV-B zuLMt@vj2e&Z-a}#Ozj0vu@wCU-`$^JL7Y@|{yav2cQcQ_Xj9~k=k6_;@qaji%&$)> zV>csX1tDPdoj25ow4=k>Hs=(b<@YWC`yf-?cPdtGXDeOvuodMs8qIg$jDPj2-uyrM z-FO{4HSE*l|8x2@)T(D4@c$N6q{BBye)k%`OhLu6V-DF}`#$wqEo!%(n1099ucW@K zyP+ug`88Z;1`-ARy~~@5Ab%p8Htxiya$GP6yDX>;K&LngB1UISEvi(mWvq%$_TX78 zc)DAe4W1O-NuC@kuH#;FtXC9|n(A+=*{Gm)O_BY!-~G5x|H;3j^Z%(_arb%t>sRe% z`R%uwskRhZKi8M^_b8)V;>L z_$Kb_zAo;=^v9|>yJg?4j)gH!r7zRbYjp*u$vZ0M`F74^5O-|F&z7cq3~i*}ui#V_ z&av9_G)|*lK1I&)3?79~K=IjAWL3#V5ErP10;KGsfgmadl1tlfisNPol-KF44S$H;rQP8jX@ z{>;;HRbPOwW$b+!vu7o^6IyKLI#F>iYk=>$22onemA5U$0@@ox28ph!M&8C8-}nCL z{?#jfKfi4ad+f5-ta9xad>Xwu2Pbq`TchRf@!cBsmutqxSrhBKyC+s#stC@fjU(2p z_qeW*9!zQKB!6uo@dRvNun3>B!xdZk#xjRr@H_fNgw+Pm-)-QXbC!=^-ruq}qUJe} z2iLiKtjli{n{MxIUuo-Zy-jyCRJC#U*=>bW+%~lST<3M%RV}qg=a%kXfxUojP|$vl zSKD^c@nIXi+WKQ_Y<<@o=i9%n^0uV3wBX5{js{Hy_tZ*AfNAKDQN|G~jZH=$Hb3b0gT(11|TdJnCJT5n$a30L~6Fg58OD|t>KMlr+ z(cK5M{1^>bZ(~~me_WMZ+G~G|bpo;U{t5Xj#vx>DspM-#>RoBzKCmG~H7&J1=g(4K zjZ7P-Qhzn>JSsOTB7{Yw79XvDjCYD+U29-;!5I?0-$y^|7(pv->GVXNX$x0ijcbNS zYfL4|8dQ7o6g2EAHWFKHYogw$f3eKgnk=ef!H?%*Gq*uUJVEalVZ?RqTy`YEVe-%Av< zrzENdYRSq>Kp6ahb|X)-Jeh?uVx9NbTp*BVYmitOj${L5gtD=3v2S7v}6Z7 z-kta6w3HO>gOUE5QjZ|HdvFE|{=tz5q+>jumN13RW@y3b_v%A@CVPG*eHlA-V}E)| z204afe5Rs(8i>c9(ne(``$yE~nKGiPL~5aR&eECZY@D%WO**yCbDoR8^vZs;bM7sXb<=Gf5cYSoKwah!S2I3*HEkd zNPTt=-kk$v5oGF0t9OPnzJKDFHJ@Une5`D%o<1bbCqvwF3|CMK4koq)PkdB6!h1me z;BMEf`rbKZq@}F;gmbJKJ1(o&juiog0wZcEvtS|kFs9;~)q1kLb*~us?-@(5*OJpD zynlp~);J{&-{eRg#s1Abh=^*g4OE$DK^#%{xEaM|p9;^!;e5NLjDMNusFDf168F_F zXmn0m=gFB{@-~?ubOYzU)h7^XJ&a2$nzIizYrsthn z^|#vpz4Frj8)Nx>h3k$D#!h{SJyWXdT$xLxqf_ErL7fgfF^_RMD!+f{gW>tS_V-$1w_f_6gC&XHi1;y*}?s*VQv=Hse z<07Bef+w0%eSe2P{fd2fc%0(H8ER+vS#-7f&G@1;qhgI3Bb&}^xwh5?{8h%pQjbHc7#mB-OL?Jbj9cgnwOvH9RZ3oCpWKhMz&iE! zOut4x#WVCowYQCbrH8>;a6GYzNP%3ZsC=(j(l1MypMO0UKN)Ko-?>(~RzZQI)%)2O z==+V#x(zCx$=%bc&vbQtG%N32dhIVpwFN#lIQ)Bl&wjoGyRP3m23k^|GlY3|;uZfM ziXZ<7_JLoqXJmbj+6f^7EhDs_;b-{m(QYGzKX}5OcJsPUOmUpvYZMw8m^a)wh4(v3 zBEe;i@_*siRqR^+m`3}^*EL>>DYd)(Z@=h*-v^G(6QYbc^SmUVSMi-S9oNv+@}?i1 zQ}>{HP57MJ`Vs#ee~-2I{7g@grw`8MD#g7ZC3-5CA{t58kHP_uuuuG*@sMIT;e38R zs#^FtcCssWIQwbNI&E0%tolUGx?a01;^|VuwSV;bmSwC4^>{+0G$*Zrz7Zn$7`heA z-AMSJaWUt$5V^Op)*2DN3SCfNkFv&Va8_5J7|TH?{KKB})A>mztJsN#BT zI_u;}g=$;PT^KRX%d-X{0&C%D0qJmc656}w>&{^bz*k(m!Wk3Q3vhk7Ylc1%TKg3G z$A3QT<>NX&6Q$A)k*(v{n)|4z@N#Q&zWs7XU-1&|?aUuzu*Y)uY8p-&R^6E^uwf9Gr#f*yOl*YW4($dGItu$IEx!j!n?sbFAQ5-lM0; zzDZ+!5395%e;uiZuF}IAYoc0fpZS`o6@S`Oyylp9&T+T!YChtwb(xPj&p2SUevHDH zBljUCNQzHvTE@t>GQuUQrLO3WkiYlqzjxGHPi00A@8b^dP*;zletsbKKPb2s}|3v=}eOQA$C#W9WjNP?oTYX>hQ%kve8h;~irFTD5 z8BHdSM|0Xz`fYbBX7?lHDgH?BA6@a!p{H<2oA7+-Eob)%VyZbMk*9d0PqyIn$Cjrx zNfN&Y>b<5Nl$Qmk5j%qMqL0#)M)s$bo=@RQupL%#D$TTpBD(H~3x;)nt}I}d;OJ<3O{nK66>r++XKr`B9g8?7jJ zuQTL)Dv{9#Aw-IWd5XQVaF6sOsYbz<(yBbubLA;PR0$qQ51wcwEN0DniT#(n4yqqH zGWZ6{aW>mFD9S06bIyq@J}d1Siha=1CbpA)ZZ~~WgFGAa^CD&J%STOHG^lT5Bf@{7~-*1 zS*{-EGFEU2bMQJixmMVq)Ai&cW6ByYmEhEuEn_u&cEwk?p1^vD=vBSBQn!u&iN81t zj%S#V8N|z_hU}3Th_$A@p0ntiS`kG*{?x|k+Te@3M+biAlYczTQAqh3J|7If>=<*0 z#$0V*+t0~zgv5Haq${&$ZCrEz_NLFo@tz&Md26aa1K(D%^7gb}zvA3S{1H02?#vOL z!_KZ5F^E5OdM4RnP9impIkS(mAXSk8{=Q}#ij1x>2BN2gQQ3P2PvkLMG$lY5sacy3EOc_m_^3L`vhapyCrX_Yv_u+sMNmfvCuuu@F6bQrNd__m#9i zO2yX_oDqBmd+^)vCDz2vg~(s&83|dT;@4HeU~pUFa_lmoruN7dd=9ThN;TM)6;6^N zWxP1cl)cpVoI7W=_+&w6Q=MUT=6b!gQ1jt+e}Cg+pc3CfR_zSDM|mo)&Gb_yiK}Im z?o}W)lB{Q|xF+MX7NX*&_uXi9{dZjfuw_O%^PHTJQ`bsW91JBHH z2!9KpQc+g)7*T;e9L3LjP#xZaYBGK&`sXTnL30>q+6D!{;izBdH3ji4Hskt@C=-T+UOeB{~i;)An~O_qq=4APVu4bOXA zgQxcr5wzqmucIo!IsNxa9j<5f;*lAb+;N z=XXt@&n&C82o;gQD*m7T9oEM+sPIyaNGv1RQJ;$s%@}pfENtU?{7#?EUVEz7!?(uuIadbF(S{Xq=AjLqCxYf=2j?f&a+T2?DpAF;{~sgXg(oUzQSk{d3)Yq=M7a6@UB)@;>{9~|bG1(0FT`A& zL0!kFINzOkh2Fv1xA7g=psVP}E7^MiQDiqPi29LMWzMVcJcJ2gFDu0Psb7frdWL;0*$_VzOaI7QubOL!r$%Vo6k?u5#C3;jBoMK{CeX=KZc%AcITP$t$0aKeBf#7Yp+w< z161?bQRG)j_?0WFYOMDq-+8R zs36h=r58bIhK^K2P{0C2L{YI*6qKTf4QV1=QBe^KdKDEF8wi4c3Mybn{WfKiSnhl8 z_s4xM`|OgL*`1x8Ip=rEoY`edV$ka>DgmP)%pPO#MJPPPTE`;BJ{Q=3@ z2*gK$QRPOoNpf1p`c@5VrcRWtp>R2ZrCmy~&yr-<3~-Rh?iq3RYCmoy37Ab|&A+iC zD!8*-thxXegPs%Tu^S2Kc*-%)m1ffq%U3{T_lyKHzKw+qGJg=BJ(A)a4+~4PipoxQ71wi2<5b)pwEC%bvxU-<(EBC;r0=^><}2~29`)fu>$ z#6<+4S8-QFgLneqg9LUSH}Zw$9hHSxGpei&e9P!puK%lz7xRDI0Od-vV`G4>A;C;c84^r8ak66u?~W zY!Ubh6tMZgYJM;SMc`;1T#7Hv7NA!oI2!9*DMcHoO|=?Q!1t zc|32FL2+AFZ#n7tWAJ}D%`p7UoB*CFQMP&a(%kIv%J6C zz<-+~xvL1db?{om;0-?F5I5Qy_=C7!7cO@LPqhdHqFR6#M1(UEc(#9*D{VwLS}Xwq z_6%4l05kz{j{l5B=hAGC6tFUg%rgaQzoU7qBh2~5`eW5$4=w$n4x^vykYiqhVPA_uH<o5mthU7(NgA+X{EjBe<{{& zmGTj~(sq6!{T!#9526?WY#CjNj%KaFVlX6OM2MenIsu1O;DZnfKYltt+J6yrbF@3k zyb({tfG0<>LOD|rn$6tYp-?CpN`&H|2#AL6){G5NE(i3#B(WkivYgC|P6#)MH5 zlM^Fps&cq=RU&QpyQ-F-g%8R8@O#2Y*!uZ?~Cd=5`i_ zWP6gC082o$zah!a!j`0kXs{kg@wX4;9YI|l6BdEcG3vY>jNyZDbc`5;=Hsz+3+Ewa(#|Gc2GeMOm*fZa7${t0X5!%@z16^aUomw=@NLQkIiJ+*o}X)5vxwUul(G9_TXs7pP>dl(^uQo=?K@7hK^hsI#-Yv zwd7<=5hdxUz?qwvnCZsfsFgJ}`_@JmJ~CdsDIn{lUI6R z)JY(nXu;x8Hrh|e2%$Z~hbW<4szg9BMrt5V!BXM!PX7~*Ga>{oLQQG1B@#>$Qqq9s z5SdIV4bzVgyd0D8qc(qEmVarOUfX8YAcpubPEdhekp+lz*}O7`9J^>5Eor8)aTqnu zC?1THQCMQUaZ+pyBiA^Ini!rEMoTv43?pL{nS+QDr4f1x;?FOL@+BXi00slQAoCF? zkVddMv)MOTv0}yVZh#{0U)M}Sh>Z4X!3+{)SBVq+i63zcD%pS1b29JJng^Lni%-no z*gNBusn2A8MTOCNaeMDutEU)W#P3Le+X8ULqH@2TS`Y0#+VyMZYt&PnY%M(pI;snRe zJ-$N{O}=ki61#uy{_HIR(gl?va>A>dFKiFGqWehC+vkd55blPnA*~F#JfWMmGeyx4 z^DcTKVSAL2=eJqLe_ri(>(H?8ANc;lVExUILVVTxl8tw#%} zo=E7Bevj|A=5mSEsWk?^gS2CXwkMj?28Qh?_nnbDmOOtqEA)BbjonJAJt5HuogZZx z+%OM{wGoP|y6Yc*Fkqrs8*i@(qbRoKU%?7pM4QF*D!k?45vtxXQ3+_R3>;G>BP0?N z%*+uB5{ZnUn<)#-xJiWeue6U{j{A%9zeS@Kzxx)q>i9F94G+gRgq5bBIyqA<;6%~! zysiUTW$k|{?FO&uHu_Cj-YX`;F!<9q%(HPec7F5)H%3)Xe$9-(iV_Il<;M#bL46`G z{d&H>ZQiESnlgVXrJm}4vfZiJB$V$~{;tYaOZDnJNms|vhh+I1N7MrsI@KjQT#Z^D z8iZ`vZ>-y{;-UW_=aGVhR@Q~dcTq+|X-e<<6;ppE-L7Ar8fq2JoTvBw=ASWjBEm~v zMm^7-R_yvUe%{Q>56)941q5{Xm)Ve2kD}GP)%^Isr8&;)<;2$=6%llybMAvW6 zyRho5PfliE=p%ZvwRZ3u8_C<2ceQb%>o$-=@WPt_8fBn8vXTWiS`4`12xb>S42M&3 zJaB(iMGR6=%k>?`jqQ`2@nYO(gPD8{;>jqMfKk9W;E34&Bxp<#G9$%DoK7}D5E6NM zm<3`QY8F8;G_?#hH8drgSQuKE%peHvg{?@V5Y!n3T)}L6llhGDe9QrC)yr`GznKhKRW#V!=c}3J(JMBB-vygMbcy zdjkN1|Kk=kM1;|BA_nsv#v;&9+>E1RF_3GayXl&@NjpoP-BnmnBC#e``(mZ$WUqaf z=Bb9Ig1Ni*Tq6x76@Qmfsui%z7(iwb)q4n6@}pW3)_h!*e_$KkeCNTncbu{3k5zv! zdcD1=DiR`8xM+1f9tsk`cIcW$%(7ftov**8qik4krs6m2l{U`1T(|gW;Row3$n0wW8qFd z7Lw?CN56A>hJfDj;T`eYGN7x60>*zj;fOEg1V8WV<3+g>rP4dE@Lvq`qF~+qoD|=E zNs;Vm{4{wXCZwf&uV~C#otJB^m10S4V}!RCv+dT8kxKX>@~S4)jeiJgyjWN(*HwQ; z`jz=;_?=j3tj48{ChKS3Dn5CxV39!?#ycAmGQRSBdhM&OZm;(tDOvW5WGsJlyjwgb zf|vDvxbOLxbXOtFOuukVX{33`O<$AO^&O`TG>+ISk9~=9Ix%e9CbrSjzrqnq(OxXy z8n|oZkWJE10OGPLv&$o@qH>Jz(yH<8V48B@JAe7amfZN%epP?1?*mQ^&uiY++rYAp z9$g}F+oe{Ib@ad2?wK|Vj`Dvr5<4LK!S?%{?YX3nRi_&UXL>!>H_4bEzCEHlLgM73 zrA;T|yrx<=Et9!ua3gt7*+`J!c?X9|y_{DVQhYG&(n1t2>HGqy40z3w0eFf`v?&w% z6@OM>Lzrla7uunnyK~$i93wA-L#dG@kI4RzDa0XGlnke{U{jL|n_hp3i70lWq#F|% z6Gov$sLoBHMJG~YXlV>=N6ZmZ#DqjPGeH=NDw)Jgnjnnif2TqJ9lV#8$JO;da@wK4 zD%ME8?@a%*_T8Qu9@RIV$hm2XjoqrcbW?Xryy2$KBUUWB_OIW$CtUNW%JwMabUIYwi^`467Bc`FNW+ zA=u;{?{&gqTd5N?e_o`7j$Y)U!ht*dS@SDCWmieelM;jx84reM)PTQ|FRaTrcjOwRUGY1>2}3S~vBfxE^yueSy#SPke0`RD}V&A4Pkl z3K8QV4j+O;|M9^2ZnbWKEJH8+9lb4Qh;a_fq1Zlf-^D?aVWDZ zo0~J|pR2{3Vk&w^29z@ef)9^Ca6(Y&#v>3c{y!=)<2meDwf;kO80~BE!i{Z#IQtn- zMov_(cyuGp(-l)^L|YaRFG4(e046`SKjoBe;V*W6Tz9=o5U+w}Xj)cEgF z>{G(z9BWA(-_-eP7G|vf>{dMAl{}~ZH{Q}u+>h=U7|L6EH}m}SUE}=5>u@96^)=O# zzPz6rNZoBD`az&S>9m~N-Yv0sYJPLMWl5A_yC>mAXy6=~qD`uE`UMoopRSYUFDF?| zrwU(rkz{}MeI1_IdjU_`^5%ZC>`S*z8SQ4%gZH<-JiS`jc4e10Rc#FEXi1F-48X|Z zr3kklN)^4E{YRvKgQ4-zr*%2kJr@q|P1+TA%+jUneOl`gx%5!I*A>Njru-`uLa$mW z$E(oa2wyg6xoOuh`03T^#%Bi((af6N+LviaYA=5mp6#`H*$Dr0KGHJjblsqULli^>j^=Z?PlOchr&s_srWLKk;6JvDyPU#--3nttraVvi%u z{1ytZ^QnwB5#=Z5v6m#fh2L0Q*v(&i#qusjie!5yS2Qhr{hD1%G~;UaIhTw?2j740 zE%vU*8?@CtI6VD$x=_vif<+xm6!=CWmk*P@v?Yy)jtY9*Y_M+%>b_`%OF0@naV>sg zW?;F@q~ocl7U9Pd!p%|-mW7EK-m%&F@mY_6=-t4yN@u+x(X(a56=!!@z5eoS`eJbv z*M+(j>C~r^Gn<@)yGKXuwy%A#vVMPM&a?;Cb(@2RbKSEQ#>qTW~S9+)SNWLYjYqTzg6uGxN-!@&7A zYWh>^kY;bIs?7Zm*-t<8Jo>Wow!-O~FiptNS{No{2R`NFJ~qxVJ^3_0sn5p@q% zt&YlkzA-d4q~19DzF$dT>k5Be-M6FhZMs_xw%VAxpYK~|pLm`H zs=om-Xi5GaYj>0EhqW7Id-l0a7Sx`0EQ>3;{q)|3%^cY|iptKB--ti1@cgY^BG0)% z3JZ%U;~{S-1qy}ipt(QF)n9}%uf;<(oQWlEv-?Ae&#mu8)n(Exja+|IWHC#)F&wDw zWv*ola-9EPJ|C2CQLaUqm1C5IASNMXGE>Y2^N2Yw!~=2T5p%ZxOw9d{`e{g3DWmbK za8@CbwF}AG&gmp09FnybnFDTz#mJcaotYJ$7?zAaSxh{IniiInY!pq4M{GD1U=dSg zvZ@l~0!2Vk5Cw{ZLZE*nrcXHr3WL(nR5C)fRipbu!dXuAvZ@0*fRksxuC{E0_-Q?9-`!)8NwSbXc@pFHxX_Z}#N-K6*_K$>L zwYN%5*O(x#KDdpxHgEEpHr7%9!bb6y1BdxUibtbAM;qmr>Ce%R^>+?a5sFDzTvRZy zcJkcT3CHO@Q?okHn7vNWIzCvVGuruNf>5(tx3I{SU?n^*n0rs9jV#yyrrq#Hz`hgC zmiSBf3zw>o57vJ_cqF~S)4|_@yi7+Sqi#~?V~@d1)tI9CMY+)liB(OsHXAo5z=?!DoBtUM7F&j`c(szbbrR9$3%~-79xI zvuL8QQfPsb`0h-VPDro4uDEiJ!wO}yOSda3O4HNTKRe~C9Q`s+BlF$9kFBvy3kv&R zrlcyodSSjhO>V*Wdkq@VDbH&@Pi=ZBocSVVR?QSL3cGCS?M;af+irDh??N~C)=WS3 z@>B`3TKa$Mx%j#{Uk+VA5OltLL$Tkog>Fs`=WMSQFAumlXD?NWEK7Q#{uVkWV zy2qa+I$Vp;;bT|~2Fc3*uLaldy@A}Rk+Q6d4DewSu@H_V!aMJRwt|}yCJ_+cQfWkk zdm&6hp)KQGytu8e(8EO{N@wNyEr)kF&mtq?JePlnkQO37W%`-AkSmk1s3?murfwo3 z#>|@!%4iIxi$e1$=&xuftz0`(^DjBuCoL&4ib_d}PE-9!Hp6rbWIWRK@^V@FNgW$& z@5KSv+hp#jE{)ka|4O#!(u|zfHC0os>JoN^6@&EKx!2z|KuK1g6;lG^3hq7YsK}_Q z_+)=Sn04{i=kEh8X)^PrbOG=}IwZU)X<((g|%1Qoow=cpZ z!hc<~w%38>rw@N^+u9`Cx;anJx>-Y9w!i68cS0YHY!)=H%F!^xIcMp}9ODFEcOQAh z=2DrM-fw zqRAa2ei9ukjb=$ONps78W{CfOo{fhlgAh4hk`(677h=$xb4vI~VhlGji9|9(Ovrzx zsI2>iBJbXiKHDx4cXxbkK$M?Sd*}y;IJKWlCI+o&Yj>8_MoL_l6bQYUf_o@KiWJuq zoaR1GS*2_zR$CJAWHa?`PxY~I2P4tQN4biZPZgzCJIxs__@nCdo&+7YXMu8>Cb;>x z=e+*Iw5HX}RQxa`_wF&aGgVtc{ceB6@W(i#66>kDhdsegwpS(0rX>6W?7a?rik4d~ zVj$^Fbfb1Z%H6d`)aw3`y2Sk&!-~PPQjpc8Q=-A|GKR32;g+|%uexnmRJ|$do(0yf zQUBWeqGYjhE58w}afpE5yqpXIwEWnhl1+wJ`?HcvmCbAS9C{?H=z2`7KIyKTp_yX|(WDr^EQ?{xF22Uwh{LA9(ve{>^`1|DR#}=l-(Q`t}R& zfB3O~_cxDrA&h?Aet+bnFTME6n}7FncKx6KTL{UAKl=I4o@TekzZb%PuR@6a>BnFB z#7pn}rLX>O2;X?t>erum@iVW4(~yVgmtSYUr=R%L7eD^5f9%bVhVXm;GK7Erl}~=` z#UKCuzw&5n{l9<7p1=N+c4KrI7xw$J_WR#zOUKWTlhL-?J4`>B^d`r@DY z7f=0#F#1Oy4&k@2zx3i4Uirxzqo23>f7R-rzVxxrzWA4tKmThspRd^OkAM2bmp=Bd z{?pU{F+_ju=RzpH^2*Df`RwI4LS^vGz5Xjd^|4oyufKm_uzcf3?DwyJ-pBth;kWJi zJAM4m+xVaR*ysL({r;qlcRM)llIRzHqyFo^@?-6r{zoYNMhO4p-5+uMgx`Aj7q*vw zaQSaWlkj!>Y2yU`d9|-!emz`_f<6B&dp-*P+u!(y{m#o@4Sy#ThZYZqTXykc_*GU3 zUmkrWBw>FNzHI-7O?`ja#(A4zXq4vZ$p5|^qThJKZ~p0T+OwrM{LqiS>mA{(;q>x% z2t)7^3xdywf8a9>Bm23>oi88CeJiI{5-YWpROPOfr*)mEH2UtX#8w>2mA(rrW8KfK zlvXm`^S*AXUZU?>*JITk+BBH!gWr#eP3!@|mYtvqAp%*qWbf5OTm zR^I)8C?Bx$X)DjFc>U+Dly_gb{_!jAp1tz?Lsx#kwxGSw+rEFm$_K4{)XIxiUb6DI z%JY9#9<}n6l_yjj=FjW;O@eK>_GfR`@3*Osr>#7uXOHXq9ai2cINoFBM>WmB-jLC?MJTdaJ)>iNAtqW<5ev3!j8S$Vy1{@j&1e*aYW-*IKUr_}cCSNeKhW4%@P z2Ryt*&u>||se6y9zTZFAyk5{aAJqJw)m(ob)4d;3`Oua5ybk?x3^2eJK{dRxp zcURB9sOJx9{3iv=`&90$-luf!b2?JFai#3l#|_PGuR0gH9>(+aF22h$`F~tKp!N4P zepd5)PHXSq&kF}PzKh~G3@T0=uY4E3KY!)=>hr7hzL)2(Ew8Qr|6_4p^)vc@`8ChJ z*Zbd1`QmG?M_0=K4J|G7{qINI?_PhLCVW4ij7anT+%=@iO0DbH!q=$yKJmThbQzDh zw+DXt#u52Rp?(Hl>iu2UxRu7eTF&+DG<|%foatE*oc`PQfb(PLO)D#3(imUT*#7u#Zv<7bw%q!v2uive?_&naHYwyeX{p$t$HI@4s!}0w~R^BzD zp7A!}{b8;9yVUkcjr*wD-5Gy9;Nhq0Z;&4g;r2q~x4M5<_hxF_tKaK_X{zVV=z-2N z$PSl(pBPaVpI^bJ*S{&4cABHl-*pS8i+dWU6I{doyUL$^?B_J+`-1Han$HvZewUuR zj`3dg@n*sQHr*fA?@`s=tIpG!+nWXNE#d6W=z+{z3P0Y*>qZY~!{vYZdvt$(<=LAx z&Y%qdRQPS*qO*BZ~;eNs65UgT_{@g0_})^e>f*I0YuWhMN&Ui8aW{$Zert1I$eCpM*ZGvV3r!)9rIzuAb7n$7v9@MGb1W|N#+Z=VZ) z!yvnF*L#EdEIe;DK5ll`_aqoXo>)}bWte!9n^GW-B zGTgAwM^v6foreuGkKp%Tv{4^2xD1cs?cqJ)T?W;=!Veil&l?OsXurN-qdjN${MiTW z^BG({Zm|2+m%*Z~FdthlKNH?*EtcUY!ruzNVtD2MTK^0CKQ>EsVdKxk*MQN# zAAZ`d{-OQHn2^_$vtZ@+5vy0;aZS#O!$%WMTo zThpbj=R@|H+yBC9G*)kC7HwzuUk-1u7LS#cw1+OC)OdCS&sV=%03jFrJQ z!~fKN&F$V2ke^zsg^he<_1rhmS=&?4>&jNOw);N24;nOctKk@&+1S0cu7HaUEn3X8 zv-*zR0_`0i{$y_V*4A5UpL2uVXS+4H9Dk|R-r9IJZ=>+kp2udX_twuIyJ2jj=e8!9 z_2W+>yE}ifUNgf;WOp+Ao!FIQKZTE^4DR7d4j!1u`ihJ?ytgc5Hi|v9&%*k4%r$5` zwxlI^tVn9e}NBGrXr6(9O z1-yTe=9_5dW8onKjz?B6*4k%SgB0JSu>ug}wnh9JNYb6rf zS(Q=57_`SW;!6j&WkFaE{T&hdzHMpjWO+jy;|OvfA#JP_A?As^;S4l10@O}Ng|$lnr_smdcfg~_6-L-cW5Ab*+B5u0up%XJG1ktV03UxN z;f?#L06YnBU!Ybhs!l<<6}acZIA;${q7z?tY2X|*2G?C#PcAcDPB_Kwe2$onuXL zj!g#b4B``;XDR8_S=)QzE0Fp-^yM5d!@4{UEcqUp0vqJBQ|s##Yg7UQz4d>aTVIJr zbjepi>svt5uLMnJty}EM3VSEVYU~VOwLMGG*B&yuHSCR{r_|5`a;#Ks_Z{jKGGc2z zQZBn5(SR;{@X|SOm_rLa2ZnQu=g=&$n{!;dJn_|;8x&*cHVrr#xk3$2;~G!}Nu7d< zX4uDb=mtLC#!77W9lt)q9{Yc}0NgWhh7x*_Q}Tu3GP2&L!pjoeV2(L7pw-0Ye}egr zMfFRpi1+Q3)MC9djNF1FEU_BSXsI&ND8jXuGel)vYjU_QfTL4TsO!FuVZ^P$dDnD1-x;@zcJ88Fw_ktvti=U>-?mnF ztyk9o?^&(uc;er;Y=$?i?p@nqx2?t)3i*V+U=p=C!R`YxwG|wsVit`rdV{gQ*;okqNeJAk^@zL{bMJ-A+pUlTlC zVh4BFhbhMD0a+d@jW1b+(-<*U&FCpmat13Xn|I|o0kwDX*bcIbP7J{H(_ z5isR_Eyd+4j7fj_?=amEM~eY#gBg0g8X8QFnfIDsg*`IIjB~6@4QOiM@)lOQhIU?K z^a5D(Rc^qQJ8*Qz%M>_l&|85SRG^O@IBuYS)si6%W}2d237nPqJ;6Mefbtkrxj>(T zHAK$YV+9IO6=$B|SA$*(aL}osB`sv2lnUdNm|<$vTSI?-#F$TsF&Ee;B{=pNbL+8& z1!htmw6%$5I92TuSe( zak`zL)ee6cNdRdM{HB;eihf$`xCXyDL+;)RYeQ5Ow^*5=y^ww4UIH~LNna~#tE)c zaga>7%(1fw#S(QUSY@Bzkz_b^>KXcCo7*O}ldG?Na_+i+tdT=7i2wGU2VI?a#1FdJW=vUxIDR_Bet4ZFP9&~T|0LU>i z=#pd1G)FJFuu0xpXn*CxVS+i#VK=y@69Lu&7IOiuAeLo(?TUr$qxkia^k=7})q#I+ zWzc{N*^n(bC_NWPkmD=al_l0B1vdB402A4XH82`M?q;w%VqkCr9W2!f)X>S+=$HMc zSjkv6LJCc#m#ia(3)S2~9!+3_oMTN1#{`(kK@XX*wg-(b(5|#!n}gpbg$3iEC-^l+ zONaSH9;gidfKs|=3froH_LhPZRW^U`4*O&)Ih)&z+z+{hj(HCL=4*c)c6SNQAcn5o zV|_O8+ple;rR}*IHoEn8c?qAd!*dS1qd>oB;C&~Mh*Qja3#w|Q3GG3JD{Ji((O$j^ z4$z=Kw?fB&VG5eML+0*qNlW zP8gbK&t$TRGI{E9;4PLfw32@ZEWw&3A(5|_9;Zoo;5DW9n9l|tPtR2kKAj1xu{@OY zA`jlZ8nBJ!4J7AFfc1%RLcihQ&CbM~=tts8(^Hp18cYs&nP_Lyt4SS+o^5i07WW71 zko}TZb?9vZp9`^{iNXj)D?GB#Nl3(bQ|Kz0I0-S6W4$tPyIk}#aPfZyAfyIY0rnJH zXpHL|BaK8MiRg}A`xIWN4BsWFi{n(-8!7rLF{>W^$AMN@D@uzGv=GZPTnO6<_8zH@ zRQ&*xx%g=j2G0vQ6`}=_4-?V4_b}D^(^AgGZ7a;cIqpN@_2Dt-mN9s))0%5uEBGQh zSydVA&>N7+YuO{IEL(rakjuDJ`&>hgW#AO<>pBA8JuxomI?xGt^0D1n*^?9ShYdVa z$JXbW-8q7P#N%CCcyZ>i#?QcIch-md*^Xfsts(b()XtteKYj?@DMfGY32+^U9v|nG zC$I$FH|gB<6t;gaz4jatu48b$0-EStQ90UiEwq9LnuGfaZ&-i*TaYjd%>4q=?7G3R z1WhxBMXB!oPv@c|NRS#jLMc1u1pYkt2Hb%4(j%gE47hgCIAU0^Q^?)|c4Q`+UWY{b zU@A(=poK5-9pJkTA(5Bb;{sivkGrvFEx1$*Syw>1CD0eC<5Zy2F)ZyNHkAkZ76%V{ zW!ml%@ZPjqC-8r8ZJ^Bk^FR&W*KCW{(-2_c-L#QU;Bl)#X{2zsFdmmYehe_SvK)HA zPVLsCW{-l4kQSz>a~I=Os@p77EOy0+bJ#jW9(E+Gjqe zJHW&U`~5CfqSb8Ypw0?(+K4;QQ!*5`SGeb<6B%;ooJL#7pQugL^4 z^eOi09n61kuwW}_+DnXD+X}YA)DEMy@Ci52DW*mvQ$X2bulBH366~x5UWW$0q8i!~ z{Zl>m?)2b!nSvM4_g@_NpJV)PcpIpz1E+C6?+t19Pg&pB;FH>c(x$Kq?;tu%?_P{q zdp!CvdwOcr=F)YJJu#El>1LphZ3#Gf@PL)|IFo6 zfSH*x8>YBJIQ)MU-e^7Stek_}Rgj1i&_fPwmeJ%yo`V#0ogi8k1x5@h+lOc!b>0Ya zjGlior}_xcCg8P{+lUAlZ!6@1p?|TJbw|H`eEA*3&={5Qb{>`cw##X2IhH(UgwXbj zqVHuG;%sASpowBZ$SQ}-zU-@-d z>p8HzHB7FtGTZ|jP{I)+STmD2YslCI_|Jcl(Z>w2p&q_A-yKJYjm>d~a%hHlmhauI zr00oot_@-pPJ@h@l!3nC6kH|_j5KZ`Lo>{3ik(9qeM|B_5hgOlT%*9)aw5E?z!Brh z^z2a!Dy7x=cmcZ37;>oq{u5c7z9t!RC-Q?7%t3n-#A&^FmJ|I%YeCe2qaR8B9-+rMYAvyU7|-iO zRgFA+8^G(3O@Ik+dyIK3HQy<8C#Qb}kD=C}ni+Op3%S~Xj?ZkCd$gYcQxEvb7WBA4 zM0Ki|@Dz}&gvAAXs&mMd6MV0r`Aso1mn%ou2Q6^1K(ueAF{W7AGhmc$uc6O5q(TE+ zt+9@-X-=`?es3p@ZjcCUKSPaP(xd~lORN+pRTpb zYtS9}q{~{z+I?ung;unLZgvK$?V(9Ij&DE%T|rArfdTq%@`Jy^q!)j3S7=o-o;n8w z&<}bHu1yPYiTO^UW4f&tqrbgyM*sU%^=a)nMk3kqIe0aFt@O5Mp^?v=UI0q%7QA@^ z-k(d?jAdumvbq^b$mE4+OK-?ncb0$XnYo6OzzoR>S~jCEC3+h2p%~5O6H0XYjOV~x1kAO7G{|D7 zM}sk>5q4uI{|0mXN<=m3WpNED0BYwt^j%O}APj>qW_<9h55ABK=qMB5Cz1cfF+Y+| zW>}3hFg`=?z(lr11ZZ>UI9W&)p{H+~exVBAku)`~9(_2p4|9L4CVeFlXn^^Al;x4U zLkU_}8exyMs`2ToxW))Y82q#BmAOwDcELC>l1YCe;m<&K`2pgI;EY0|ok9E9^@Ei> zS_RgPE1Dj>d+}ktVreUx{4TNdLHd<)X`})8a!78-M@Rgp+Cj1ANuO19@SH`^oW{UJ z3_n|X@LSTuH4%SJPOf;ZNNt6*AZ7?8&~!85?LjVMDY_lOWCc+@A*ff+H0 zLZQ7h(UZXsMZA~L+A`rN6>U-vASGw=h-UD=2l<;4&74~P4%E8{L)K^_+RNn2OrQ&s zmd2ps2|O4Ne154chFCkR61O1K%&MfHmg|t znfAZOOdJ;z&?2EB1*P(*4cqJ8V+7y(j#dug%wQ?AX`1)Zdn-otnB4fp1(qP zs{{SrYv6kXz2pY8hYY^87M#rIOO1d#J<~3ruQJtMtj!`CAE+Wzmg@qNsK5%9da?v` zHD=vojy-?yx{!Bb4$d%vKEgb%7UN7LvxkWL6f-VoF?I*F?hf9GM!2q^z2~C55|V^_rGkFwTGLyt z?n!t8lyGhmJ4b%t3iNSe*AF8WvV*s23C-?4bmD)F=~xN0vkPd-OZcEK?CLb!gm!m~ zRvY9DR??A=5e4dDajgThj>fX}=E(orLc>}@TXr321={fb9)>QqhbF#;tuuigvO!-R zMsc64`zAfFjT+|>^uc4aJ5v7Q40`(%ux;Vnb*p&?FYHFz?*jgnV_@2`zL%cf+0|aT zryGB1xO>=_TVUu&Ih#}1vRmk}JR7ja$%r|=F8~8=mmHYxWnC?y_0U(>gABg&XYiu8+BYR=Zi#iQ#3O&1x9ePc6&Q_7aT4YM4QJTpIdlx>k6(l4 zJ(Ipzp>B*_L@ObIp2^I~W9WE(J@Rbk%Wt`l!wR*PK6K(k)E1muP_v1Y0UhJ4Kr0!> zGYHJ=A}`E<%L)4Y58lQfF2v{0pw~gf69`eJQz2+qpbdlVN|&3P}ZO zD-mWl3(U0R$)U_B&Nbd9jJ2v8^tY7N$d-Pdp_T-ykU2*zy$rI?&ZAv4zdBV%Wq02Ne}ezI9$uO zNsDP57|Gj)AuF>CLlha=+CG0%=?oF*yhp22XJf{&IeDgu+UPv+JVk+ZC(k1e8fjd# z;3fw=l;GlH(C=^>V#vQ>whe8NBJhmK3C4~f=@HigWbBPOK^3gs5xi0zI6(`q#Nb)3 z#pA}H^G@eB8lB^bu)bq)!wBn|AVV1TfOb`Gb(VprB{tIaQ{<%=u%UmA-f;4gXODO; zi?lu#C1*O%GsS8Ij2=Tfa_eR!PMAp7ALCAex+CqpiTDj-*;v<1J9rFDErDg(%EwX3 z(sC-AOIMDlsT$3E3nR}%p)r_my#u$KVvV?0Cel`e?5_#wAu#tQ!bm}SeHWOs(a9q5 z(Fz->&QS}J$QG?7SwJPm_ zDb|H{zz!|wRc22-xpx!>PygUeW|V?9&H|iy1ghPF+a=(NL3UCE&7s74MOd5R^iu-( z3$*V7a}*b0I1NZ^tOTVTp|8O|oPqPKq5ICk0gj;IP!{xv7I%NLx7>db8J|cIgO1?c zn1T)%U14rHvmRWdo8ly0u0qL3%O?Q(AVE$bJ>Y!E3Ow)0owHZUJoXBcg%TGm#$6SmR zu9sNx1u#)U@=9u&tky13G}TcvW8Ph7`~C+y?t_CwpY8lh!eO^=o7nECtB|y&gk9 zpCZF!0~o01GmmwL?2%*iyGI0KiGH>i&#eT;SZ2Zn?Sn1$6Mg7CX1h~a0e@>*IxEEH zma-#`U|oOh!jN0OQOsxqXt(h2?=UX&1$dVcp%vnFbJ;s{?9eTuQpbqBG#Z834NE}0 z7S@h{?-eYb4Pt&v%ykV9{2tjYbH$$+g<-Vs80)%MkOxdAbE!E#$f1 zUcx9*V2RHWL1lE1 z83m-M9xJy|#FhVZMAH_4o0|SgvD>9$Ive0%Axn1y=-23j7Uvw-Q^kt7KYEO|09~(u z)jfZ91gUF-_*RV(mKwhYmWNo7uV;->=lbt4+ERA;7IRw%#`Xvxzgt`(|?B%DoDNs;5`;Yq<`?$=8{<6yt^~)ZGblEmopEz|G7J?%)ns+$eIm0%uvHKT>tB=r!X3f${om= z&qSTBX)yjcN1oCGkj}-cx7rzwi%L9h7I^ZCcwUP_riY!s0DgJ?gR%7vdplNa!K1B= zes!>&7$eyuDsS{|dOkDZnf=kx*J5|)fmw$m=~9_^#0r**TSSelLyz?o$n1Zhrbz!f zv+sE-cq9v*=VEf$gv_$8V0Z8>8Sby4Mm>Uka1FgNXLkXejWH5tP4Eo_d-;zB>(|HG zL62O*>Pes}HS+VgULIpc%zSUr%hmf`X~%P-FNaogS0RS7Aj(@UHi$HM!q~4Wo__|7+ieT8 zfb8y0es}7{TX_QA(mR6%K7tjVA!`+HRk5oL?CB1cK7DCj7&7l+&%%GpSp}Y*%OQ=& z$|mYzPmOTW!L9cUc-#hNAzdi?-+*`Iii{6lrV%W-F?K^oznH9m>hjVs@SV^aj?Ln= zT1(J$E$^1Mp2N;-fyG=9qt)hE5?7QLpB4c?tVp)>zNldh&WBDlE+)c(RwgW_WuJ{TY1w46S2kUk9`v z39IA4cYo27L4Gyx=ges5QqX4dLZ#p{iF_j?#mGkRZY9E2r5%B}qF7GnbjE-1_n|v@3kE6G1LivL{S#C0{}%GD41AkQ46hH*jPeXI&*bt{B(oGJ z8mWeF&qr7T${JE^IHy(xX8mT0=JKsDZQ#2%hVv>su{sGn)l5HK0r*nzf#DxI{lu(5@ zLk%Bn4egKbBw?n_kio(;_o*Tlj4|^)0nYXoM#)4u%q2JK#YL$kx?t=%@5~+C*leZV&L@G>;vQSe1BIGm}SNoP=oz&0e(cyeQaEQ z4n2Pc{VBq3I);Wgf-F9Q+)E%yJ@;!4%Z<^W7HtdQzr^HusFKrbN)4JldFnGxk_xX6ri_Jd!7jr|K?%8J>hKK&{iz zC}(ciuT^N3Z$}U%qqb<#6l#= zLcT@+X$oH~&+jp-Ccd(x2?4n_qXt9v3D0;%&@33kCB4&spG&qe3c`$x>6JO9>a)zB3||1jt1fe22qI zo@bs9rA6!7e-+*i4XcOkP{GDJ3Or{_Kc&m}Gw}YE@*B9H*Vygk94q)dT;pE^o}GU? zKKS460&k43&tW|tfp07i{z&@1rq<>J{>u=UtFVPF*#^EPt46-YO7`U(FfZjfUBdqF z1>OEI4_eXm)hr^dy@3_kg2Qd#vvceA7<9wa|MaQO%U&GYUigMUNUgEQ4rhOSYS{n7 zn=m7d9YNnG&tjHfbkH1m0zOexY&g?Q4R#G(FA{H9ghbYE5*X)-0^gT8(%T(VVTYN= zvEGWwXctd2kEDf+U?Xz=BS`QdO*j!=W??up8x0n{+p@q?098P$zbS}DSKgDDi<6RT zjzcC5J!sC%v}lBH+=F%3@g0PCb05!tfb%_#k!;!_e;`PsZsql0Zf>mE^F(k^9?ST^ z-8;-R0#wT|mK8A#!)bPEvk83~h>(u7mJwnlG3+!#7J!pjmi7>@PXo_PRgx9bDe>|2^m~N1K1)GauNK5?Get)pN9fc z_yT!{Cn1;be~BpU2-!}5XUHL~fMI`+;4yr@dqjl%bm$zB&})ixZJ@23fCF6zMIXuI z8pEq|1Z|$-ur zzJ~ets?GO39hqk37LT8@@l_7NPxN=#tLK>A5v;#s>^b)gp5mnCT|B>lN32#nY6Xpo z@!Df(uRVNd)U;O63~58nz{hHEqiNuYYD$kmx}y z5OLT9=84b3@NVG@@GLNgnLI1Bf0lvX|56^lLJ^7wS+}Ks^27P|D)_14?F*Q}2=g6F zcS^8wsq(>QA(cc=pdIGWL#MD79s{=TOK)aeXbXL`!Fq92`j2?ha2EKsxhdj6#96C2 zFwd4AAtvQIE4de=bsiDA_rEAR*BDv1tt^kaSAAbqeRZ$y>U-_(b=jB2+Iw*^5)C4W z7zGamWBj3if#k$XNYq6AfhHuVKQxL+2pEK*CrA)Pt^z*<6*UqhK_#GqWUu9goE;H^ zikiLIXSF@w=N;AS$oYY(?6teAtG>(p<{a}KW4z-X;w)G4_KB)x6@P7%z13(pM#)=0 z**d7eq}FZYXm{o|3!7&hXjE+MW1!i!aBlHUSrhbs6i1G4!R$=6ghilcxrnJV&{W9b z>))%oPkqJ1Xq>GsKcmLGRNiT;JjCXL@%l zZ|SX|;t(B{CSZ?G^dv_5cdBgLG^q2#zaZ{R{dwlJCw@xk$Dui}3@ZNcDo`!J3n^ps zD5xucB@esM*l#uRcsncS0gvSm&I0w&k>fxk9h+P$KG;h0AhV4#d(#8wjA3|}nRufs zsqC*&g-q6Srti%(Hx|x1Qa@W}&)#|Ni99YC7)$;3x~)CT6{<*=o>yc-r@pRxuRWjSzy+D-_Ljxh`m zG+fHgaTyc6d#ahcb39{U=G8)WbE%wFxrSpMuNJN?*1Tj3j}*l#*8Ey~_CPVUwRV{j zn;3fM={a8A(H(TX+km_yW#EiFF))=f3JnURzg{o?)ONmz9;K> ztPy_0-0f{t_H&3|!Z%G#<8`ER>sYI_te%n^Khhk0ps~n`(1Do9b<{@vVQ-|D{+;#X z!>GQaoFf(NW5@DF&bg468`;05-jaRx*wM-RdhemI1y?_H?C(+RwCiP+Zu)J1R8yo* zA*gVq5%1ea-Z~1qlr^UwVy<Ba9C;iwdsRc9tBT}yx6KKl zo}nLTrLPa3RadCCeB#QUO<(IS_q=zj4uvdXV76@`p{MV4oHDy)FtdTOtkJVYz{&eT?(1(oMc-!&pU{mR}V z5n1vhmE#4eoR&Epo>n)qb3-K$nz#twcEvw z;MMZ?wmtK*O6!0vPIQL3Kn-@+bE~DZX6KS4`QuyhyWbIWv8fN6M#7H)q{D2+Y0c*kg8RkA-j?fIjCHMG&wUg_F@H#);U)<#zYU*+7j zk1Oqtm3+jFQF%w#Q3s5j+1>GH^0v_HTxbTNNmXKMm$Fi*U##`HoLy101?NnSXII*1 zLnE_OoCU3mjbzWUEuTI+*UY@C*V&XZ`7`YxPhf^w|h-DlFjJ>7i zF!|RqXHRss{Qbl^=j7u}gcFrn(au;2hn^@JoOSnWGd!{PunOned0-%pwR?25+qE@A zF9V)V!E@(<4t%Lbt28!KVW4AqNp1aYqQCaFuP(K!;iqhWgI*X5p`V^n%v%1;M*9>V z;c=iDcwufv6LdBy7;vxi(%E3Dt`Q|hd!atuS1~uQeLablV&!&X+>;Mq1$+_| zYffbMc8YhbbWU{48s((fF^SG!C_{xlBP_j25wA;G;!4i~^wTq9Cu-BxlU*wVP{!d> z*cWBZz2@7wRK3oX0X&w!Q3nj7v3lcC)$l-bU={Fxj>_MT#O2uq{D({3#p>=@kF*Pw zEaF~vV6NSwqge`fU>_*Spg_FRK5?m8G}Zi{Ddx7&-LJ(QIEmCfn2TKwYnk;rHQS@> zU8dxJHoDeR+4YH@#>yVeGEkqd);Nrn4FK1by|>00A8(<H4rfrN>a$ z9{o<&b{Rw2L;TILEc0cc-%_moX~5K(%I;st!p^-Ca=o>Jt|rNypKHvf+PBAg7d5~W z-S)i5U{*$hegBSsdKqN=+3{yWGXvveRAGARVszyU;;D{M$I$)Jc{q>Abto=Z#5vTHUL^{+iWu~e(>Xxw{2C1UOO3s%0; zOed=flewp>hxb(ZxluEC6fg(J_RCHVhA3@zN666G9dM?zz`R;~l) zXsScsb2{L6bKgXbE29Q@-yN+mV!y3*0U)RI|=-@4L0Z1tDov9%&K#?!0Ar%5%R zRR1T-3hG&C&dhzy9o-51^L^0gpzB?xW8A%t%sYbGXU@bu&@pC0tW&Lkjjb?$wX$UU zchUChV#bmC=s2g)SJVTqX&q$l+d(H5s`XRZsq%OX#41R=1$+VWy47LbHqpAn)$JHL z_L*ILhTc8#l1I)F4+DPhM1FJ=eXodQ5m6i6^PFjHZN|b-s5g)iM@4kt`HwpKOh;@S z;mE3IDv#T;o^?zdCn7h2dSy?4Ud+l-nXdEL9nUi`D+~?%u2#VR;QmrIW+Z+#YqT%) zi2D7?(Iym5=_Z*>TI!wQD+~kvb!cQ;QQ0=OeVs(?Mu)3YzaZ%Z^b{wa*pKYlCq&1o z(Ytk|R(^PVV1^mZ0Q;Hhywb?b$uY9jJs(7ENF1s1sAKyR~L;6X-@v_0$_7 z(qx+yi**{*kxae!tZgG<43z7<6b7q}=}->J48q8M%s4Xd1lz0*dIO;ah-yZybu|+@ z%PiAYV?+n7mGZK1<|Y9Yb2@D|TzPnwj}K9qo};5g%!n{dm+_(r9s$*t5Tgkfe`kJ1 zKT=Dp@)L$xkqpFF_a+oy;ZMR=q|f2V`$X;NPjwn5B3qFE^FVf&c7V0bO-L-MtAn2Y| zMRq1A$TFjOeWPpQKd_R}E1=Gze;4$q>3MG#^CBkB7w|rn@UUd3Q6F~7%FhJW@4#pa z#mi*BbRyN>8PQb!%Wk5nngE-*3c6T;+ecT?URV zIw3=Ut9L*i?4Gq(Gfce7E1FpR$no2eal=M2sYdhVOz43u($aHoAXLkJz@9ocHcTz; zg6y;AC+lQ(Mqz_H?-X5Oe@2TVj}>L;`RTU;E&AFVh+br$L3$!p^89P}%6cqY{JN0^ zY#F-Ml6O0ig`Wm&fXA}LAr?tF*Bg$0F%yd~{=mE7%1ksY@KQA+*(ti@2Zq9HEm^P9 z-D_wIdJ?r`!J}Av<)XV$@W$2%k#0D}E5DBE0i$+xwcwgWGG(nlXf*0$^(_KjiO2Dd zdVo&#dSDxawS^^(I{rxUEL8GZcl+&)-)-bEuRO=r%u{zRrW;^iwTS44Wrr8+`$Vjc z?P0g3=M<5wvEoczU6#kEI~{g}P1Zv@h_jb;}h zUxK&Pv-dJG8peuN-UG?%FkU0?F10OqrF|!Tr=I-knRjIFj_-_Y0eVKF17|7NC%6;# z16F9qUNv1TTecaA{5xJNSkQmo!Lra3o4aKN51d5;;dE^QQO0j;RkRN_3R{bsRvmNS zRb%Abj;#GjO-yvGj=U?i&5tHChNn`;eg1-cQ&z;Lo>k^%SCKs2%$>B2&f9_VW!Im$ z47%9TYrbvo3!S<=a_{he{)J1K^%Z28P)JIp-JW+jv~#ginTO-)!FqpA&uHRjpLI=r zW4Xi(ql0JEH~V^&b-x~wh|JP;%_tt&+X|s)K1H67UW+J#kqbPIdv-9`0Uj517bTi8 z^gQOShw^AT#x~5erLh~8A|RTstkLjrW_mho_4m2+{nQ|3&&zSp1*E?Hgc&0tyUA+6 zlF>P&?}&Zlcj#iv9+`hVW9!I1mY~I<*E*{;<0bh#v)TqMJB!pqM6GLVwAk}po_lwv zRuLQu@}>q5J3jSpS{c)zoJ|Ba8SG=PghXwXk>e;DzdsXpz7&dL_v7u8cxUQ{HU3j;rf{0#%@HfzsqgH>PJY8G&$Y`@iJW{N= zRIcr!cC>e@{fD3MkOn&QP?2Q5JJSfSg*MxYcyyGtqrb>bqsK}c29*|@m`YV@Z4d2K zvv6wL+1ENP5#H?NdS(oU_cvDduQGn<+1sD`u1B^@ct7yaN``Q8*a6moO4d%+i#gm; zd~mH?)5=-ou6}<@HhC&451n-=S(`=-ok1+U>KdP=5-+LDL~>BGpi^vejHnld;fsDK ztadbkiKwLlWcD0lwZryh?xHP)Zb+lCCsGbG3SL#?`1?Gl14V0`D$kV=VPh<_IN17G zWXCjEe&we#MNz0OWCqhAms~?-zpQqK;8j&Jv`FY%2nTIzv4qeyl}{+tztW6yhff1q4Vx1K>%J~9@Gqmy^5 zBWsa4Bdplm*Yj+n1I|aOe;m!>d-ywC-z0{9F%OBL!#$|=#Oi}(Oil6r!QUBqHd0&6 zRm}W5x*LD($jTcO^Q*%ds>m*pR4lH26?if|`yEp~6}mxDmj`Nzs630%+oCJ^$SW*_ zYlcE1(*y3AM)m;cd+%)v2Uni)LqCH`D2`ZTeR!X!H2fL*`ZTr%S>I7RQ!qSO$?7l% zhTg~N;mXMLjfirDC%Wd5BfzO|PRuZCMbR^De8qoNWFJ7RJJnsu2w~2FeBga#D`~TRoFrEi_0g&l^ucL0q<^~D{}!tU*d+?z6jF#lW8abBxq6or4kmF%X0_ve8z4fca7vyrnBO{8)`R@il| zw9^&mt9QWg#ANWedv{l(zKA7yuX@Td65(-#qgEemSl4rX68*!IZP`ksE@>|^;!e+z zjOUFayPPO0pu5j}Dr~gSoRWG>v^{2%7#On?naiF6LZar$^#XP1+NeHk)6yT|JY9eL zR(BXh`pwMytY92OW&;@Uj@LalBW_>nT&Y6R_DE_Jlp~5megtd2ka7{ZWb|$xs~`I7 zVxT`1d*O*Hh#tjWJ=04!^rE5uP<_uI>ZkG^e|g;<*e(r4b#H(r1D@gE=leJs89hw4)LSk+gr>w2&6-hD$y%OhR+ z{Y&u#@-sK85u(1W{7xtL2U2L*tEc*1!s;}FN+jS}i7hSPR&cEEnsaOeD(&fBVHS?)@qVB{8JN2i}r0=tnO5}g3^hZy{ znmN)pF2qVZ70c{Q>Z2E8=IsJ{nTAt&-DAb)i;lI z#qj!ezKdh!h*r9uG9yYo*M*f(ABwARq5C=(X9OPDxws=Is&_xq_e*c=wa!R=?s3r1 zQ<_gfOax|VE&ph$*w@Z>b`gIWi-ljAowG`1+g_`-_@3wTG%8)oxvu_1R|Y!|ZN-k5 z?`OKs+8rDU%iyuPqs_#}D@>bn@py{uI@ZjZsHzKAE;`ga9K*t&?XvV|H5n9>s>mDq9)t2tr~x6?_f{s1PUM> z)os?Y@iW<0q6CfCe8={zW1CYsnwPby?SmCcH44F}7ct@x8t> z=;0keK!AAIcdP$O~{skS_dxjo5JMcOEaw2;TO)IBVsw%6B-+K8QaL*wfm z2MYRRP?iU##Pon8&y_2n|J6tto?f7|MO`^N-a78px2A!5S)+fE-URhnb5}5xxwG_l z*J49bD@mS#XiPgYFUS5~y)qlct1o+^_si@zgtmOL%6q=Tc4XBvJqv`I?&iWX%_-)= zBr0P+F_e@)?|7!+D-j(G$4+bS%>!fli0q-&*UY0XfCwO%h#BAZ9n|KZjHJCkw=O)n zcKHCp4852}>Pvt0A`TX>Z6wmSF9Et8MXDB%Ya3ZFfgIi3*Vh$xri&9R3MMZshjC<- zt%Y4tn3EScdQ|Gv4)!C7xssU@^268q>f~8&1Ls0=bW3vvtyNwjh1%- zpXM~W_7{Kd8C>Z>c0G=Lud;KE$~MU8qvKCTnZLtjq)v4%i$O-X@=UzpH8D?#-THVV$3AaR;JqVEa;+%3M;zAD9@~gZ%!N^ zs{*}cRJ^M|ix;h)nfcZ9e%$KWH9|Wjf_HX@4$gmt3LXmKT}oS_R8Kq#x?I;m1h6Ou zl#y?FW|n(iMY1Wn9-)psV`7}Br&(qTG#L zI-Z|9q$2kw#aMaxVDG_m@Q$BwkKvit0UKD!H}#;Nfo z5us7g6Y#`4d0*@}<{)~Y9qrD{tb%{nA9&sqDKCm0Mf;>}6hVJm(CylD?pkYz?l8>C za)cwHjEQ5?`Bbj&j=0m>Ck9!?%Ia?Lqi(#@JrZ}G%y*+%aUm~ipuMiF`0|`KvUW!v zms;qa%s<@BN?05}6ve%=f0hc4@c7sA)+RxZhMvZs=*+^IA5=if3OdowPCtJR7=HzM zUYh|p)ssL&2!Z^kgQ1#@|$4 zaVL^<&=EEq27Tk1U&+kFZ_M~>YUP3yq|qGcRiWIM`rWmCq*|ZKXfjb|dR8WPt6eiLC0beOXCW%T+<+@j3PQw zkCxGADs-WM*2K)}B&o)aO6EK&V;|}OGds<$fX@BgxL_J%@7bxyJh6YRnwg)sG=@S~ zZXC%tzh|z@qI37p#`B?@%Oz4uil?_|!{bI}ZnqkLU zEof)-{FGu<(Pc6==RUJ!k#?sRA*R<3NP^+u13V&&hARMMnF#VY6)LDkuX*4Wn10skVE zb7#)E(_01A9;$zq%ZOe&61Xr@r|NYXXo$>%J|~Up6lX%(bbO#PJ5^66`rb0=Muck7 zLc3!2n3;Ly!vt99@7OJRcU)<0!s!6rUIYq1*P0EElECe*sw`cm!X;7mB?*NVLVW11u4>~QumzdmLVP%9`1^N8KNiF--PU@~h zjqgs^R~gN0gbUVM_ZuN*6kylGTbATOVv~Mht45ljni|M;!+oWLOlnZSz1_VQ62jTnXBK=bGhb%F~=^ zrmj>s{95en_aAF4se8Q&RBU(35sZ}87<%7lmYsj-(+i#bBw$YR%5LF(2U2SQ}qpMTlNZgMLlJNVO@{r5dkxbj;E& z6kB^4C}4s7uXWFDA8D$%2O5bNnpLN=D`-=pdxpwX>PjuVyP%`Dz8l%8(a}QRPFyk; z(#n4xOCVHY2&hO*G-vQf8a-iVW|;ZI!zItu48Hde@JAHMXxhX1Rt(ZSdL^kEw?UVVHI09ECKcrytuK`JMz)pQF}--kG4xLpbB@42 zgTviqH7XSkg9F}rA}hYq@#uKc1eveXwyJ+-Uzu9P3%#)PO6i=G z*!S2LtB$#M1}eIYv?$A-1rSEHMyxI>cG)I1>r-2%3Ed-d%*P&y!^h_dhzY7$$+ge|Y z5b+WsYPI*uWX08r9&wg(wVQzbJ~V%Sg<2eD{lt44R-WB;de~El|Kei~ZSM!(zfzCw zEK)yy?6oxYd6Pw)XaG%zp^w=!-X|Xck7^LrD|f+BEALGc?^%<>+8^pEP`h~V8K783 zoh51^RiK?rAKtDb`(5X_h$_NDYDZ(QfE+K}5uREt^uEzwr@q#quyNyPa182|ON7s24SV4TUve&kb z^yu)!I%Ys7OKB0KxaX+hIhKF8DD^U}AP%_=6wk6l19iQrC_Rbnl9ts*ZT-F0&YC^Z zhQ8vV-YYgRT$j^Tv~?IOGwVl(mD2TobDyPwA5O(F9gS8oisTb6R3A$2s%N{<)!vY` z{R58@3`#OhJD=~K*9H%%e;BC}Gs#-(GJY-j0@*j0JY@JBSJ8^4kJx`!Y^4=+*+PTA z1{T14yvzlpXi)K&taIPO_@8Uko$MnTnMVW zxhkqi+JUkxo@AL3ZF3;#(p|2MYOQh&!=M7Y@4c%hq`c4>-f)a0JQ{sl8kmr$VvOVc zqa6=>BNftk4&*OEnqz-y?VxTpSCo0DNbsd%Sx06Pt%Yqb%Ww7%(PcGbxA4C5|Gr={Or@c<3KX?AwwU~k<=lU0y=L#<{KV?cx2FI2>D}tZd(Q5_ z6LkPWJEL&OGN(SaB}$EujJ4;#N3Zy}Xc<0L2h5!<-iht@YvM%`nSrrM|Lk-9|3nsf zqraSsNqT0k?77*UTWhp!w5Ocj&6E?XFO?RFx)MuJ=i=j71S!ga5RPiSb84cqhW4@Ob);rS0UUQc3C# zlL7y36fpeJ5gW({nnrCu6Tfj~pL2Ye`|N*OV|!}k_V`39LvMWqa6DNq;?1L=25szE z$wb&ZyNr$waSC)IPdsuP@0nT2+>fl#9(Y_qtz(aN=Mb4pU7*Y>c5Ho8K_ZoW2a&ZX ztAOhd^8}@stXJ)NL@W8(WoA5<0$pLnuiaJfBwoL}$HIRv-uQ`l#g%4xQ44(Q?oNLT zccF0X%X}`(_ak*{D}MVvj=c{Y-yLfg#EMZSpF8q3aom8o+)f_qxsI_D^1If43c~9t z%GlifTjGDmy0SApjnljLmgdgi$iq94t$28d%#CI?9== z40sYJLASiqg9q?XN7^1NdRYOF@e^QWND!mfEIGRnG$p7BP;q+zsVk43o6V`G})Ik&|3M-P9i_D(i%6rtNln?bQMEbt3hC$?d?kiGUB*2n9{-0gwSHmUiQ-CVDy+SE8K#t)M;`#&c?* zl>cAJ&z`CKE9%5mWR|*-ot${>EQNDM-rtV2LfMaI_HaVxu{?Y2u&)UrZh~6Hmhcs-C(N&`Iljt;DGSeNQ z*>S)Zr^=;&h(n-mRs~&GyI$Q70~OE8eUH|Tvu?zSC>~Kut7xser}oEv6As9yaVuru4XQDjf>mhFGmEV4WK`0!t&*%KQF!KpcFaQlZT_k6_bx@N7r^7MdqpP=foIoa3JX#DMEEPStZWR+Fp`=^`mELNWJjenZh z^1|6lPr0&Ru+hxh1_};TS6sy)GILV}ole$~kziO1$&v>5!(GKIe;RNp5{b>kM!Hf~ zcqY6xmil~oodxwD^q4AZ;Y6{rp}nYbpF`(D(3pSx)cN4w*ejz6mH$7CtotY9_L^sH zsvIPb4J9eE^u&5HdI7^YIU#U(P~e|CvNrLP?`xOAHzVgfjmBAYJc6`7bMK<4*2CpZ zEDMvR@jRjz`LVD_c7B)x#POE)e25z^d|yQJsIH&J*h~as zG?jm&Rv?jMU%_cKksb2N9NHf4I_r39$82Vf9fAhvH#hQ1XdLsJ99DVb-}9&DmB0V` z*T6BJ9H*&qVu}2gD&w1={$*i%I1O}i%AG$F-vzH{tUN`n9U8B85%e(c$=^qP5zk~{ z+yVB0$B|vu$hR-_teHpjH<%ut8MT(_?@)h532*nl*V;;U1w|w*OW)&}s%xpwNd>{H zXu0-2hG)-A9r^54WMp?7vqR)NyH#gAd12et7Y0~(rtpkmP|Ou+8<;aPjm6=4ER9N7 z7lXKuvGk;h0t2a~&vi6fPkuwMr=Q}zH~rtMuebb{x9;{|D%P*WvfZoZ=<<_(%HMx4 zgeWiNeHZ3a`S;qtT^*|5_lL^(@_Oy=b!ngdQdaLQ8v9-B$2;$mS#1DrLh+;ccV#Sg z>Qc4T8HVya3-_q7CCePRkQFUY<)QxaFwpehDeFt$@v-tlN2=gw{cnV{O6+hZ@3AZV zOFxLI=h?)W0@PrVZ#_9=Kl44J|EYhWM~--?Svhfjed5eM3N%BqqaEzHsPjr*SVl^*QK>LHFd}Y@OX?VUA08cWYjwa010$ZXamd8;lg<=b zMV0Se8pS4d8Ow`cU!*V6F6e)ybL<@H+8NfZ*5pc=%f>OGt$ZTzUO|tg>&V;6)GQAX zp-=T9^LwNyPX4rU>^*<}RNudmr?v_DL|$8an>#r@;CuMBOU<%vWaS48XmAO<6Bv$b z@8MvYL?!TA%3Vyo&zI+Mu2|dDa~}+|^zL*WWLS&6c@%S7rG?{k@JoN&K6Ya?+$dg{ z?3Gl1<)?{1H8$#`7iqE#w~XdWk6yV(x$IsN~CnHfBZxJkf$D1_1{WYjhr2DLVFCnAjrWbB$sVsi|6f zec`!ugRC4JM^;bvz8LD72L8P^j#>G0Ap28crAGTz^UD6eF#a8D70tBfmcp-OTj##_ zMJ$aiHj(wv<5))K?=stZ6;!u^Mwg!B3nPqjZ>Is9Ze-tl7N~#R!Bi>ngKqC5cfWq5 zRU&yGiLZ>m9e*djFMc@wZTyG$FY(LqKjZ(z2k~L6)mpYrT5q&Iul4z@FKB&v>!(`( zs`b;YpK1M@*1v20eCrol@3+6G{blVRZ~tWb=Q>(({pJ3({muT3 z{geG??SISu^Y_1d|Hb<++yCMHAK!od{u}q-w*N=3Ew2CQ^*7!8uA4u3^EEeLfAg`M zAGrC^n;*aV$(w(9^NSDq4@M6@=fUSb`Kl*>;mKco@>hSJ{Pic_{^UEKeD{+dc=E$f z{=t)f@oB&IwDWZP^!(}Lr@!^-*FF7~r~muu%eNoD^Z1>&-}%;OU-Rr+o_*}uKYR95 z&wl#Z&wjxV{>^Xu_&0p~$KN}8@BF<7@4flnJMVq=d%yj?-}~N2-+%M{uXz9K-~agg z|NVpJgZY04s}GJoxccDwgU2u5e))MXzxd_vd-;c6e);Vmy!}P>V7R;+(Ql9M)rh`` z_u{|C|F|2`_y0de^e65{^lLlc+WEfDKfN2#nMQPZd31Std2=_S@BF$E{nD#HarM`( zzTuS-J=2Ijyc^L^KaA*??mxQ!W3PBG#UwiwPZvXu4pS%6a+dq5zXKugZ_D|n_^!5+je&OwB z-afniwA;nY?|u0_FTeZc-+TF8FaPe#?|k_kFTeWbXTE&+iGT8mAN$1L|L_wZe)!@4 z`tVmj{Lv4;=fm%Q@hdO>+lya*@k=lM^NW9f|KjIg{M?J5dGXN~(-)H$)$^CnfA#qf zJ^%ja-~9YF%bz40SAe)z_}z44tl{?(0dyYbC8-g4v3Hy*ow z_w~!y@4CLae)0O``sjLny}X`W*Pkvv?LPG*PyXDK?|bs6p8T#SzvaodKKV`4o4>H? z|4RQo{k!{j^)L3%_xJi6{bAqrj`bbtFVv^icc{0jSE!e(m#Ih9^VK8jx$J*I_5i!a zuCjaCJ@jYjZi4~;a{GUH`{35zL(hNozH9yI^rdHD`<@<3Q4;M(TPQ(+5p1D&{b-Sk z?uSRW-u5W01U0Y!{QXcKeuo-`y{x=GnC~QVy6V0!o-S*c0dd$Dv{{Ov2?+1qZ#?Wg% z{-@*5G}i;4e4A|hNs@LgbB%-#mK_dou4w7$ON4RB0YF$zaP9p8e*$s`9)H-vJT68Sk~x zTfvIa(SnOGigL9&cx~QOMWOoHSCO>5^u}QlzNzgkVByb1A8mhhY_zI)u+J(yil=P+ zfWj^nBJQwU(|d2<_yOxROR7A>ski9%4LJJ@&i?l3SJr2TlT~ms4v$Csw{NT@G8q@X zrkP~hw{N`H#EK)M@ z=az>@JFXq~&FH~qwKA$_ixWeD9h4;4W?YtuH4)cJ(WHM{V-;4i_m2NDdIT~d^dw*w z;h>_qf22%MmNj>eD3dGo>gGObj``E*1#nDI4N=wla{W&287>=wxG_>dED01hCqYzc zPDtD_SSaS;kCwYG?@dUEx2PhMPAzojT*$_e4U0Z(RWnmt0K;*|Q_*9-$P z?I4=@%=u?*b&B3rx4@!EG{x^#Ib}?j&+VBs=V+&{V@gwtrT1Aps(P~yO%wt6kx6Cp zX&>Wr@yKMwm5fj})EGG_xMy^i3=E7zRn7NGAO8{1?kAh;1OQjV1Q*Q|VUEq*!c1VQ zW}b_x{)xe8W4Pf5J=fjX+njYQOTD04VBz3BOfKHlNe#o<=D0IoRHNnQG~q_@d+ci_ z-T3^z!!&#rW$XCAN52OcG>NvO^YE^#_FY7<=ONfH3<0cJt&T3X12}@0G13Vne=|wm z-}FDEq|sA&mdvBs=oT54SzM0aLr zV~L2*CkY{>f)FbQ4iQZHDHW>xde}y6!=wbyFj*x84+zd^rZ6$h)hfq-8U23rJJCGa zIrYstCql*r?=;a533zl8AK`wvTr|n?vvKMbWl4_@da0A7Jd|NvgwD9p&-gM_-026t2H(vx+ZHfFl48h_DGymzyhS?^J)WIWxRj`Gb55G|tboKY$}JIvF?BfI@d zs@=;4>!kA0gtJ)aTnx_|Vi5&)#<`Sz3iqnKi{KnH%4m%F{Uv2QV37lE{w3h%eHiOq zO}sal4>sae2SJ=2&xYzP}SYl8^h{*)ZwN$CDh&w*0A( z@Qn9kq-BD%)lSVGgX*MhqaTj{2gJi~MQ5XHFhWSl#-e3o?dBc=WDWnp;E=dY$!$gs z)u(JI0h$S`~$5d;f{b5n$-TWSJig+|Wp9?KF zeQWvu8U17QUx6WCf=Us1WSie7oS_N%!&}Ut36!Thrw-0(xaaEV+u|h7XI-t5E{96J z+$sn%{Io%;`(fuQgZn?>7~&nb++> z-#Vabz1EETR&KS4!)t$RW-C~&M+~vBzbunRvPo@v>gfNXYQtoU*wcJQv zBf(vO$NUl)Du6@+@g0)Gff;J6jQTD8uuQ#{*mJ-(>lAvv|u zYn6^S#xd78rBdLS+pe?D*{UvVC;vJPQ>|;tP@1bB#7KCBSvnfkf+kKU^1C_Wnj)LN zQ)z)DRMN>#I_!XDr1UuylQd1zQHVeRRDg`KzM1-q(Vqaa80uYK~&1tJvqf`yX z9EMKDZ7d&lXaT;lQ8?~76hV+-S}zt^&AfB)9VZ@v3uYYuPXDiFasJA^nn}XCmv$DO{0S?4v31#_J zDPk|`_lkTrbO;0#rz$zJCQjqwC}m%h=6M;{I_YmMVnWTi?0IUp^u^TU=2z}ONBvXu z@n{-dj-D00FnU$=y67!!U2bi2QiWTZa>`PcP5755iE*ozG`X|JuSLCBYbLPWYJb_r z9z3n;#Ry-!XBG44ndENaL8I-^;)#A3>v;~w}nkf7#wNsj*_`Ul9(^PuTpwPqFKBs-gjHQfoN z5V-46!>Ah|ZJF#TFwIZyk1hu3P%heReF_+h{|N3^eTGZvfpQ~P#(eM6W`9u{(?=R+ z?h&zRRt^vX_L@uPVmFL!ZhA@TT`x0Ri2KQ9Ahe*#v8tU5>vL{Y~`A=qP$dYx_0W!?~O6zO4qgQl_Du%XN>hHEBbRARB(T zNGE9`Da{6*)c5=6Ive9&r!2A}HM?idfU@Y7-fz^DxGXD+fhtHGTYufXT07t!;(M8A z2uqn@N^wj^GYG)Zu)COvY%ydM;OnH=A^Z!~@4oAT1TQkh`5L zL}5^E+888y6<0vxg=6%}fYJR;Kt&I+A`^-Pmq5xEpfK{vODZREG0#FLZwEBqjp!3i z#cn}naTI2@o@h%n)~0A)D2t%6TNH1*PDkr!aLh+!VI)8o7i_cx? zddP2+DMm-d*#y|4w@}K}mg@p7M9cW?1=p(E^_J4J9fqq^3O)0n&q2jXovBU@C(a3G z_SXqkms8X)K6PTX&}dd(1l$C4MfEjj(u{lGYmEBwjKW7xM7jIxjN_gB(o8OB%{(SWJ z(eD7`z0k~~X$ORW+HX2Er)2?hY1zP8C=YGWHMfIP+JD=?+%GyxvH^;nH4b$5)M-|a zs28{U0$1Z<&)Qy(5XNdtUt-O2=8BTD&9O(ETR*Ld?rej0 z5&%9->(|wbVL~w^XvHymWRMb5gN9ZnT-{k8{}phD-v*ZZP*WG9RdtI&ttnCnrZCC* ztc8l;mw(mrwC{7;4+;e1q;uHPs-sZy1e8ABko#bz$3T4MP6O$qCZTyj0a#sXMqPr- z5d$*_m>dg$rX}M#FO79xNjrY00PJlwvz9n0J}!sa4M-KIGOM!O zmwzJ=iaKHU`e#g=!8l z#8Qk6bA90H$|F|x9Tk4csE{lN7g5-c!@rVlk!eKZ7~bj|<9p8Sk9sj?sI$L+CZ_Dr z^y@rHiXxbkM;?^$m!eNcyHJ~+8@()gEq}1FXjL~FWGzTq-FPd!)_gsf3(D83d7(Oq zPl&^M-DYnXS5wOxbZPl*-3XR|^}M0A_adk=g#euPGO@s0g&$(RxtcFTsjn2cQC~?@eAqF_w>xnaJ78b$^gT z*cmvGqRyc7^#w?Ah<_lz$>FGs37$;)YzDxYpXn57k+JgfMuHV(ig=8P;uIdHLQQiJ z`9{ z*BS{Ii(7I+ES?4^{Jnu~bITA0$Ra95tqc?LIh5Yeo8QmW}=b!g|7yP#22M9cs$b8-KK5clMJgyom zG{tNAF_{^|K(G)XrCM_tgJ2qNZA=maWz+!6l$jNTzC@Qrm(s#9bOFGEZ|&6Z?5LZ@0~d(InnXCz1?}!2k}sU zl9cu*V;#q!4o!}HVmRSPnT#hJPGIM?6BVe+1a-}Qgms6Sh~DI!bFzPKGo^rK5?hnp zhlQlt9{J3GU2*4(1p<|18=XQk3y^qONQ`yKX!DCu$A1kG`|HtvW^^g|ckRDsS}npX zj#>}5FdY8778{G(r}u+>kOsEj0X#gDN;$n$fg&!lxKaq~Ean7Vh8Kbi;mPKxuc-Ih z%Qwwa9*c2Z3_<)Yi@b8Un8pHP0#rzvbuy~#+0qT3u{F$>d$=>0Ul=CLsbTn(W(+*| z&!gXsE=Ko6k3^4u!st({^m1KM7V8C>H2@yYPSUaMC_}PA4GaZp(e%7U)zX!d(sa-^ z?UwKB)y5}ESx0)kbEPUSj;X4FJXp80X;Y>Yld)lJY=kALH!mc$@-DWxOkMzNHiOw~ z19dc0&!Jh2r2o$oD!5T*5^LNglo&wLoo!k_6KItuw1a(rIrkP5ip(HaN_<6vQ3@&z zpf7KLC$B~iM=x%=zGbmk-kQ@bmGcxFY;+?i z^%ErzwPH=lZYlPYCx;j7@9B6WwtUR-*>Tce_IrbQQ5JEx>bS+(`-b*2d-mvDDanRFn&1xK4_0+1DRcKsv!fL~;={5$Wb$h-B2Iy{){zNC~!} zAAsCJRnb&;00yYbFn>F(`!e541S@G;@MOd5nnM~TBO!TveM%JlQ}j#GHso*g^max= z-JYuU*1Ig4-Jtlc)-{)l9|LNrMAF}!O-6p?r*S-g9I8&H=R1pCQ5#@nlMA68m+*-W zgtG?ul4)vSPFeXT$`voWWy%DyBcN`n9mMtdZ1}8mfV)sRxG;0SX(}*QrShEfSdU^v zn>n0|D)8tNQTX^=k;Hjwv{dp=&IuEv>HJK5XOb7&n_gy4SvI8D=<^7_ zhrkF)f5-^DpLZk4Xj;#m86=}S=Yk{%DozFCAAB3l2fPzLyR|(2EMU|}qfvAgMth}y zVaiRX=G27^18a@lqR**{XgUrJP_=3gQ0i{19R!%O7tW_0FEJ=3H=Hpbv(=e%uNln1 z%!YBZRH^gwpa$Bi=iQ0R_N&yt?17D83b36b%A~MHZ@h44IOu3I`+5Vi=o=7AvspqE zR7YJ3N`PGP1EGXa1UHr9i_sqeM?GAB_fG;u+_HHS9E;nQGXZ*5O$sg74Zkq66Jqm3 zoWwq!Z}9Gx2j-%Z>28TQ#gwY8?X9zYUsRc@2ui%@&U$@;QtqTd;~5b0;r#uETjBOL zDCXhfpE?G90~IeHSvB;%#aQ*QH+m!$@S$E@P0|?Dl6g--s2@-oK1C%U=Km0X7-IPD zkh^Znt6SwtE?{lBo*J8V|+smOSkF;V`ceiGx zLQo;f9hLz@*@*FIixAu2fpS<~0y9$vHN@KC>oX>#mY7qP%{F@*%k4!51FmChNNnB; zJElF5K7pHzn?C<1p>DTP^>p%o(Ewf0mqCf0l8~nbSChT4@B0U_*O-cob+b%jvwRJd z9+(rTEC+fshpOe0(evvmAej-u3~cNjJCCvqqoRD5QeI!1mRZ%4Z1gNf7ney*^r+Y7t}pe z#h@-Zhr~*}MZ_zx?JlN&PTE2mkUIc|CIKPCK++fb1>ssB5s~ZCmUSvDLX!C*qN?6}gW_MPKJ ze^WSJ=(02FU}B{xOG7df158sN+cHn$uxRKgc|{*nIjAt&M~K9KWI2lgd6)#-jQyhS z?U#^g1SEtou_W3V#SPU==oHjBrDG~{k)7!dYe@MiwPQ-j#D`x^iebiIfEiCA5AThh z54!jD(OaT#kKPfzd)=d5a~A&8#_S24pVXt(I-u9vjkc=V{>y1zH~$a)_NSykwQk28 ztqW;Uhs#-Rd!ed-n_yi2P~}Ak@+Rc!Y2aFTTDDI#<0lsAr6AE`!x;-S1)71s7PJI?RlJejJ?SY?^6^SqVHd2H71a z1BX}$cK=Q|nMpeig(?P03y3Dd-cM9umEh9v1~x`x4+;|IMF~mFPXilq9@IA#o?;SP zjzEeu>y5jBL%-Lo4A0wcbk#I2PfA;GTp;9OyKPnQlNFB>G+Ldkb3CnAT{MNSs_#lP zcZ11QU3vw7X{9VLw>Q(>`ND=ZFKZtt5q-9`4gz)B$AW2~+!&YECxs(Cc8bJ>O{Nsb zpg?8_CA0c%rJ{;UXLlYOx&;N40`5uU^2!xJzh^!CkliujsMN41{++B9*kZPy)>wQk#(Iv1*MjGE`lYRQeTME)IA}k ze9cKuFLDTx*DREQ;g;c=sK%|+Q-3N0N1gZy>*Os|s2)oIP*p*mV4TL7G zx}D0zdOYa#wHG$dVv;N-;*BWX>HqAho%NHw`C-xCIqa)N_3Y~D(UQ777=&z$s zH7l`Tm1gaHJ=Ke$0JTe8q1P=|>t&fH00NqY;90B%T8I=b9?QboC~~7JAEeat#Kl>! z8?(OVECr6eIrq=VeceNYS=O80ooD{Amls`sfToJ0H}uYLbbI9)-&N_L!(%1JL0nKU z9aJ>Jfn;!e$c>~GaOE6f#T*h_R1>x^Sh{|gPjUQZ(4D^--5I^GWuH%JiGXXxiFi6} zd*7>dc(0lZBMwd$Ru`?vYz{rqplxULiKVfL6*|dzRw@a@VZu9=E&mr^-x_0Cc9nO3 z_WQl}+2?uhx$k?c?yat>?w&_?wWpaGdyEZ(VX$Kddop%xY-0lAX&%CWks*l$R!D5+ zg+ijBAQ2_xp(qFxDN-JY1oBcs_?bTmgaju>K){B?Njhtvb8dC@5bzsY2Y5YJ9ecIdcP;prQSAv6f2EflnoVmszw_-=-8?VC zGmF|5-nU5k2-~w@T?k#93?q{1R|6@v3f+84lG1#c2|-9zkyIJS>0~nu;6)B_f-xd@ z-dtkgU$}jb0YX<{b~l}9RdCnV!RBFcHwXSz_4f+^+x=|zuYg~DS@yo{>$7hk9EEAm zs$;1;z3s6-m*edTD}OP$Da+&mMx|^{HvvHo3bOz-z1UA&$ZuC}I>BAF&E@)yZ*&n$ zc|Ompyl4$PYGCLkofgCJDli61pjFAS;0Os&0k6VWR3yRuH3J;Q014RZLN6(hH0Yf4ivkA4%l&cDtsAZvUm`)Kwt$oh%#92qt&=i$&B)P_|aa{O@E(%0Mm z_=qGhMu_M+-o4(M0jFwo9r0sJ^yp`VulN2JG4R5x{$Coa;D4JDRZR^iYI!>nf`G=r z$vEtGm@1Hg^MBHKs}wLB(6S%!+6NR1QJl)Q?lhok3{-}|zsJOFnbY>}&gFnn1~s-Q zFLPhp^RkctsPl+jO**|3EQTO7M!xICovPK8;iVyoyGWPe~bAQ8I8 zV%WlWK#;Rb!$p|G36FP(f`qh+kPOeZssw_;krc!rfPb(+sm7WsPCiN*26iDxfE+6S z1Y}8v@m;E&6KSrx21S(g#2%REcV(Z*ekl7?_7_JEDvtE28B+FjE%%yNT?aiRJ6OrS z8NI(g{nufCqifkbcJ?*ntFHRS_25V1y-&Iq?5S`n>LDhEjoP;#4IUzp@>0NtaE_Xs z0vRA72Y+rN0nXUM7-{9jG;ddEIj1aG+{XM(cVtfD`LguoWR6p(13i$kE?pJN+`Fb` z49=T%owu=>gX#pPU#}*I%{@WQ);XIKo1L8VWnE{t(aDVO`@6`Gi2 zreJw*si+(lKdI-ru`{D5_bXe+;nNZM}mX*WB~2@r+kMr^*3C8?M+sHFk}{Uj|T zKs9H;omKNL9VrQs$f9K{3h>c)CO((_PWB7gHoNM1#Wj(-sTH0mQ4cg8bWv|M?r{Rr z&uE4d@An2clWOL7?#5@kU72rp-6mAthJP3e9;}e+<1N)o4}@4!jCJ%JeHgxj(pqu# z1C}VYZ1TDmLI4)mfYOV$!d|wU`#Bulsztu!bA3B5i+J}fQBZs5RH{iuCD6>Q*TKJ< zeE|@$%DyOjC3`LVNI&&7R;x!g-M2<>dVHRF-GirMZ~wOsn!cAV(uo{637o01(0|>l zVsSN=I1le+gmO!yyl*|QN$j~^Y;7>!$Jhd4RMyO#S0?zA<#ZYwAJ&t$JK3)fOIxr+ z!4W7}N3mIOjJh=0r>TO7NR?2h4diQ6`1ML*oQg>@o^`Fn^aq)>ylBpSS}`t#6ji9b z00o6q9hy)v+qCu-NLm#V^A+Qan|}@bo>2_1S~j1S2;x0j&RFlQ|F!HtWWNL~^Gk2C zva4&$C5dMVcwSO#T$#AY1 ze+|+H%bQqX6Rg+COb<{`)zs97oN3yB()Xj!XP<}ocq)6Y?=22x&)+AG`&P|$GE7hL zV9--nBh4C<-A~Ud=Wg%TmrtE6ecQTQ_aCnKouaNzm&8fwClywuWvKCP)?)m;D}j>X z$UjTJd-oMC!mF#uXSa15z z(t+&%zp{S{yY-ILxjA}wMAJN$LHj4VwEeKmF$wX<;|jwoM+f_{hA()U%YwuGVMMGI zKxU&Bg)#H4oq&F!q%6vA!@3&8 zH;Y#_o^dSo$CP7+H4EeNVy1k>9jp@wN-7G%rza&dYT3e>pcE2@zgoMZ(d=P?38ZC0 zgTo{TQ~+W`8S`Rx)j8e>CWgx1=d%9_%yR}ieRUnnqI%qV+z*|{R1ZpNxIKQo7Z~EI zkL9mFArPqd48OZlOn)HVTwF##EmJUZnkx&0u2{WLwsAXYw0h~FUJliXVlS==Bh(u9 z4}MTFJCBC4>TI26{}yj5%DfCMW{}GY95%o*rf#Zo(R*fo8#K|+W#`$8*_Vv9tH}Ed+lcH@H1@tA+s3J7;rJGa_^WJe8@0{wo zn0KXIzu;C)4y53H!h=j@paqE3&8%ERUhZ>Xtb#f50zsS!AV$3Oc~K*al%~2Oaju2A zLb9fihg2r|JoJm%1fuU9*@v@l0PXX=*&ok7+1F+HP;YAo<#T_mv+YMLO%I#u<>NuV z8bo0;j>ru4+QaoheR3g&b?CpdHzQv4CCmrM&d1fEk89q8_u(fG=kct}8*e?Az|O4@ zCHK1Z4-6={#eRQ&;!@X%0?hgL?QiRHklf4;=H2C*bd7xU24E~ zSnFj4WY&vMGGMVUotLg|W%G6bJqHXgKQAS>UHg`znA@t=<+RFOkr(PL`BRWi+ND_A zoJ(&CJ$!#c+2=ur|08(1FYO&D`{tM<(wpubg-6QsnAnaYk&7YDQt%Cxm_{UDsR6z1<(C7*!KuD+LJP!v1^_q*r(0e?Vs-Pp>t+JrK`tJYD(j)~R>VxA(73 zD3Y@!ePQChsATn-=WPj$hXY~K>IAqi(4i_;_1S;bD-}x-Lait?=oU1eVj_5IYQv&f z1^GaHi;Nby4P*^~B;I@M*rWfH{qO8wWbey0JArksH(efLD;0|O5xQH|mOzjr^j8Sx z>=G10hmgU}O0LrUk`WqMBOzpxdX|W?QnZkAbRHEYAYMBUasjxC3Thq-bKfGu>s>WF zT<&){24*R_)|z{wt<(Hn7$^+!>GN4~$XI{B40`uAoSL_1?>U~FCs%SbNr;|?jD^bK zm*IuuRB4k+HOFjr&9e4``Qk@ozUm+rY!lWMq03!tPP=e%zBvsGRW8<`3AJkrjAG2^ z^EpM!b=({t7S-l9&Wq_T+PXb+T^$?>>NPesLH-!C5K98W#4u`s9Xf*P@*+0-IYWOA zr2;Ghnju0e&Cu_3IZ4u!;>6JCCaou@N{}DrwJWPs%r?|;Sg^lYh#6AesP_|`h~69ZU@ZC{VVw`v@RZ!g8Vw(;1L<{q^dk1z z{wq^`ms_#J9?pnRdgHit=?z-r=~919I6@Vv(rmI;Wg75Ds5Ii`bySmXS&GejB!>tQ zlDZ2b^IWa)%A%qbA9T~Y@Hl)UZn<>3O;zN95SB9}Yzg9orZ%hqUXKxk4H3@xc@avE zLBPIYcXFQ){6Sd82?`y9^^I-m4Ht|d-qs$rV|T|;ECt{)8%Q1^UE3hi)3#aQ!QV{p&$0kC+i=xE6fof z3c>j0hj-oy@r4Tv1O?#BLfAW=+KKm`g& zJ`bP)3rvl|x>O-_QE-rTP5=3tkNz{@`Y!^ezbm17J7Ck1Pc;148|k}o^=L(F2G`l) z0MYXVekH9tLjEA;_~H9dBW)e?Ldx4dihPDK-UM6ddST>ts&LI@*#dtNr?XnX9xfN5 zilDrLTW>2a{OZ<0060_J-cs%$^fxIbl7R-82BfK)DA;D|3~9@f5+)Yyq%sm9ZnGC@ z%P_7k%VK_hxrqdX28cq?wN+C@gxN=GJL&I$ee{{^*8tzsXT{tFwl&VB^q6vWEqoG7 z8f9yrvHR0@X!iXcT@8P~>_@QqnN4)forj^4`E%2Vb){6(yxF&hb*n&33b}(H zRTk=NK<{aVWx@^(T;x&qZ?bK6Kl`feec6YOjPcrTbv=GK#9V(bY{sWMW+M30t}iDJ z{lWf3Jm?#?JzxxNgC2*+N#(zHadNV$>u?(5Z0A&NO6|4KGr@Dndn+87x`W)M z`SNTQbaz#~Kab4>)LO?Gz=+8WmK<^oiX~!RF?{I)zzV1`M}stuOOzMZi{P~37?Meg z()|{SD%tv1o;!cE)7#H)W9lQqMl(3phLM63#&e)OfGt*m$RGsrC+GSEU_uk}KB5bq zK0Coa`Yb5>e~_JKcdn-mdcyKLo8FrY zYJY*a(Ry~+&tg57h^>sF=&wrIQI;e6;`8{qH`BwdW`2LzP}p<22Nje|3!ajv%R*Cl zyhY+5^GE+Z`Oi6I)KS%aWi-v;{Z97J`_CJDv9A?1 z{8%RJjc(1gm7>{?%Pt=4w&v!@d3!V8|J#o2SF5M@n<&o9PSa^qf$x5fiXc z8v}$12?#tgpIw}GetH&4f3luf2))_+30%yk=jn8KPBzp*o{9WVT4W;)RcVfT> zHP`Kv`%jvdk0qpfKXUHD4|$cccUrfr2S3xeGMO71ixveu_9cK}jAtHBfytw&jj1Eh z5C?w@Qsfm`9xd-!L$m0w*-V;6WA^ib4nyE5EjH?M%EyG*gClu zOtFZTNeRbQtmg%m@h*rF=AK_~7u)#YH4nLFQ`yz6qV8{HGOz-_2`ukr;CRQ_Z66ne z`%Uh5|3UxDaS-L2&0JT_$NOCR)o6z~C18Jcdg>t`D9$_xP}NKsN32`Nxa@-RqF$=T zYR}>HTUr4CV_gW+Y?_J?#kk+J-hm1=4c8{1;?GgTX|=YY0(oz$xXFF@R20iusjE7k z)bPVE;CKp^ucOW@!}f-9)NWk9J?mU5-v-cK=Vwyoa(MR7_A@2>u|D2EoeoXslr!&DkpNo3T1k>_Q>@MPUZi2v1uLKvHU9R(|Hb@mMW?x+fZzgz zVvMpLAAddj0_4eOdrx!!h7thv_3(fF*e5y$=#c)eZ3Tm`VBe%hyEsnF+<)BcxQ_6@ zqtvvtxS49u6T3no<0?qpoos0)jB_1nOKN-HEUL zye2yL;)ghk=49XDXYN)+$HmzWgGwU4a;ofrJ0avC?4cXjDg+XR39JItC& z>2(oZPH}lk5D?Qv6(}#)S?^x_t$vR9B70}{+O=}I**XO#xw}zm>xuTT5@Q@BQdK>< z8r$P)@Zsj1w4#4AmeYB~2?%|NV{>`PQ+vzSo3_%#+Pp200@y}xQjlmt_8DYkU30uk z?d?kCA#br>Q1YsfLDHzck86L;P!@W&LUI`yc(IJ}y4J ze&gX$uj>f|2O0U+)ln<=vr_35?}hWHZEr($qKJULrpnt&`q<`3Zv=n+fjJXJEf*Ju zwIk+KGA-YVFsX|;p`|7`5B|VS&_5(Nof2WxWvH4OHn`qRT!mdeM<9V&JT1Mis<*qM zm`w7yZ!ex%O>-GwDMVAA}EAV?p4keG~IZ-&&`(QPZ!^aAnA+BnVQe z^to?=@OiFIF&C!Nwsxbh&L`s6V^4-Co`az%X6m!esFB;p~q zu3|Yi7MbnRMC_NH=eqk2M~Q9QDW)A_QuO@DKKgCo@V@~1KivrN?bn^vA(F1kO0TnH z4lcf{-OWKyF@nq=w5Fq{;A*g1@^%zX&&Pb8v(clDY?w&xP)A$ z{)PgsQaH+lwjE|3vv87Q1e9kY^F_-S6dh)4CH|DaT#`}0>pRm95=lzD9zW#GN9QpwdZVYh%THN%)CeKCt z&ldjfdVQ!%=j;wKOL2bER9zL@a(bq`rRW`o+nj%-nv*OdWn@Vw`J|W?)f94GuD-?W z2*@ErS*MNnWEp_Q5Uwc;kT5*GUpv8wRHEcSEr8C{7URah(E>r#=1Vn(42<5HhAx&B z2++g5lde9U%$c9e2{VXG3k;tHc{xS2gmuMv_n7AHN|pb84+=DE5GF@#b&jgxw=!j z2o%#a${=MGBv7kDZ;B;Gq?o9kGJ+#(RGWVk+q9ZYjm@L}xKheOKu@PJN?5mfu8{Kn zB!}}bGZ4&Zei?zTZ9_?f24x)mX3uHhJD=Ph>zg6!Gy{f-GxcpxK(4(*) zpL)B$sUH%PxEjcGDsF9uJD|jm-jC;1B|sdnFY-e*i6=4cSGumH@-f{(DJgJ?P}+Yw zcX_x+>w5MKx3*bHU>t63eD#T16~yYciG?Pzngy>*a~jIV>^O#q)6MOYDSJ{VbC9B( zD&?^~a}=;yLp1ia_0Nw_^^Sp6j^(e{@8;F8nKvJ6*v(NW^x$@NBoK!|F(ydsYngw4 zS019!)Uk54ElzA_CX24HAsFKY$J~E1Q&e6N@0B;?MNkMvX(e1mi%M(lq}?vMwjfR3 zboaJ)GdF&k)9{JhBu|aFW$Gl=&DI&BZJ1gBIe!9c=g8PD2Bp960B^Vw5?P4CJ+n0;OLEsuAdUxRv|NmG6S!I3-=fu%uKV|{+Odu`R<(Y5RUhDy2o-j-&SSKVZM(WQRk{e1 zI7Z-cs0pS}Nm*K|Z!#L~LLucpMR4DD;+$axJVxmMK z-<_)f%1Kov2u7yY!4lv!yOe(s@+lmY)Z9Bet+?VF*}TI6I_TEsHPA6GX`b9-ta=S} zEAp`M7&~7IIhVM2uE%3jp#smsH&`09Nm{Cuh0MyM`!bBtV{-6)M+hasuL;xl%9vixgJRYc
T~+Uivb2we~+a9r1VwhIt1jDa{^%|ax&>}F|hbRx|{B9P4u zu?~}I`fMHGIKS8Hr?1GqDf^D>d$aFPdof<~wjXz-xv?KNujzzUJX}{0{y%n=v{yX@ z)cs#qgWdgD#Dk4U<&)+CoDtZL^cQ`vh#&qI&_->mX~YQd%1(b)v01{x3Dr)E(^3_x z0JXq{1IW)`z>xA-DzZ?g^4YBEj8zPGq3ZU8Hk7R)AJ;KwrJ{ZL_M2r%PWtDK!SEEvgI)kPp$u-tx4$hN;2EqPti)qzJ%*}EnBEI;b+R6-hbcr!Q> zA5-LJC`9e=-|I)z0XA>kpE%asQiL7)kokv)a=PS@`3bXz^1O1uWiTV!v?RB)B|>+C z?j{;z8O?vx=AP#gK|Tx|PhFfY5hbf+f!a+>X(Vzv-p?SJo^jwkikyj4Za1hB{JV@x z-LY_bdwXckW}1+^n@&y9ZuXsmL{wN|crY{ITZBo@`*CfLya~L6h)SbFla^7N?%4*; z1@DJ3$Zt;jyNq$kC81x#nq}$44=XvfPrD-Me$s#9cj27=9OR;YE?G1;t8?QmJU7QP z6I*_KtLA>t?SB?{Mrngr1{ejIt+_DimJit5>Gonjn>sW$ItXS=N-62XyBIl=r*h?qL0&z3pIIOU+fU!Ak~Ar=uiylp*c;7hYF;WQvZo^6OI zZ@rhO_|(eCX9$2Tp&>XuR+;{9_Osb@*;{|JKXmLK_Pr;5ya9bI{tveoCpddBHi)0_ zawpf$Xe90@fFBHgeep@UQlnj-dJhG_ z8pfcf=)?l{H($;PSun_+r6F{YK9%p$FN3!EcjJAKUwL#yT%+(4<7orKXc7rNhBF+y zpC5f?2(H7b9e-N)5a zw2-qB5Ez}gI)n=o9NB>?(A1W&_8%x|IT!ZpoykF<{gi=V@JgiHR^e@~=Y_Dd*2C+t zgCr_x^|cJ*y}CQiBfV7vqxgSpeQAtk>3P=u_WgX{+0VKAQgv^2Rd@AXH8Y;Y}32{AT{lYoCCM@k550>+U{A|z~){INh7!7nT$6i9$rN`izU#GeGo zv11Z!VhFNA)V$w0=T=u|{HJHSYq|Hn=UtxXU3mzEO8-{HLyAGTLVP-@{1j|H)2fch zGG^8+NaasPztPoZpYA&$2FTS{;i9XFUAX05Mh|EKAJ&dkeCTiJZ2EtdENv#XungXs z+2p9G=B2Y&oBU+4T+Qc8o&eXoc58E6uG+$wgXz=Gj#G})S4t^7{Raqq>?}|YP>5?q zt^>A*Pe9V8RTM2(XZd!TZzk?~n%~LbgA#fJkZo2bjyoE`L;PHE>&tfm_p3R8b0C*=Y)H=~f~GFgTjU`38u!+0{uSk}8|cz-|?KDrgEICjAg_TJGQxCg7!1 zopR+&nUeLwmCNfP_?TT4G9Cn(En{oU7?~nfv(rZTbUis(FHe`&4+;~1G5RLN^u_4O zeU0H#83;o7gLN@}Ap`#EEKM(h?SKup7p(E@{2y%%5Isb7#+o{j7~5GXOP`R|+I>kTJ_8;3g?`QvEFum~uB>GfDECzHgHoM{11t5jZR3^E_ZQ_V6 z{t9X0I)2~-)z|_Y31xd5_(s!C7EQ{sYfZd(!5RqMRV?}tpbf&v?8t7J0-s3KQpWXo zWP?eDC?#GX()BmQTa*8>n`C|Cuyg2D=J36g;bPdYI=f$2tN5_Etq-AnJgw@;KHx{+ zW)*I=!+`;qqKu$_WSZ6!ZbCLKuuLGty&SLK$T~9wAy((X+Ba+h0=8V%MLw zJ@TZKoN7wx$Fmd_bIx*C&x$kw+!JqNeP{IRAeU!BPu}x?DyiHT%H^?y_`z@A9*kp< zS=>Q%m+!kAE)%T5^0qxL`T@s9kxOcTcsfClUXGiYa)O6yjBE}@_AaYZ)npWidRre( zW(RhbCS{>rez=^J(@lCOqfKcS%kgrK5+zkQ3K{2K{!Gj$HdK4%7uVNqv)-ngFh0rv zvWomLWzwI2K$yvz%qX#d7cDn|DQ(zPQ=||VG9iq7G%M@emC8@9WJ+h>MP?IY1(cHNbe2d9>XE+}!~nPX4u1M^#=mr-ws-%Iz-`jqZ=Kj`$E zd3F#r3d|;1jE(Z#25>-0Vs)l?qJYiolLc_+SsJ8&K+*tD%3Y#93_Kx6GRH-1=)}lR ztMNqUrCl{xXCUzpVtiA_-jgR=HY~h4;CB(-Z6ZMT z{-~ROpSlIuq9;x8sRn$^ahzE;261Z2u;C-@vuY4 zrwZ3V@1KtcZ$R!+PnC?@Oaul>hXMSwmBIC*DZzRw${esXjUEI2Ah^a-Nh{aaR&9B( ztQJXqT6GhpS7YLoeN%8?P1J2{+n(4qCYm@CXM%}s`^2_w+cqXnzSy>H-TZa`s{4HR z!#Vx5Pxb1qK3&~=t@UgMwVV}@;1B4d^zC`TkndGP;9+$3n4;N{X~RkPhS1Jz7*hGN z_5fhi4HeE-FC@*;paQkHPQ&AXGu?hjji;F|7M1TO;d?bJBqIdc=;2Bf0)r-Q2xFV% z`{@LE9DmqNL<}@V{~kqkx|VhDx%0VSrt2N9HxVn;bzg8hgU_3H@7kxc=X%Fh(_61r z#kU92YUFS#X2-9I)gk`jK}^`#Yy7qhFaUE@QPW1XEb)g5b~1TM8k|UOOrx+f;iEnq z8@B*AT=izPYe&3!Q@a6a^Uex}(SdB0!y>%^N;|~-BeTVOiZ6wj! z(XQ*8e35(`pQ-1Qe959{h?~lbcbD~*+1uxS_3O9b3hRWD)1N=Q-7|yigi+Sma{%vn z(&l#S?Ubq5YNSy4>cxv_Oi@J>gdIX6{uAF$ne$y~f$(uOungge8BzRQGWoX2J#t+;Oh+txBDOOVFSF8QfeY2(n@rFjAlqh+6W z9*8ci2X(H%d|F+okv=E6d;QnbDaszId&-x5?6)k4Zkw7y%MwfRVy9K*#4aaeZSG79 zUl-h^>0o}W+uv+K{1gBS4i`Aw4xW5AGxn3bC1ZI$DdUmdX1WyC;RpwzcTg$@^Uenu zRP8?!%+goplmvaZ=jjp5&;qBvM?I{hx(g4Tu7sSWU zYO3NYRXa^iqZjQ)Ax59PnLp#$)>)~x!KqFKkAXruVX1%=71Knmr#HC#!v+@vG4xAm zGXi@Ez_dCK(od10n(dx5n+|+bG4Gg$dnyb;9*xRto#D{AuQWsHT7I0*WkT`(4L)zd z&BF1M)}$DsLao9gy9sb%%bIYqF(ZjGbh1TXsN1V1{sG|GabVo8?TvB)>(GVXI2#N>{c~j{O_b> zRANOc7V4`GshinRw+t z?5EFG&((;Tiy6RDqUOr(W4r)aqMQ76s`pLh^4-Co5!&7v z_)%!Nx%pKtgIBxp0S4Yh(4wt?R{UZ})5IfZWijCe+0BC?+3Ou8Qz>RrFBNxxK38ea zptv!NGmS+WbMYBMpN$v?>zS4$eD@Nmp3ePvWW3Xx_XQwy27+_PQVD{yJ#tLS`1^_d zbNTy9VGBxs&e==T`4l01{NgaGP_i}~;a(wY4}waRkw7MO$4|O1kbJ6gZJCTW{gOct z#z*BL^|^Cw>1!ph{4ClVmrdLSY4mcrx%%ePz#Tz!MyS>IA{_lx(dx137{?y7bKY+< z^;+X1vLzwkxc=RPDQO2o!?&&JjtZse4;)>NnoPBdOQU&MET8I>+ z5?&wW{gMhMn-}3N&>BXkN@!uRa~Snk`MJW>!Ka{pV4%(H^%xgFLr1d{k^!aR?mi5X z1y+xd6OEu z2x?OGws^l{$(A3x&$XVg5Fq5s5NUNCzp$clMhj1OSGAJ5h&)fV z(5v}WD|&7sHZ;AVp0&Cc_a#si=NnN%nF~FWVN2efd4ckEQz#MPI*1L!S?|S)F9T=u zEPCvYPf{n%YqL`_Bww9C@aH>z7l8YteA0`L?)XI6o*Kiza5QpG-#j3wM+o7b)pcYj z&J2W7)ju0@V-9ElE*(c&r~y-0I8WWJRa34qlBca_C9N-~)DmS;Z@m4U$gb>N4t9raqYoK%)%D9vY;8|bGha9# zc)20mhOR9Y7!MQYU^F&wPG+h)DB3d&F&mX{`;(l9@9k-`jG)}Itw8rAvAiPa`s^?L za8rY*pJ3W@bu?(fK=t-J9whHy;!m-$a_2W(C9sAs`%4U_L40^O?wqCEW3361C~>%V z8O0u_>(S8#O^|Z6u5aZWqd)=8`GdH{;fnsF;#yxCWB&N~ATpos+sziqEgWxWCr4p% zA^z7vB4l+>`DQ|o>z9M%9MYAR>9s6XQMShe$~8f)&aT8N;IvyqvLB6U?t!`N?Jg&P z5>liIoE8j<5v307Ch?%v%n%!2JzgK1OO0~y-v<9P!Lm9M$m)*RK*TOM=&~u6EbULC zm@1Zcbm56vZ9s4l6{RB^*ZTOkXpsJwqCLZrX0fdIf7d3PYKb8G<$l8}Mzn1|2O;U1 zyAEOJy4CEP01KJY_=x-w#DLVKTiGz!pNV!b&%M0mIkfMEgT4=o3}Z%gUe}bR6yKt5 zny@}QXB$M54A;>upcb#a#{~s3F@m^v0bbh<0qX^P8y6YvS4?*oq^9S4HII$1zkIFV zu=2XYI*tQ$n*Qo}NgaB|J+7 zr*jxF1YqJ?xk=L>zAoZ`HUU3tJU2+%`M(dWGF#AumszuK!bclYiOZ>H*-#w=8&?(3 zW*hCvhM@&m_8JQ!wKcd{?Ls)r829^F3JncEEo6RF_v>4(t*msj-}N43Gd7-^QhwTB z&XPr$?$So2Kjxym@XO?AwyQ+Plq_ogU8A2H`@!J$T=!pOxngkLJI6kR0 z2%x(IDUQa^{4?@AmLio1O{r)+W3!z7vUaUGD99H)N6+QztYC}CyXda=?QE)R-EjBJ zOQ@d{BMHheG}O&4dLt;)OkyUr^|@_1rP3nW7ta(ohDYuC-6zvXN+R4hl`oZ|n5P{H zN!{QlE5{a!LB)*_=pcx#J5)?W!y`si4PYQYmn{_@MP>@yZ^wP5Mb|tf3>DnaW%+AAils5TShnfqM$APS4{w# zGg6g4O}Nc9QIU3zBnNtIy6>KJSzcdh(hxbTZZ|i0Vkqxh?_=KFoI1KOk){wTS219P z>8m^Y+w+RAU@PDkAHD#mM_z~3swXhOxb)-M$MtaK^YwNcETmp*31pPX)hOVZQvhW3 zpLHzZwL9qz*0v=5XIL_=)t~P_B-dR=1ndv7fDR`ks)5rs=C@`u8_C6Y7SN|CU7cAbbG!aiq&c zUxs1L^+V|GzipD32A0+0rL$9pAJaB`DsTjERZlGp>H{7-pGv|2QGE|V)6!#ojdfzn zZreb&-n{^wMCZGe_I#WUxggHZL{u9cH;{IBgBBF1@?2QS{M2>CI!(orRJ00Q2*}8F zFG0<*!fG}6%H4B3LWNBwVSeC%R$G8L1JM9L>b95O#ViHG2xrygYVrHU^l!Tz2Df1% zbQpxr^kuYOx9GxLl-jg@l`?eP9lycx%=0h)$I^_g??$Kjw-HtdaqG>zawK#D=aGQ^ z2{d=e?4-D{JqX=EtMXC*)A&g9Q5WAikpK1xqz8)Wt;g3xrBEKqC;-UcH2L^=L#oVH z@LJzNV>gcsdsKE)8U4OFP=!%8LphU$8H#C_n4^O}ZXsqcc4^$;@DR|Sh9{7sE3zyl zn`kZG)voSwG=dr69UyWbT9fsGKN#5rf=(|-5K}ot(6h84_5XuW zf(ye_kRVIT5j`A;01a%N)1<7>v9pwCtRCs9Z+-KA%v9DfUc6d>ulh681xo*jyuG4? zfdKIhU007sw4R>sIox?3Vx#r89X{2MyK5rcJ5>gy99F%%hT&a(0zD6EA|Pr*17z&L zi$nKxOnr`nd!Ko{mdpJ`>U62o;w-^mK7O(4l)34BbZ%@g0iaZQ!4>vBO8kL(9@}0AHKTB_;|GEeXTwe(X(z9u1eT%8!HHxyK=^BL^g8Dzjg#d7aZSc8a5(M--;Tsmzk{tKH& zW^%~+VN~~L$k=%*<}daV#Z|my1+y&#C-hwT+G}t}H1G(3PaI7a5J$ezPPc=N=Ta=> zl0V^#PF4Bu<>EMp=Cm)@KOY#oiuX#HX+FqC($dP z@UtVFHo#@fR;g^6{dc;4!=fu)N3IfNfDuw+6Aw;%KgyR`TzeQE2@f2WgstE4C$5)u z_;3DQix^Zn8%i;p&@5wqm$z-6K*mu<+DLiyQ>DsA5X3aE?hy{yTNrHUH~`cq1rgDX00sY!0J7?ktT($muHxX z8IG5X+dCmGO6x<+z_|e`5vn(O|5ha$Hf#r3P#W!N-hxQM00u$mx<0O3m{g%RhJ?#T zyE?qcSWrqy6}&d1uy=YhQuV+|jQ7s-%ln?8wglH~l#UR9kXH_4d`Eznd#rL==(XOa z0VG8-twTE2Hqw~Z54CXGOQCNpE^89tqoVYY94O;POiwBS3e#k$!S4T8Fa#B z@qTJlHqpsWkacZ>a|wb##wu0%?oor(mPH+qWnO!!9i)Ttf>l#@GU15sbL0j@?krfk zFwzxAjP-mL>+J}!1!+3 z7c@XMzBBZ`nR9)-`px_$_&7dR_Exz4u{sjcsAU@TdtC?rn|1l2a@XwxsdRanX1DaCE5mr89k$u!Tx@D96r^UD_dO0(4q;2J~<<5U#I;5i@lBbWK6ebqScwzic zm(2tVZnO9eUm?L14*t^*6+#0^1zc_%;&WAoWqMc*ZTJs{WFd3w+537w{9HjgfIt6a zhOeM{l>Y6d3q5m!V^CVtj{333^d$fN@GnQC(Z$v7X1yd`j_;nUHvem)**bn24cKer;qlTCNtJucB0L_hYBjJca_}v>I ztT7rhw39U$@yBqF?6lRj1~_Ydr*#XW3Mn5xwlY)4Q4%M_s`4OGQ9W8Kho@N^-)Ksi zg1g`4xq7o{_RhS(vvKW-Y-BJRnRSVW7uHjYsu}9q5canrzlw$MirRN*NnPz6!-D>m znmEknGq?Y7O?t<`{YGCcbp4)1sr;JI!diG9E?qRk0~$hNBI`$S3`~Mhpf)ZG3f_&f zR(+IbSG5P@xwCCDBZdeQgDRz%x@GDw?hBQ{=_Ttp{za|(IO*EL{WzMj1taz<&S55e zUuwQHTHEMOs5NEph=?~*hvFr^#q{pW%-QHJ{d8h}e22H^7`UkHDl0~Vac_sYsh7Fj zCRgg5H0y9yr@Np!2F&>X{>4mqOvfNq7}pF!Mq3$EhuGzDeP_!(b1AUz^as0~3FVF^ zdiPTD^k0yI>#p2x0(~zJONW76M3seABj2mLYGM7|Ax(SP&>7k_(%B*OR8jzNrN7n1CH)ANAfWuo0*~*Z%d)h3JV8E~hr=3ivQg+yFZ88x(DPU|Ud2DXs*B~9F9H>IK z1WmsWO3j{B0lnu;?9Q#H#_&>_w*rs*C-}2e(N{l0g(!^`qC3cJ%pnOJqq~EhNBSg! z*C^2J0ri9mo!l{lj>>5%Yw6D4@bt51zq+q*#h1KyKPij zpowpr=^Hug3Glue3geb!ah=eWdf(cBWOmwq>nnk}4aSd(r;O3VQ34tdt0)Jd9ZiTSmQJwy4q@&DuwV>AiJ!j5?7$tV~Zwp#fy66U|@nz#n^(3BclvT%Xj zAS$ugG={#g4t7{;ffOOboFXTO=^~*)JU`1UTf#t!?S4#xA`U+E>=l}fyP1*^7=zqU z?S+iZ9;UYOl(TzLkN`(%d1X<5S~JgPg8=~Pp~su zqU9Gp_)mv@-4$-zr83yv(#0FLt==8H__I-j8qZ0CjV9V_{VPAHVRLQ6Mbi~fZH%Dw zVaL~@j?js;BpnNTd)PDh%M8XtStU}AH%g29c(aHE^W|`u5&>o@dAur%QLo>EY4f=Q zD>7F9-V^L|Y{H}nGD(D~8yfhjgcGLlt@c+_UuhzxeGLnL+Vl9JGEuU+$z%>2dV}0G z9Nh(m%!6xWENfq;(we!%Qu40kQmxcYqx?5PY-lgnczmh)$rO9#aSx%l{R9H`d1JHN zsGxgWeM#Pa@gER(fv~p52YWfinD`6|Dp3}$v9mT*GXJAx%z7F&_!6V`Xfn19GmgT^ z%4*4YJb$pm<1D2#`;?zZA0&`XG&8T&j6^rabu>w_agLZ3CqKLXO!X#pKd+qd?jP#H z2E=nBOA#b>(4K`|4Gel&05N9B_s@qT+(3=V}(|Bcd%*0L0 zQjr4rkJOzL8A=z{-Y7q}Le>JLceL)Ga(bA1r)(+%e{jn5tZA=h{&KqMINaUs!>l=B z=YQ-;FBl!BDuf~Wgy3FnR=2Ob6*vEkD0YPCOf|8MdjwuDW_qCZ?V-Jf>|*Ye@TLC- zN9-GV_HhGlLY{xF_>P{7fauQ#cxeSg;S&Tu=M&eIvZdU*v0yjZ^o*L|u26`X#6*LJwyWjuV@SE+wSjK8&#>1|Y)hx+ z*_ePy#aWUp(v(PmsCHr!zxZA{HXzm*-4(H;?Av9wo@Dc&-+BLCkiL*|dAYT?8VRM; z;Dmc{5QL0+QEQ@W>+CYSi+e=-{Hh=#?-C$;+`R2Gau%|g2i@RHc^3H_(lsU&zv7CEKDx+!t_^ZM7QY4x1Kwqe&L*a>MA~q1^7YxOJhK+1=h(s4wlT-OHek>R&zcE;r1L1HIpfLf- zVrF^f!6a@Ju)Z2vS-8*8aT;}{K~f}^Wy)=c(1gh)@2M_Fbz25H^Cr*xxy=*LOZUf< zPoj_K^cKQvIf&Mefj%!&pE|pyaW% zM-p74#FSvu;5fbC5(r2uWNRe9VQ2w{?>nk}r!S~ko)b3`C5v3GRnzX8kDy0H>r$PH z4a6UcS}WG+j2tpELTp52E@pLRwesUuc!=b2hf^ek3SptcXZeYAb>sQG<<%YkNcUIi zAf8$Bs^Qn}y%E04a}L@mNJIIS5cmU5P4qUEOGIJ^<~Uz(H8Z}sp(a^md?dj7tw|_B z8#0!iKy1N;+uA(x3@=G_) zNE-%70Sd!C9oIuXJzO81Ge00jD7{53c$^_wM2+ZWOv66rtn!px(OC8Yi9gv>gdUr_ z-kny=Vp#<#5@ZKizDV5DizT#pebK5L`P4Vsy!&}PaO?qfj!~ibfK0N<#MK4oxSeC~ zl>hb}JlXIR(a5190C9LfNc^{N=Kps!4Z5P%iAl zb%)lo2Ih+9MMO4?CJog56TCZGjcH=?>-ubWKv)RdcR>Vy=2rFA@p=&tb3*FZva$K7^bLezOUkUIq znSArMAat^4m=IHwncL|tTY<`oA-j}YU;!N;KFR}6jy7MqlK{4jdmX}%X^w^Nw{WPX(ZCL|h znK3;vzlthOnIL+2RohpM0(I<2*jT@!@Ov&MPyoeUj~MDVjFN@~D_2P+4l0jP##Ej9 zU2`@;lLt%wou~rNowMllTfg-qZ(9UTO9*a$-XxN9LomQLvYWj9_T*?10O)h{CC!Ui z1?UV4JBqt6hOYT^fXA0b{2B+ZniIGah;80l*U6}-w-=WTWVe8loz%xOw^M6h?$9|h zo_?vHh)??M>1gg!@9GkW&;G`-^G}vb5doFD_@Y0G_;<0b5d8EYG{A{Ef$tQlq8ly=PRcOe^~0J9pf>|n+(vx*QzV9h zP5^*er9BkysY}8GbtIkKm5{_G`W&f^(sMU@)$+FRm zHu%G}=_7f?jUV@rXn;7MdmFc3k) zukkF75>E=|J~;iZxYShR3%IJTcqB!eU<;C-zqG>CifGnLw}~6OE6SluZxwaK?E+(l z^EiEdc}x=sPY&>b6OGnKgtdm9%h=nf9nr)l#d|PwR$=RqUlS7y!w!A%kaWyvs1v*5 zYyXM!#RO?zNFWE0*!W7bi}+I6WG_?56HLRkov~qX>#C=3vDOzGKfFJfpd3{nk($e~ zbudOymUB4OQ&*$WPp~mL&4NcmrU3(Tfib>_aTpbI?X&Krl}!XON$76Pthwv$541@@s9`=?DN2oy)G6~Fzx5%c(%3>( zQKYvq8UD^&hRshm$7g|4u7l&$tDup=mq1`gt)BJ>eI4iZ5tZc1+qF+{C;^gQ`%n;~ zN-_O+k`V|}#?5v!wGB=9iKd~ybgHTt%(()xiEGH>v2580WyK`b*+k)I8nonR9r`CfB zh@j8>C@Gb&CHy6VoWz+L#B1j00wWp<7-bRVCIo((V~nv&A$A4G`;YyxrAC?yxLTj^ zV-JVUr{!VX@qRK}HEBM;T_pe)e@Q>RI#S@eJ}-ebM$7sGk?RVF5~yzr#qZL!{Wm4h zmRbnf)SiX}Ry%LPyTm=GG=99Dyv9D^VAF=w$Lr||L76a@-t8p}(O_ZQpO&LlW45x4 zeU+}6bAE>IX6wqR!rVV zfk8}qCGlF~h#L6yIP^#GC*y4=2&45YWoz=b zjAwSFkM-2`EB{E>I<&}KgxtR{W892(>|=t6wHM`f-7aC|Mo6bPzfZJ|7J5xfrQylZwgOQ#c`gD z?M0vQZc};`%j=BaSxlC09i@8kPtmX{`8l&i_k*k>j!&;$q5WQ#b1HRVF%zE-(r%E| zKPw&z1iyuCWH0?S9^2Eai3^ImaC7_?f(17Gs0@n!Z6%W8Hy0#WIj$j*2kxUmNZKzY zL9_fV$i7_;mHI~|bPe%e$y*v`Qw=-mR^5srBlRI~rxkcm^M(J$q94;NT0&eLwTd@- zc;hi-@t(dwYyV&(a)-#1bgSz0QS>!l9yX7C74BsQkw>kCif;3pTi4J%`St!}To^zU1JBB84EAEr{^Mpvn5{jft399ht zF>CZ!@Kb50wHv^%Ww6+i_iTTqH_)HS*7Vs zR~!HqoPey*ULhk+Wa|y+HG5qOmegnx3h!{HJesJ zu}8(kZxB43T*#bn%ZWE$!O7P;hRsOf?L?$rRmeYP;91-S>KK$$1ndqCx6OX@tWF*) zQ(@J~XG(<1%^1RGlitq987?7?BW37y;z|MALs<5A%y+$%81wZO%H0Z(51)b(ykV!; zQ^Iwqq<0$K5(F=N!Pp}~ynP&TbQ->2r?5@IGp_h&hJgULfdIgE;74gLd=b?lNhGH+wW^Qx5t17g>r=jik8N8>O6n8ii8 zJ#J9r>?p}!iSC@#2DNfVE4S3?-kOV&5zHX5iX%Vzw0VdXG{UrP zxo`8}&Up4MJ8MXD714J*y9c~tr)*5aQo^lc*ELiarv(luCc2gQ*>;K6(x2d~-YOpex@u&gUC4vFNkIjIA*YpUp5X4hTm|1!#vm}q7XjBUnJwuInF zK`~Q6h2ii3?L{*V%gj6an^_l}l5G-vqoC2_XA_J+P&k~{=x40b<=R%&mmzI;sJO%> zM}~gn}H?6^dv0+Gz4He&p z`8o>@aw!e^ltw60oYqK$k|V|ewx-oQpMeOAGTd5jJK_CS5{Jl zX)FCeBJ+_cy1>>PM{g0=dAhCLq8k;AXuIA^i(RFI)j0j zzVNs5#o20=hP)!Gsz1l!C5n^z@HGe@K^rGk37*1*>3pHt9&tgQwhOHvYxE^?g*Z zK9XKvV;HAqYbC2c(OHF;A6~R!@9ini%TpWwVUvw-Z%8LaNB!Wl)u2h8?JhD9sbdrR z&$+37(z1z9MdlD)f*mu*A~<9oq9Z&vvhYWisfQX-Uxx1Q0#a3^QAG?X9-Pmsm63XI zz`qxKER!D5)0!6A^3g#u#0$nUQ*X`nJQUxc)z%)E&)&fP;ev4=E2CpaO9-z^)XijK zn_Ct|_^N+CFTkv1OhGBH2#p`xnic3&?9cIV$LX8#d7rncK!DBX8?&rvS_iW} zFC54?iXI7HjBGMH3Cvmew~n^y`+mzHp)Rl4!IZ@zsBmboVEszEnc<)@Yvy@ zJ4%0%cAJB?Zc9fYSWlhtmHFUZto#)NEvofdw@{kQuNmY5wA@ck^3cUdy^-tYgrngd zrrs4LVJJNFv>8D-;Lz9@#f@3gvk2*9R*k|5 z=*Uu#dPC_UM@$8%tcv;%lSj{i>?BB!*?1Y!v(80XhYTL2F@M_?c!KfB^zAXbeB`Ie z8U#!Jj?RPN?a#syJ%_kois`IVp_UMbP&n{pc*jwfeIORu50((87QP3AoJ+HH45l?u z_N$n`=N;H~j_Qq-*n5vbM4?&il7B*L#~)v%Lq+v^A#vv?i}o4Zo56Vi{;bzIvlBh2 z&?JQ-L-CRKXcVVvI|W}{n0Jm?W7*nwm#<+nX604yVRei9|2^ucmN#PoW2m74tc&B4 z9X>Uf6S8s(9Rq49V_1}m0_S62)7yMuN~r+IxIRZwMZ&4DzxfR@vJWPT+K2k3e33E zZoO#bCWTUd4}yhn11^zB1dAOc{#KVLOHTr^X&$CA(@#|hL6N}FRt4;I4W#0g*YHlm zVcvf`kqi$ATf;AvL*6Zu2EUicGv+?|%~yY$!hP}9p{Abe$@vqpmHvQ6JE0!ZAjve` z#baH?g~rSt<+OS^8TsK7nK&AB`0JPPyS4%fF2%D+M4;PPaW1+PNOZ03FB!O;7s~^4 zosurqH{VD53t}_it8jjxAdJP(T!2+XQuARxr$E(it|6GGI#F(@p?p_v|F~7Z#4NkD z(#dt$nI=m(Qf#%QNP(*0NdXi>`9S~tQ6j^pr@)$rXKV-U2f(y-mdf2i9;eo1Hl zxpn}e|0qRthot|jb^-eg}OMf}QWa@!ol ziZWorF%T;Q^!-H*QaQHm-wH0nVYO(N)|1;IV}T)XI&Nhza3rE6k`%WY6gpkP*8>_PwK$(qK8&F zr^^OTSDtltjY33wrujS(fr(`LYmZ(|EEgvqvCgV8~ zM~OePfCC2!(7lt|?s?#x$*P4tkMg)slPO=Hy6jDu_k$V%k!SZ1&-LcN&9r?6SeDt5 zafISU@+8ZmPrfEBJ<>MeVPm=u{}LV%do-^?135`ceYwLugSsZ36Q)l@qa* zMhdO`i1znU-+&OvA)W8NZIX=S9=BtN9-~%S|x8Uus)$ie?@&&QKjxLm%w31hGKr+W-FzJAmsxrG&JaWt$W8bId??r!|CQ{ zTbs(i?0}!AOKc`}+@M?DH|?4|gf5-U>M3*u%D6!_2`1Y@qhXR5Pphd1tl9O9dk7p; zfS2T3_ah<$*!U~QnC|j_^5rfO_MWSyLArS2R!gL6b5to31Hx<^Th`1PxDWG@Nr9^= z(TBw2`t|iqs`3i)gg1IY|Lx+d{`K*xiA1ngrhHWJ%rnIYH6=+#h8Fp6#EPC*CyPg- zYO;3Hdb}1JCN#5f!@fRRxP2$1yW*|+9{9S=CG_VbbPQ;8?o4#6lbYyV67VR&7oT_( zNE|td?cBU&0namx_z+-vMnK0psJn#7Wf|#nA(BNEed6V)ISEJ)+>H>PNV{jjeIhPY z0^^jzw}B@92iy54P?Y?#Q?Tu4yqT3*P(~eaTT^J*dPNHSy1CKPX zE#blCej3Ee5fq&)-xGaDYPMhUJtfJQ&3&51erMB9ZtG-Fa?V|w51F0WnvL!tEcIpv z$oDX$lUU*Yl_^6`e>YA^-sHz0fw)$Ac9*n5hB=7HdDe@!-p&Bx~lCZY`oX47DK{rxq~bxcn| z<1FL3-OR}B28=PRRjTi4-@^C`o}n6o$moY2&RgqC#D#j;H7T`trCTbPfv}!bDER6r zt*OYPBK!Z2J=$rg(G&w7vPiJ<*A_G6Q{|pIOIaWujz&fSEV5(tWWy6S2TrQ&ctb8w!-{I+)i~m^8;38Mx0=-}Gf`@erPAL7 z1=*y3R3_^`w4(n0rH!iD1r}uN|6)voiB#35@(|SNB-!QEuI`TCTP1?R0fq8M2YBvNDsAf>6F$+ocB{&@bUBuI*a4}m5 zzLSl#FDgQ`*zoQ*RK3wI{rWusaTBImExJgsXk2pJz)<3|=7-q0Vysu*?#+)Znm z?L9k9M~;qe1J1#K_~v@FsdY`?+6R42+V=f;=$YWUx65IV<(KALd2{aNXXRpg->;$M z3j>EgIx{N#KFks_sBzWr&4kM&RPKleI{K#)hCC@%b)k@0O-{Bk`ic{e#h}l*4AW2o z1O6k1b6oSghwJtxn(Mk|5Wg>PKdyCgxFskoUi5q>%WhPG2P};qJ)R6bmT8Wo-fD37 z!&8iVNTECOixQHKpKihUO&yJ@O?dljsu8l%RBMk)l%9W~$`9#f?wXF;!e>4C^IpZ`pZ?DgN3Ir&+~zxz#)>OCI^!Ca*#CCfi9<3E&ntvINK zRQ8D6UTM=|f!nIyPJcVAUkNUYkOA#|1S`IJ z@FQQm&-h!)45Bsjx+NRX&C%x!n||-=-l@vi zv;95ls9-0@)^!JAOkr^7EOc{9eiU`HBn@1o(@uDl5+ZzTikTj9k@8oP&J9174wf@S z<_1}t{% z@6v4K@8no+mc;{gnRBqGQoLvohW`z->wO>~Ipe2IJD>VV9*z7sV=8gyAmNBu^DpsGMGI!J8#XOjYg4km}WBa0d!Z4t1fP-O4EG-OiWBBu31CO z=`mNh`Ydc;A#a!4w;brN&!XJN>TsDb;5CYgFzSPe`s=!Fh8;6T2>Z{=^x*VgoW_gr z@Nl^8=Y(e_1%;zz_@K*qp6fXHDBbJKX9scdA;%Kn4sztn=O*n>s>f0rOI6H@n~O#YWRquOC~x{83{L%;n31LjfEm$Lnh!$Xd$_8)D>w}^qJbF}@6Z}c#+ zp(Gh=N?Su;o)fqoeOfOKzY!&p#7}|g`SbfbZf0-Bu+MsG{`Pn5mmMp zzWg2<>aEyxuI^lIr*^abMl5JpZdCd9Iic<4^=N3TQ)B&h=x!Xa#F|R$sdlqj_bA_0 z+G|qA#HP8bEd77shI^y_{Y9u2@7td{&Yn5Jz@t^?C;9)3E9@4Jy3LlF*IS$Y@L|LC z+|d}mpz?2f7RRHLqiOs%Y|^dj(pC)jx#1tK4B5n&^3&wR&ns?hV1oDOokdS%*AL&L z1KbS>s4H9#|4&c9Q%YWbECx+^v!x*9xVbxgNe{X2Ln|0P+@vrehsGnTs%Qtk8-I7D z&F;KO2;Wjy{C{Ie`4;;BX88Ymnic?~Usy9;>D8EDgnoedpCyE6wZgc6jre2i*~{{j zv%w~oH8gWh27Gf!=B`QRl3(eMBHRJ;%$ai%EoF_M=ENH{vntj?WwWx@K!|h(tqy@@ zU)pAXPm}B!-tYx$6gxKZ`2S`~-aBBGqiSZm;O=gc<$L~khNqpRx&)L*JoVJe8wKh% zlFVHqq~C6dmbFxP{hdZO%V%!}Kf^qd$+G0FYRU{Fj;u>9F^{a|&gas8DO7w2<<7pT zyc)7vqmASQoaZE)>yV!dC7#%S3ganQQKA1&BmG;uYc*pTP&o%3iifdAU2e zbUwqk-Qd2_d%6q(n&tW3mL#5DCm#&?*0iWNqq9zlHdckUbhy3T%(r&?0%Yzs$TKoF zE~21`S9umTbcLF_Kbjw!GSs;)m)$;I14_8mTduUX1e@xd^E(>9w)+X!DlE^CYiz!> zUC*8y{_Y)%;!~;pZLqiUJeyy<$+|3?qf)T3sjP91vCUcrR<^n<&zzoi79=}L6slZZ ziB`FbI9*+v+lQN%)Lj>kIxO)^J|msxmOn-dugzYW z46PVm*_%A>9wi;kjKs>9cmKT}jy5C_h!e`H)S^?A6)`(wlp9G(1pRDh1>d&s% zwq`kt?W@jq`%nZOpl<>&TUU!j{%j-nI<-|5I><+wOVNF4%?po+zjFL9BzM+)tcjH1 zSM~J(skIUY3uwO|O%E^xEwDh#PAK$FCf{kPHTM$Db4yhhqTo_v#?BOHBj5Jc+0I+Q zsyVmB=2@0Sj&iMzZUg+$I`aPkN zNOAeA-0ze+`wski3hwPBunE7(JMY4Fd7d3Ox(nCXf`8w;>aHGzzo*qxcHvif&QlY6 z%WYfmc}(TSDtud4S6@^6om9{NsM=Dzxh`zmR`<1|jw;TwUVdLy=RT=&>tWbyNBt&` zdO+QWyuQ4TP4z_bsL_2DN1RgmxBa9o$H&hwKmI;C*Hh)rN%egVj*&S$ukx#S%f)r) z$Jcq{6Mt-|_xp&-r(^K>)Oq$u`J{61WAHSmRT)@&%Dk7yY^u}{_Md~lva~!<=F3x^ zy|{;S&D-6xuZ>GzQOz!1&xvI`zJnI^4 zc|<+=mZ~AoRQ6WSDpl+1y=;}A#ZwjO)9~%2`hV=IyB)pF(Rt*ao3O_-mC^l57Mv*G z%_x_Gy{vTjwC;L-PQE7`YxmMmO9OWG-UN7`h8+)QpHSHb6D z*n1V8K<15-m3e+!HJwW5jfDW zoqt$~p9IGti32gQgc1i3FVRK{MuG;SK^M`F0P#Q21-S!FnzZPdF@N7!yDHd@l)JT0 z?Y;JT%sJ*5-}uIuW6o=>h;97MuYdUqU;6Fu{?_09!#7_VKK~y-|LS*|&%gTi>JLBu z`WL_OKfn10-} zIlMi54o~g5LwL@swbyfFxBtoX=fB!-5BBYuy`CGQ>-_-o-G{H(Ti3kg{qmiEUw^*y z{rQhMUfZ>G$ix4!cfy2IetEP9KvVOg?F*@5g?Cmw%h}?!9*F876{pjo7?siLSE`RPzciVH{ z6Q4)^?)YWzzmJ9r-^DI|+`sR>|Dyl>5q9(4>%V`||NemYKd`s{{^axi|6l*Uz2bjA z#p}O^{}TRP_$P)^zhshI|9{w5w2H|jbFp#QhQy9!_FDdnV|Htj8tvab7Tg%7HD~-Yz_TRmYc?ka@{QK}L_IYQ|h);XW>%_aU*Urw3N8;zGi=~|x&uk2v z2K$@Zoqp9meJ6azaQ6_tZu<2b)}j~o{5u=NjyqJQQPH+bd*+clzkjmhXL=<)`2Fy6 zc9&Py?i>4dW0v{C{zh$zeSe89Jn;Igz27)?o$ZW>if6N=+weC{U;l>b-pShV+};mn z<+pb17M$qpIq?}^wr{^|t@xT9|84UCUqNGgd)jDcwb;SuXv@yn^TjNxGYg%}dK$ZD zg^vG@eQV7}47BKld4ISM>@IJ@7w!C`{TBQDv0c}h^*p!ppV^svlhZ4c!~4b`zGX-M z$j<(@eSU4f{(`;!y5037yW6MD?ta$V@D1zBZ`$>ZJ-f2spW3IB-M2JJJf*bt0J>Ep(9v9Nb%?W*ikZ^tUrkLUKp!rHg7K56@BY!pgV}G-x&zX(=oE`tbM(7@dp6&00y<=NmS?m9^dHg@M);!=vU)taI?0kLx zj=kP99exkpj9B-IzftGjyz_dWt&(69rxkv3DO(UWgP0-}o{`RH` z2RojC5)FD6$MMVvYveOKs{$J`yWe1A{m4GAtoNTm!z%l>wfnE|9?_p%Odb(k2D{V6 zejU)H9DkeX8K>0FPVCsmp8wQd(K|$KI@?)|T~*s%qYg&84-0;r#klB&X2v;sKmQXNHX@W$MQS+S8@FeLUeeFl2%N3mOY4}XZ3t;>{~?35!prG zvSO_FCZ*^Ba<1(dk@&2gJ)yVJ?Roaj&WXR|JZa)t@l(&8c040q7j>nvD{C-pL^?Y^ zXMcwl#XI!Krbm*w-K(L;on75>kA}X*Rt~hSeRC^BTBQ!Mj3gIT9U_PsYg9uK$fatGC}4VUKlW z*Vt&~QZKRE5nYX%w{`pKX+;5Mw01_uy8+t+0mLBx{lG;l)JAnsV zbTf`idezl}tE09=bXjp-#%LCx`F{=#$r#a@z9;l{gDvHZeZ_rS{+-e6j&@XF#EfMX z;MhQmQW#`v==~B2oXp3>5o@rS7G2JG$_XnugT7H_2V|Y2r3Fu_z@WMW?+4WP6>^-j>dXY!S$`%P2(e3^P~i8?%ca(Xkg*L z)aXdzEiSlnaC>c$TuvVwTC(&f2XQh+UXm=Zh>lieXk7|Aq&!nCtogmi$}4O*ev=Q6 zc$>M79Bk|qBV}OD6L{3o_{yDKQ-QJ#%sUrYW!AK?K(aNu8!c{4YqIc3 z#&iSnY++56`{)Wp%6}QPf=Kq3=&a#h8{*qI!m%wWdU%3iw%l)Px?h=mFEH5&FB!+J zL25IeugA(K_x3e!A+#dx1}tyTxSq^N%P7>?Md>&lE$k)iGd?%vo{5h}PTNbf$9sEv zZ82tvKg#g;IZwL7rWHA-_`%3Z;t2h`Yt7E0#Ru|36H&~K-GAW>>&UIo;+r4XGY&SI zFRX>1LPIK^{~59XHNGgdPYKVxwfBW6`V13@J|K?Y`{-^(%sUyjq~zybpd))Yz>K#T zv4|GgMc;ac*Y@^rfsZ+GrdX#&yu(u^*8XQ$LC$C%$Q0dpJloO#JuQsVe!$blyv9U4 z(^!-fTegRx%zs$TQ~MNcQMS`D?lIfBW3n(BG&i>{gihN~*=WXFOaU?3_9jgfIK$wU<2 zl3D1$Ng;h=GRS%Q7HOXF^EKZy5P8CKO3*d7d&X`DT9*+y4j^*|7UxJW`q~mHr|3zI zPitW^IX1tytL`0r?;OLT)+E?qj&yQ-wQ>uzEcqj^`(NV#9UO^Oqp)7MpI}atmZ4 zd@mgT3S^~dYakCCefT5ibGfs#6l>grDg{rioE6Bk_IMNd+1mPl zCma68mdlrRu-%ONZ0T>#vo>gL@2sxlPV!|j;$QJ=3mTSOTk~ER|Awn-MnNO9^=s2B zXIP?`8egKgChE=>Z7boe13XLT$|tFvQP0k9e{1fT;JGreQZd|`vvZiK`X{fIFj7ZQ z_J2a&ZM5;t$mSh9mhbUYJtOoS%^$ICan!-%`r#UN_i$rHTNPfS<&2irbZF1W`N|7+ z?%#U!JofGc3Z59b!p7!|owab|$k?BF4!3SB*W6g7ic6Ea%RRUT}h4GElYh4uA@39-E=I7W^? z%Uv5ToYBF!Zji@J3vRh*M(%CqPCaeT9S`7}xquS%9G&ORF4xH;yb%o8(~|^mnRB0>`Jn;tStIR+*e2fp;K(h` zd0@mR)9isU5Z)hX%Z!~XgMV}ebu-U=wVto&K;08}+cTOwMp<5^qP-2$+wrWFzsf*O zFv$avU*y|oaP&Y+BX(zwRvj380;DsT6IoT4=!U4tk5R)=31JeoOzj3t;-Vv!xaXpl|cTY;mnmswLMxI zvwtU^S>eHyFBGGC%9w1N8FjSk0FDeW;KaRHi$Cf?pc*MQ$gn{lHEXf;C}@Oh zPi}b=QF&yLx9$fwq4yk2#Dt@xbL>lkEN{_?j;LhC=!<{ncrW>b3_EH)BPHHHao5rF zDavZq&J`<=WC!0|kT!E4p?s+jy72s2>9L2nTpg5M7xu}|DSwt!Rw~0o2+MN!q)Waz zbFQv2uIOv}j>kycmN$HFd2Yf}H7A>bH#&2RHK)XX4YALfGsRMCBASw?9o#Z*GHR+~KUI6H@7Jqr)y1zuRp{eY!)jNFz=hygC9SU!Vm z-k~ck$hwB1+%T3Kyy^1Alj9St7!%@k!C|-(xY4?V3kE zXS$%gSX~caNE!cl=7fzj#KU70hH_R%Mme##;WZK1Z12gmOIeJl z4;ONqxAyCUyxZ1r@WV8d(c*-c` zw4sET%%EK!G-oy;y(#3*7?f*PL|A(aP=NFaBQkGMm(KCIas3o37w+rzo3a=> zUw^Yz&DDcwrd#Y;bNFI|*_9h7+)>^``X%jK;-xfbc1y9IaJ_N{o$-6?2&lHj*`FQ0 zG@cvlc;186+;V0@@7L&=sutAR&c|VLK9PdfYZ$~6^hD9^Ob-1BUTok#gQHskKHYd6 zoPj-eM9iAYT=FT$pzK#0mbt@%R(wFL-+zIOTgTzp^G{;MYv#-9p!$Zwvt)|36tx$Q z3R~xmEu$$8moxIsb^fpBd&*lQoxloP|5SU%MA`h3I~9yt>YApU-+<4ky;7rdR^AXp z7ar4g&L)*n`*dijdy$W9U@@v0h|hoITrfk&l&?_?K3-${j;g#J_^-@K8~EXoI$G(C-HOoydwt9(x9r;*|;3DBhr2f)q<@IJd{&kBm!?);=QAX}HfSXg;n9 zn(fzoP)p>W(zYb17NP*pGS4k_LGzW0mby?ns~G5C;=E5@Izv}-kD%qNdyg7=TH7J* z9t*F6@+||iBqKhi38lwRz5B_9dw+J$=7fGj(41!Oqma^e)twZyPTX_wSrh5dOkAe; zVdb%5MF!V$T0;~wM^LD$|InH7LIVln)Y;# zZc+O2iWv)y&z_0=GM`~6f-bJbI{)N zeX63FJd)db?xI27JyFi+*$U}-k0xs_HKo5>u3m>_K5fZr>aS)#h0v{MR+RHD&}!AB zG{~a~%0;QNDN1tfBhr8yV(LjyRf%Su6`iE`%#O%J^An9*rE(x*CnMZdQSIRQr8z8> zBrEQ#oJ{A4mmt4^5mD<0kAKGMpn2ik{l-r-lCc$MY*W=si6cwHxNF8-RYa1rvPiAR zK#x3DNZr5H&Yu%7O-wAKH+@*LkD13>b69FoM$S>rLH>BD9a%9_%GD_9sPF|_*Zm== z%5AAKs+=#V<%*|NG1g%ZeNd&(02Yt5cZYp7`0|`~YyM&9$k@{28h=gh_)T*Swb!Yo z;ES-ObzU*>QpMXGRM|MVeRLkLR9D|Jht@fOkW0~tGUJ11ky>n_Aj%P*EImwlia1rY z^VzwBc*5wJi>QUNnZ_|)vnds=86E9ZdDJ)(X7sFZeI3ED)W+&2{aN8-Dzu!?;MQ{&Z>vI7Yf}f+hgCt9MT2|wIjDwC@@TogW;k~+ z_`-l7 zNIE+p^9!RI95Y!*azi|I%K}(9@5{P zYqhdV8_x!$p082X^*1t0tfL`_*sqxrC-*WAX;&`bO6migwvQEJD$&BBFMuk)0A(CmzS0}Ay-ZYdST z8I>lbM=J92%A6~@J-WvpgX-0H&bPX-RCmY9kAE}vAMg7ts77c);+^$pkCqqVh5Npp zV@XH7LxNr{wQm<@nQP~Us!87<%fV+VJJ&wx-3duu;JS&&J~eejn#FA#^|qY5WC*lI zph0hUj#Q;*3fiFhebqPA&fg}aQ}`IKgXY;MtYhMg)aNY=bf9rxnL95NN2bfNot_Mix|auL`*_6pq*1pp_z;Re#sa(cqDZs!&yJqH&3LJp@%aESa*Aeuy7- z9zXBFx-qDVO^ic~pztujpt~Zy8hozFe#+y|&TfQ8gKN_cYnL7jjzmioop{uw zIjS_MR${tFHsWKcYj#2F6W7`*XkNacWvaC4!%~NyxJOnVc6N5sIj~CXyJb(#?Rzl0cW77=u5Fi}2N`HK_1-og5AuH2#YJh38Y&FrNick2*F%FgPr)M+V?eM9Wi5(N%i zd!z~`qT)xaL9VE6eNH@6vkOJ^d$%TuDAQ*|2XS>rtnh#8pQElk30nI!*f|HTD?Mx4 z5*gfkHEYzdCx5I(?`dfqlapOjvU1_x?dOg*4Xk*NI(v&Qo`PmPpYgoNRF3v|N*=kiIoZTLVpsMNFeRxNd_>_@7;6YlSvpf*pwLV&-=V1zLXn-elaE%6LsC9xZ z+Az6Pmn>q$nF|<_6OA_5q?lhxUyj&O)bvMa{_M=WVvf9a4ZPusyU?)i=7{bp@2k5+ zq`hVAw}1HY(pggJ2zYdEmViSSBJKgXc3|Au$6vOddoDn=L77JlVl^c`x%D``XD&&0 zuIhtj1)kRS-cjA(5*Ot}YFewX37XLp_bicf5mbdHEZJi3k!x&%*1u`p?>f}Z_mqd* z1l6CPK+=QXz4y3#_8HX?Emqyt48J%B<@s7XTz|rtJPFe^zR9?M{tjQ$O4yWER3MRN zKD67%E@<8N;4M?!I0w~?HLPpW>f~LhywZ3F?i@nzxD~IAb8s6_`*4k*jzLw|2{lh@ z*9}@zd6al`PpD|JN6HN-w#;Ufj=Cu=)r{~Ql&w%)Q1WXW@w4adCuCK4UzT+RJGX#5 z^ncFVPuCbxEV;n?D`zfRk6pTKgyXTNx9+X9N~-g9`l^^zRG`^{CF*FMtrxypKs6a> zyn2kM?qPFc%W6+`^@&<TibN;Ab;iIIVz!j=P!Qams*lsJK}s;N%MLM?vr z=zP5JSa|TKDSxiaZpY`2u})!AbI=NZ&3}=qmRz&7y~hQrp()VvTjGlvFQ+!gy#KOF z`G^NS2km0951MCG-B5|8DN=8^_t}xG@l47Vt2o0H7d9pzI(m#GCaa3o=IVh}5uw$z z6_~1-+SaQDwALpLOHFujMI=SQ%E-UPPDNpfbI1ufRvv%s(D^4p>(I3#URi!s2!AM( zrM$Z`k~2K^OpR^oY*aN8v)7_&J%8(1(xd$m(}m8eFi}Q0aV<@0sn+iALhcdJ7$%S2 z3(p!)aEX=YP_(i)396}7o;88}OyS>nmD`9X(HzMh8OakUk9`I?_l%D?tM;5w{=V`2 zLx*>n+!`WFQQe^`p;e=O0$Dn*ntxSwR!>%>0be!Wa(0_p<`}iIYNpO|LQhK{H|=S$ z#coE|QLV)vg7#+`@NEt4sGX@z^i4IwrO!GHL6LqAkIck^`Wq(pMOE#j-nir85X+WkP@7Hpt+)=FYY)|U;x^Y`nb(HKr z#rCyYx%VSlPm|G7)jT9rR(8a^T49|9)tXh*H}34$C!zNEsY5Qp+{U?(;)El%s&!H$ z{#Sk_@pw35zjEgXTA|7g&9(1>=6Ux)xvK2y|FwV2qoDbL-nr+p;(s&uyjM={AH>ajhShc0PRI61r|Df2vro#3yb!=M0rgamAYo}Iu^w`b;FFPaCHY~GMYN@bF zbx5)Rjr_?Y?ACJy$^-74?GMfqluyuZJtbai$Mbveb@Z&Q*7z-!sSJTC-7_?*cI}K~ ze;YLOyF&}M+(o-`? z_Z@?Bx;L<&8e1L6A#A`8tppyO*(mQPJz3`J_S|nI3-g5dTFk8TwM0qKPADxsRc=z1 zaFu5mv|Es72Y(oYoEvo zM9aA+CXMR|GGwlIT-kSrWE9^Frn!%UGN-DDlB9Y^$=>gluu4KXdhNA!WSy#_lgL5e zFn-&hI*auu5>w7w6R0h=r zSB_C}oqtM2)@*}jOD|Qusv7+=XqL4BU80A$54lGQEAk3rgNmFA_b!b`u#IbK<-e8g zJ6k{2I4c*c(tc#x6=Vp?C~JoqWzK59x3U~*SmuRt|D|?btxU|;C8zqX(j(ku1ybf3 zzN{=1N-rFx3Cf2QL31R^?3SKwD7`PLYgcrTI)8_VXKCiCU`2`eL>`v4NtvUrW?eM{ zqzXmV`K6(7+*ZX&eSMDRt-GM?eCjNyxL&gfs;o$ZveH@+rA)6Rq;>m^_iyXWsdVn6 zd0y=q)UpC7^;oK-5?*V}YbqokW22A3tvFIoJ!;dssi-gV^vWybXjaboOC703cd2nv zjeo1wj_yFFB>WYRbNAqsSX|9qrbc}9sP_;m=iQ0>F;%ASV2mvYwIwdnUK?wC{u8pK z2M~UXRxi7*4S1o_caGSZr&AlnJCp^uPzCUYXlH-~-YOoW%73WNe3v)+< z0&gewvJa}&z4zK7WvfT`Ey}1zPIvT~?mgMaHmKffng4D0wMWMyFS-TE&iHW6ncZRo zBgi&}CC<-7?s38+?;hq(&5arA-UiEF?y<27U-aOkmfLYn0CvvbGK#9V1KLD zuO#+5q2;s33EG9}-dIiCWjF4W^FBGxkL^7gEpE zJ%bO~3C@ z<<_0L@G127K;Edu$0?7dHHas?sefi>qBccO_XH+Z2F;DvaI=PSjM~4!H)UiS3p~v+ zC{sEFt>f5+&h5U&4o}!Z?)s`sxhfHMc%^gDzEv~(5Xq{Q2h{9>V&YxUJ{+~LgH|-F znmpCospo}=O6E3DI_8Q`DX*G2A66BIVt>;V-X|ZX z>JRORQG}(cUR7v{HJ)%s)yPj_S&zTMTbzUD>QoOEIqoHBj~cD}QbqVZ`4Lrj#kl8! z1a8Q*2}=&-0Aj_?!J`z_1?-pws)Kg0&OKAqbB_Xky;P&l?&CY~Y(^JT&l~43C)F!# z(M7G*QDucHdo?zP(0bl!kADZ7og*q5SB0N;f)kI+k%?A}S@q?~qza3n#t}@VAPVDxW>Ty(jcBj?WHOJbLV;^%C;` znxiZIwL>b3Otd4^#LPq> zt%LR(&fP+m6?qG!4c6&VOgBlwIGrZmj)k?O3Ii z%t_FWkV1u}24V}>t%Ft>Z?COa#MrppwF7JEtXph&8?;xYsu_i`TR&S@tzCb_l=b9g zg=yhcJ6cb>;#{rItX<=BZ}YN7x$+23Yr~hAHXdF3d2u{d_gM$6zV?yS@2ik` z+Y>OR^>x{Aj~3pR(xo7IWI;Q@Y+Ntp30ty*nhjGO+a5WOVc8#M&$X(n(Qaa@(`&=B z-k_yz%H>JN+bpRoSRZgGx$MNKobZ9A=bR5* zrQH?|VSjR4R@PTB@fm+~N30W>{DpPk`u~aSf_8JMJQmTs+2l68tOA?EGDD<%WClkY zm@_#ARqLFb)8CNGJ^DPQcJDr7#Vy#}{Jrc-H0=v@=ZS zF;GV()r=;ps&n#KNc*x~kl6|5kiz5##!xGU=6|3SC==eZ@QllmywRO=&KVXyIm4`o z;>4|#hY_wf$o%4Ss^b33sy9`L-30AYazKLz*POjeb(#OooShsQ2kj&yKT^8>t8!%7 zTW=2o&`#^h8>(hU{%0S$u*|>D;Oq^o?Gmc6tVESXH^hRP3tj$SGV-W}UjbvkWk!rr4QJZuinwmZ8Q&q@?yTrc5 z{qja+m;|kdJuptHSk|10_OVK6{|QU#JsW(06{b{&DKn+D^&>mmDmvSH4<`DqUHiwzFT311pX>r^iU(tJ6chLJBgsQ!T zjrkR)mwI~bZ=pTsw0C6!4ro=}+Zus2TB#}kWdeH7>aNJWD8sZ4%6hM{bj1u?7=MXY z;yer5P2+&piaXz9A(xf#Wg3Xig~R>>0D;ob4Ro4iTjyNs66LUgYI!X z&tok9DQlMIpxI36k>)cVm?zm$bAQz_htiY77MtB;=NZyGBE>cR8?iyvj>;QpkAyqg zwuU!!?$eX7>@Qsf?Ypd~qac5lUfcKJ%v(E3Mrqy!?IRX5-_NkU=gf8-f_5glP@9tz zPj*;t)YdaCIwAKLL2F#ZRZc-`cLtB(2lC{qoEL*vL% zvPx`6Ch_F#;D#u*qY^{8(0}FsdT|r96X_lf5aT56W7d!hy{Dbh*o#ND1H3~kx7x5| z!JqKUZP1FJm+&@49aTsjy|iCbb>+`mQ=}?f<>&gKN`9@nKL+g^wCr@h>=cr^13GlL~erzJI1FUDeNsH#b51 z#j9>cImsiRcFqp9yP9xu=F1+Bu=iW#k7Qszoo@75z&?ZUR~ zzOT7(wM%OYmFd*~_e1$Hp^Ih@wBjanUCrG?{6E^xJWA5DI`6l;tGl|YzS{S_s(X57 zG>go)6e#L2KDyu6l z_*m5E-&ZiIy0UXTj@nXqnsg>ePyZER6?tC;iQ=%bPOikr*1%do&zL?!Mb}`WS~wlI zjOWIP@6kDKE4NZtu4UQZk@&a}1Fm{@1VxIh>?Wr+nv}$=d7Z~Oe@#`0N7-ux(UDp9 zFW;7%gnAbhbLadURunfE^mn32nkapBj*;XPbCVflca-HTp~B4y%jxro)nk1Z zeCAeUb>dxlUk7>bl*R7Y`o5Y)1`&&r@pW5tb^2i8e+^0vS$S^k zsGP22)zBTySxGy1W%k>uRvV9&wRS>LA7vC7)tts=)n6IkvO0e>tNC4- zukONp{#JGEHNB23HjkHuKc!=s@$1Uz^`MW8IV)}1Z4x^tJF_`hg|Y>9#~pHgthv>> z<$u9G=3K>yJ%w$_TYmm-?0LcWOx8a&ouQ0>->U94tMy#9g6tz`CErof9ddqv!D6Wk zh8AK`9_Sj@l?m!U^}bWCYGKC|2Nu_>}g zhrNP<-xEpiP=r8t7&0v*VSjng*ft&SBoi|>R0w*04T;}L&;85N9092Kt6&IFwSNG& zY?q%KYsyDd4Rtv3J~bhIEhAUn^by-(Fc(o(sSE8QdKmlXQxiz#&RBfMkw;71>rlC` zwlEMBKE^^0QkysszK7N_wKZ@V;TYzO9v(gU(}|Dz)KCY2t61_VnFthB>$<@}q-v2W zNNR0S9-;D}Ashq!G<0iFYDPyPaerS21+$KO>SQx2iks>NUX21DRjKJ?Q`_o)N3C$h z&;u(wh8z_rCBG6lL`9Ee(6*$Cuxz3FRWnqk(s_sN2g(mWmV6E;@ze?y`j*7AXzdwC%S(U+sR%|d`DRt%0n+hc&J;UIHM-@Teq>kCJi zel0CwQ|MXbbh=`JGQPj-7Rr(+aWsrN+`O~0&}KlzDDibU@=V28r+;W<38J2> zKgS0`@f*TV3l{x5n#z{9EIMCijgA>@p(l0O1L_aL#zZeFv{Q3NuN&}<$ViNR2Nn&5 zoT09vYcPv*ezMSirGM)yKiDu#ZVO&xV>`A+C7*MM3^*{D0|>QU-ws8l15l=^9XKNp7vx|jI+ zO09J|vlCzYBW1JdRubQ*@4JX<^F*IMGP?c1u5CJgmoYRMI)84dMzY;q-zhCWuh6}R z?@^zPF|Zt`O*oKSD+bjwR|5CI1Gp!aa-Ze&{2X6a|dt(PUlrwCJ<3 z>gPF;Rnup&;E@9i?Y?`LT|-})Jy{oWST&f}AnIxTd787BdQHGoX#dDpZ{jv3?P0xJ zxuRW0kEC@+Ea@3ElwZ2bVERzU-4Hq$omM7}E~7M@SAQwhst2r=xztvU-NStbZlU-tlJimDD&yu3+jJ~s@u$cF0! zgd!Bmuzw)OHF-Lb+3(07g|F9;uSGYFihie(ks2ZVCve+==L4wmg>zEyIe`b3^Js{! zfP>i?z}><%&&wAKb>N+j-xoZ>*wDFDx9IPY;@XL??vc+(-$H+tY&krbf_u_gwOwZs*QGNSU7=c@H7oh)R`QM?Jws;%%ZRdkPWTZT6ruZ5l~;xi z3ivd+6Y_<@oog#Ig7P#x{hqutQ$^uMewTEu|HoPYW+FSV7Z9hZOu^nlKD!O}Y=t+LHCEtbAbx*3?+Qn5$T*Q$-C@LwN&i51jvod{63=h>Dr*p26b7_kbsbj|&U5 zGvA$LgUa$~s(LkQdT7-(6jShQSzau8iHe^ICC90^q-F3@0vW+i;{PB4iGRG4bUmPXm{>3tU@JB))QRcFjaM>tR(#8qVs^OR zOT*8@sqg!Vk5!6Jth?q7jL!}Ch`TzMr=Iz3`d+Gd1k-iTBDHKgJZBE$3_DjfG>6ii zaFTXb-OrW01(Or69Thg%QDu*c;Ofx#3|>>$&$y1F+`9F&b1It4oz|DNOMl!;?0u26<cg8T&q0d3|B(92?5Vl6X)B+E zHxu1a;Y~M$7u5U=TXSzg%Sj72fm6zpvHa zHafrb{gj{j9gQ68K!*!Fd1Pq64hV8dWgwS%Gw}Jc2RsRN%iKbs8x>Iz^g$GHu)|}$xv44f)Ea)FPC{3%1KU0jo zWl&vFw=D=Egan7+8iKpK1t$>Pogl#>xU+*h1P^Y(-JOHG9o*gB4;X%!a>)Jx^^3r-%`yw$ zP=BL(G*?0wiYx8V5T3^`3*ef{_NPW6Eup=D?keIZp_F>oLO*CD8tJ5R%wXLlF+-b% z1VDLJW;tSWN+e857#>iL_-Z#Z$mkW_^;WVa2gubOAt@bS-GB`9Q}_cHLi%w%$H zaGH$X)%MgywjZ5&Qy(dXDq@qpr;!>iY*w;aTK<&H=df^o23?}UvpgY!|L=O+4wiE9 zG?1?^wE%JnF4s|a%-vq+Vz3g>Tqu(K0ncoG89&>T7u;okKC*EEO`2ZIDfK9{bzS>D zs8kbi?Ehs1`kG0H6^$B~Rg@s&Aos0DlPCAOB)oqmbCP+wc za!Acl`gS)E7flm^j`!HCdq*1I+RSB&4j4v}A;d`*CK2{XRN+>yiFqb`;AMUc-Strp zIw24s_ffmu6iX4d{-(T2%WyJ2c~aRuuf!zqczatSJdQo`@+lRepK^9Nk*WS(A~wty z-J-nEmq5R6YS4lH{5y-_wZNtO(dowy+wjotxI%^gY;TesH}M zmk)8XS7d+3bYGZ+qvaxee(pVw6Ga-mS3F9k*`J(ip{f-nA&j)l*p3X!%_W_3w4OW@TEuL_;tF$cwXgdpzadV_UcP*f%NvIfh|@7Ok9{u>_ckEKlb@^#_g@nH7C(oXN32d ztAwbB@$42)w5{btv8WE7uDY6=pgQ$%atba=$}aItN@1x7Jhf44SI9a;+2FQ%}UocBQ{l9^?G>{Bm`og z%L|GPK0@?snbD$3ZE0I$_3nH=VfeVIu%jCO9M@sS^%b8#6vQPp1C%R6{F5#3BkU!P zVq)){3S)+wccad)qlZy!%oJmuP#ZQFK! zJtTf%J+4gsYf!>Y5?ELuPx}pKuRWs$blOOS@(MWXPiqvrUm^-EG-Svm6oo`NZ{Pd> zp{tNuEMYnyDt^l_oUk^9tM&3?^IAj={4vDX-7H?*CTra$(hyD~^uT$eWwwhoJ$op| z{!^ZhqaGz>9+xPZ#i4&Aq155q-@>W*{$oqXzav-?pmSef354Ijc~54cV`1N+JfDM{ z3Z1U>*^g0tmddYVO=CS>t$h9+qc|P^Gp2F^<=FaK;4yFXpTai6xXWQJmutKhF26h4 z9js6h4_d7{^ryD)hUwnkr|>J)*Erny%GZ`^M>l0fAtU>WEcOD zqAU(W)ps%EY%Nkszyty*zP7w8Z4=qq~Fc6OFD0BKu|JSJrDMLa>dV0h@%OX#o^ zgyn1rg6RD)Goy?5F{<;#oogDmIN&g z>bZIy7b2*%c42?!#dREdPMxDU#Uo&=#VqjdH*=A<(o!+@aim~~9I>dunyEsZ&mgo% z>Ie>y%G5Wpp~vNCqE%Ph`c%Ib?*a6u1leS?MYa)3OtFddFF*7@m48GA=));SU{ z>M($ys5>i!5t+B{uXD`IpVp9C5T%XzOJhMQ+`VDlR7}M4KzyGDktpdBh7+2?qXrf)wX+dPRl7Zy8zB}b%vJhkCpJ+W7M!kiMb~Vn{+e46-ju#T z=-o1#`hgkmPMmW5aA+RVPg;R8o>>4Ckw`o3)5Xb70v2t7fBBb%wIhMa!zE z#rW&EHCYM~jhojI8izzdv=;$p2@fk}gJ?2FXlgPE%wgr{n8k!BjOpo-X|7Zm8y^Br zIr~Iwh$R`JgwxfBmBcFSxN{2q(i)NWLuOEGfpmdugD+Fw?`)D!O*i{p@MB9q%>Eh9 zRIv+F74Ocgr1eQV#L@&e*SUiQNr^}jH1a{R0{1$wZ@*iL;Vt||qz_J7r63AE#Ma7U zO)JvoS{ubpQiy!Ds2ZN8#ebdcsjq=M8{I%sDKKe24cNPm%jm#NWC$6j{4Y2-MXmmy zcapsj8sj1Q%?RACz7zu`2s>EIW9{@gz&dC%Joo5Z=ciKL2)sE)PjkribwCN%my~D$ zRcl0K=SY?5wtOdQvWjtjXq?od*Z4dnRFg}CSQ0WSO@0}l7nWBUF2drurU$s%=NBIg z3FmmdnJuLOwdN^F4!>{Q)x1Ng$`Prh%KmE$P9hDl*U0kCYYiwSXNWXVnO&qN(t7Y< z^kNc>)hvz3{9H*lIx(eCvo)WZB>hb?`WZ8o63UNp+bInfy{|3cD z%37*ZbC?Ubt7Qxm`K9qr!cssc_hC8?6NAFFfL2~|%sTI32o;_Nf4J0|UIqlou0P|yB3)QBBQg4vQwZV2Y2!*KSy8b^ENH4xQf81ayNp`?@?SCeA=PvXw;!@A(PP6!I%YGTLvtB*^6)G@Sk|J$d~Z@W$m(@az1}&Tr#x<<>V+*F<)9f zyOp7?1{eFcG4ohA)deaJtrqi;_mpL>IBBxn(Pm;NIpzFa=>*G~N)&udlFla~@%W^= zTj0CZDnkgNbS`o5uW%raG2g;O;r+_u*-P4!wS;*Xjr810SLqFDwx+W}@Y^J_U<7ZQ z;ru1~j`DctsV|{Ne9D>LpTH%Q>PtuUYVjBK_H^U{UboR?pd)WBS6nm%m}zkTqx>AF z4y<$DXzj2J3_e<{RW`L8p4r?*g?)O)(N;a=Xz;xscqbR3Ne^TY|Jl9OyBHbib}b_3 zZ1EW=%=3KPKvjpZ5MqCZR?%AML^llt4{E8&*A$5?2ZTcdTajdFTY zzhrw}gOGe|pYv9@p~IfJ)-SW#Ww}!T!$UtPf>6|W?D@9hFA(fSKSVf2^t@UeNag;! ziFvn#BlcU@tQuf{sywGHoPCg+yU2aTC)&Z_g>8&*O%_}(aL$Hz!tVz?SIaS&|0%s! z%Do$xGmG#Jqwv={Gk;5Cu5{9X=*c@HkIiz-=FcZFhJS6x@-9kTv;A8y8r7wos$jD( zUQm%&r0Cba*@CH(O*08s%)5$G8~#o9Z>xS&ErBDAX;r{ofbB54){XqaoV}DZWxo4+ z*CyPJ!H{P$IH#I>SVrk<}bwfgJo7I{7r~&3jqfz56buJDe6m;WoobOTg zh8rhboFT0cS9dw$5MooO(i4e46jQ{FMDv|f<_F$EKR)|!P6blMDPW8jCU*w~7)ePQ zWr9Nar8$do!!YdZp^a1KM03d2e#-Gy3`I)5>s<`uR_S=B{Vw+Nt7PcDMk?dDnI6bw z{}gVL_l5{JB$>3I`{D@m6mhtR2!bc%t3U2QYTM(?&SSSgjz5xJbQdZLI#d(!IcqAF zqku%xB;7<8jkjvnW-3NV3puaOqRdjYxmv<(I4~M}B%-vyQblEx>>6-p`R)kMF3$WK zdMv3DVw(Y{y2{}b+D<;5o`K6KTo0m%HaEwbnSIlu?54fK*+z2J-M^p6nKmu=i_A1T zvCeI2kyAlIO@$?s_cE#a7W*4D&$LS$cR*Vw&R(F^+xI*~oJWF?I*xlV-`d-D0=GMd zd33+mJjeUZLR@99WY$jwSy>5LoOYT-JPA<8Zl{ct4N_u3s~sLO#-B+TOzBE2yTqgM zcQF-oavJITq3OEQEH(zeuWxH<$aR1~jB5a4k2~Q=CvOn<^i~oXT=&nTW05N@6##=s z_iLwvME3M_>hOkod*W_e{;|RyDSv1(w+oHyuDAchJ03Bhz%GnyuRf4`hitEBeSV%nsiY?hke~O78{H=6$Fgpwm98L_91*5r?jWUi% zgo8nR>7+eT_`AbBeax=m0e8J6^Nyn#i zk`e}jOjVVETp7f5X2SazaDP@5Y8^IHZd^A(-eu&g`1M7(QtD*PRO79jIbzO2Z&1@qtk1*5A2Y7e;@8UMN z!EjD+n9SV_F~D>gs}y;(oLv<1h9Wq2DQ-b2NVVxuTVl>vN(<~pJRKJ;kx#~jMsA|; ztuLhgPfWMfFRQWeg#B_%p@eb)JjD0G&0w(%v zv*@DNfj;QA^eqm2VO_oR55WCh7Je?T^5n(ab^C4^5|9X&j|37*tVkT7yWs5WseOdo zGcW#_0o_YOBrn@0#O8ae5ZJ~(rLO`}=USZg_~**bO0OxeRGImX^=;+XB`r0bAr%cU z!I)d~!q!57fb!G7$pW{QP1ER36Y$|fR4^5YNc*RP^Hg?~%Y%q{Cg55=Jf-1PKZTU;I)> zx^$J2)w|5DqrOxbT+VrVR`Qnf1Islzyw>7bR)3C}gyPE7i53UF1^zBt=aG;sjY||U zih+pl;wUCm=PXO@A%IiA0whA^yEbR7Yq3WNvSDvA36%^QB`$_*5g7OPI=%X|k^z!k zp3=!<_!q;<(>U_ivDR#1wwur%jv7BfRPMX*Cp1&gNXU*zxbo7iVUY+50;tko1&qN; zNJEqvRX9OU^z>R3(fY&kRV8WIaNz!zT-L6)@S3l86!J#+0bq4fn#S;GSxKCfP72yM zG~&8cq8?nlycqLNtec}X-Zt!MRmpvOVP>f(OjUA%-eGa?x-jVowLpzJ|H5x`bSf2S zVpa?{GbiF`#P6V@v&dHY zFwZ*$ZUpO4)Eq|1PM|T-LmO1bW!EuzaMDN~P_~fR@zIu^YPW}K5p`FqFZ;``gD+je z3QuYY>?9mp{{Bf5iItL&K#HD8R%t`89r9FwjfC)lF8>a-#DjAb(St+M{6Y0D+r1{N zdh#{Gz}n3{acReqz^Vgxm9sU&5BZa{`^Cb{Q-X8&{B^QDRHv7tuqqvwVg2lAA2rX{ zTU|FDg}Jb5yE1`28EH~NWGcGK-@ISz%Z6I!am4Z}GYEA4Zn9$R`34M3Rpgqm-MV`Q z2|3zLhNvhkxzADfq=!#bqh%)BQLrOe@Vu3q2CxUD&YXIWule&NmWO0+sG2?-Lq8p7 zu(`P8T>3t}7T~jcd@5(;qJYMPZi=El15wh% z!KnE00Mq;Eg`X2Qk~x#gq+8V@4~(k1ZPKE?wPlFEqd z?!I))kulmBxj*08N!j3LW%3KEe0;D{p5>BTBIsVWZ4d6m2-MOCx8$}MdQWatc#Wyqdi$#j#q6ly56BY3H{F~nFNPI`tL67z5b#`8*(a0q*Iql zAlGut8manox}E6EaTlgZ{?ng+fghP)I9@-teB*{2Cf6I_DuXWifP|Kb!!9GaW*(V_ z+pI$S2s;{VoN-nS|M7RP?Pt-o!>ohUKOw5Y!y=CQnETHWB94_Q2QWFKjxCjm){QIl z{0OVvsztWag(CZnNc$C<2|ZbU{x+d)MsKdV(aF@plLW38=jpZdd7!rIEjeL^S?Sox zyU;-Bbe_=XR?|2}O5J?F`18`ALk!ZqW{DjUBBr>p=IL1lU#i}KY|T{aFdx0^w{1d_ zNg5axY-}dN=-&u3JeCbg&pGzDC}zN1KA#D;##Od*J2ok+5_t6~`YhE>H)cmLiOn@~ zh*DSRG;0;W4pPr9(1CNsTVMDZ!sdC)VOXUgLOI>I?&-*V_LKL)+ulo@)3TK(6Q7hXTj_5tA&n4FF)zpvI|+mAcF;{JVo!U%`)cnVGw^#oYe9MQyo;I@iN3kEKXc1QNT;vfyK0oye(}|dFcb)( z(Ul>SH_-g#^yd;ypw=TipVex&wii1xt-JN9M`Ld%9S~6qN3<5YtE=0Z`=}yCsG=*e zQ-j-(>;BIBhc)h<;PJzf=v|qvGY})-;q|2Mi{ph?`d;F(D97SsJ|mp~9cgxKT=%>K zeIXt6P#J~ow~WC|#!sI4V3#Ry))>;uM}ERVybfzhzkMdwQ6-A(S=@bpEtTvi*(1Kw zfBi#_?|>P_ag*UgCUNuosRg@XaTPW$m+7^*tk{$J8GfEPa>G0JQfSy+1c~5xmo-(_Oco!)0mEZDE5pAEF&rQSUqsL+~^|y>BjRc4Bofl7`8)MNI zq-U7F=-T5Af&{I_HlKXIC!DE~g(d3_?O&B;KLA!Ib4OvNv{Q2<$rI#-roUx@)hxxNcRaTc0?)kMSLXE?yE{97`Z$d6RolZaxY35HdY-$L z+vAdiY0ExE>@u4r+)H)GjoDD4v=W_9)aIT$xiKLZ%5!C(QzYMo%gK95H||YhwgpsU zA^}nxF^8@(pFbwC9tmI6m9AV@+Wd4U5iYnPIj6;JS45 zM`W#5mC3khMXEWs4UNlrdx_o0!bAU7ec4W9!C?7v5oE5SC11Zj?ctgSxbO|h~BA^noQl~rBP z>9lcM8=mHPYN3~n$)GN=U>-zzyD3@$>^-g{`2Fj&mqt5kz3^c2^uj->(|MC`1$fw( zZ8>(gGEQtuo$^>qmih5AOBH93x^6suLglU?t1c^C@n6*GCS#cdXdC62I5K{s2riS} zno)G-a|nPBlJ^(kNY9#%>mt0k^&<{H&%E%%2$VW=E|~cnrRJ;6*ofMCIEo`m#wrHf z8W~{+Oflz{{E^4tG&e!mzk&w_U?ToaHg+cLVAw@6rZ87KyRNVj0w%1WV}&y>tQDHB z1V6Gg;PTVwUWqIqvw)|YwUD^QYMK# z+UIXoNC}dR=w@d8qgm{1VmLR;D#DF88kK)lj?(l{e*>8+aB^HHt=xft?-RVwA|ESk z6fM2(@1nCth4U$Y7-ShP91?}?n}IiFZ=+jx@){DI#cBWAesVg)HofTbDJfG`>HrgzGQs4`t_140 zXapm*Q)(a4;+cQQLiyW(HI5!Nq81CK*G>xJrRyc4HY3azwoo3tc{#{wqv#vm$ja#< zhMolLo|;xX9Z-duzXgel=#f0X?dD-;0u3nchH6Rq>L@M@Rm28 zwwaOzlE%GoWXw*nubS}M?Bf8T>KtK!LLkbtbagyc@2L3B6_>F2q2?4N8`7+Ff^Yp|>0%Hz^m}vAM=Uy5_7F z?G_JkBwY2GLM$aj_Hvb2)I4kopt`d6SxWYq&29>kdYPYXzU1w29mdeyjs33ClxU%| z5|qZ}$q z*pyf5I9QR+*4qn2P|Vy2MVIkLjl^cYtE0T)U-_=#i*YB9u)&BMSuU?sW1{fq6TgEC ze6zrL=2cG0zmh|>f9|DWe9D@O(T8sl8N7sEwOqH#p$loiMD$Y6sgj?YFOuC>+Gs3E z)>8eFsYRB%%7|Xm(*@)J-(JAwlyCAOd+byRT4x=3Z@ZFR^20jSurQm@EF=}$^BSCh zuc)(_Vr7<=s#%zMWY&6PA(QI(BR=)VJjY2YX=?P?#8~Cn`PkP~;na>)-_)1X1kNHe z9!?|#xI`G!(M9TJ68V zn>1=SzH*F=HEOrK`Vgt4?=!vKFYnIW;c)aKPp%J5C=fM(&Q7n%XX~`OAEnE0jF@qj zrRvjU(;xXw!`vocnGEk%DYZ^EQi&fRolDs>lWoBB5L&FT*9+J;fiv6vwB?EBfK1Tk ztaJDj-1`bas{>(>xB1*dYHVUJ()EA7?8)3Kkhwp`Em6jTo*%GaJ_Dm5hlhbB7_raU zWfQLws!>Dyit~zR(@SylZ-e%ozRSMTTznQ5CK5W^ea&P@ax$LxXrt$&oZrQW?I*$ zyV#c^6i|ZaK@7@@QQH&nLghRdK0%#M%R#;&RC9YTn2d*yhkt^RYOpN>YP|q2Exg9w zWFO!^gU7d@t?`pB7F_F$_NUc281MRv0DY&NP8|h6r{aLM<2l3zoxBD50H#D@NH4hU zwiWii$}OuD^x7>&$R8Jj%66`|UtT5+#;pImV~0e&jlEgVIuK z#+fZ*RLq)r6~u{gy1csC1dijxFapMNO%v)^_`RL(sqr)YmI-5pU18mI6a3Ava!xX* z3IFJES9{A#*7Ygs(3mxshY^W%TDWN@jFc?fMSP*>y{2xxE@xyAs&)~YgG z4s2N4VM~*I4L4;iPxrtHrxCE5-s!aN&|&`_c30&0xP0+?7^0O3Ko=^u`jt9Pl8wBF zATgxvHkSb#K)<|U9dFa~g^1(YZMt`MJ>(+B=d4kQtmS_FV^!OM`Nad2QRxZ1g|82F z;F%DFksEn#EC6J_PzRr#42f*eCe+)ZQC zwx?~0JNEj-?Rh?rruQ!WMwjO#p0RwrK?H7or}*W1pWs({EoTFJ@th1w4?AkUAJ7&! zGsowdqwhjrvsn#%Chi_Dg!XB9Uv@jZH}1mKHuTng04HdG<9^Thpj{R)*y5hyyOO#< zBI@^YRFvVgS96f%V=y)|tVPywo_JCvoFU>hayJ-b=(>|M=)h+#5`Dx3rJBIo8?H;S zHEgUESVzh6k_$;&~HCefd-^IbUqqE15%TGFO@_(b(E^yDHB-4e0Qgh z5$<;Y)mFJyBVa5PUF3Du;r#Uyc)ipCZc`z!2i8jAy9sBbmkw6_n};VBV4@qvq1kru zV(qbav~$k;=72@?cKN7<(a58BfY|VU+Cmt%C+cxJT;;WqPyQ6hx^dl#GVw6w(D7&& zdhT&2FM9V}b`Lz(hHgAOE{JZQD7BqV`vO&-8aK6Vu%k-ibI$|D^?M_bpyzUUXvcn0 zlg0HUEb--MHO#!~-1lyOHCPGsK+FnzXcF~0A@{rNE64;jpS%JdqZ1qSLNC!5&^0}o zL6(Q;zzs4~(Wkj5d#_1%bO2Hi+u>=;>vt9B@No6WYP$;bD`dmAE?9k`S`Hn+%jCqx z#!~a~VHI#rkG~F^2LY1`_@vKQ(X4F`+76J)1#Z~s^Ni8GKd9sOlvDBPbgTEk;O-^V z_jEjyll%^;DDm}3zN!q?J2C!|v5vX!Hrh_}^kcyatQP<#wfyQQD;8-RV|Bm(=r?>o zsljdIb+0`dT*(F?!E)SHvucl2W+Hd=IL|~a$NPcdkuGy~-K$)NU<9U_Poz=bj za1+bR@nk2Y8vvb9@)};w5N|l2)?)Zvx37>p^s4Ot2Bf!4sT1PaOYZ0UbH^9o z_x?P4{VA@8`5+5$ff@OoU$!Om)PY>@HbBk5Q?O{;`RdHYE2ux!Q%L=Ue9&TG(LJzy z$$cPIOg5P*VYt(5m?PSE!(5)Awh)s-M>@AQiuy?U>tSA{8NI5c*)SeMQu+qrOZ>_i zqzwWYyl{p6Nxc!8Jjpo7;LN^wx_J?qlqDturS(di{RJu=@rVp34_1&xv76NK*coNJ zz`{25n~g!boHXWz8-iE!9PDmAR*9J96z9!({qt1~Is@SEe%2~U6fCoWWH>k}J`Dcl-)lr+|t z1ii%fg!RB1xST1D35H*J3Gs}EiYjwoRTQx*ay}R3Rbwz8?oD^`BI??#tujVjg zyQSt6*0)K`^G%?M# znK+p=h++KQPGhcdG*toD9*0fHOp_`T2;os)*Ftlz|=Og$hTvc58 z(s#bo%tL)HL_%xtxcu}%2jMm}cpP2>^6lXZz$Qexft9`EOm^z4uDHS9fE*>R4~4Jd zlpGEkqukm+x~Z5a*t{zpfyPNxgTe~76F}@fxiXUcg&8}id9Ju|XgRq1`wgUdiqAk# z5%)vnj~VX4t}6_s@vQt1kBp?h&PsS~^gCpvD%zD7R&ls3g>CLfb#1SAI%jVC>YVAS z04gf0Ut-&wi1&GfW>*xcvBzh(so9Qt+wh}kubq{nu#S%xw#_f;YCgTRh<1IAg}20p z3G4GV-4Nq%NQ6EdOZh2YG#inzSEb!+SnvNY4DHmq71zxSAQpG)nC?N|7l$3*-&SFeF}eN zfqAi1yn;eMJ4XIz)02@N1Cfj_j0U%|vh8NrUV5DBW^$6i=yPMZ_U&I_+FNqvK=!z7 zE+oZ|3BrHys(#HskjGQwpo<-t2o%e4@taJrNl`p4F;XI2%Inr4B8z7F#ILY1CVD&N zlh;Vkm~Gkk8L;MSlRG{9CN2v~TuE9jfiG?DEg=8Mp#9H|96RD8UThHHZ@9@@z>oMH zo-IGjLN;_A?ULeN(SVIJC)qNZ#6p#ff&Rn`7`^D-m%-ax?Z#--th z&N$>>o}qk+aEK58Jgr0(SdNB!$A0n^gCu_iN8E2DcfnIbzWi!#ude}{tsOeo z)KAdLN4UERHJ7j}Z&j-c|SS%9$GlfSr!=%^=3i z`+h%h%Ei`dwDa_!|vNc>H%5T(x7Fy-%_x41+g?6w(`3hL1h!s1Hn zr`$)K)j__G@W=n8(ZtEu_LlCJ9XdZZ;ZryC&stfC+V;tlyiytc4HxP;T8nPJ75tJD z^Y(qB;zs!|`g~vona;2L&2~JDl};L=YvETSR1p5L=qK4uq(dkt8KCCZD0>?;xAEc$EEmWxTdPP(*`gLB~N%nqk}5f*ypy z^$07A#V7HlCy^Dlmxz%LpVDQPISM*KIqy%w>^;;+X7}tWTr+ZmyzFb{tz;Y?dW ztKHIX3RKKTN1iKLrb3C%_JbDS{cYQ8&LpnFSR$8nk`Te)IJrq=HW)q&_bVUy7ucH& zOPkdnTj+v;loUSBQ8dfU6%TIdaXvG0m5`*g@9k;<@7oe8I-eht##Hd&DH(^ShjLPE zpVF&idLttRQm-gg?o`6tDT!Q*NPnn(!}ib&ziw0`w07b~=E+nbGMYj_!#Q@n`^%J+ z@Df~8dl6N^5uDh!tns36!enn?R=JP&)uY-k@-zDjfM8!R*?#BZraEeni^)!svKt+W z9nWCmSsDrv7Enpi=%rP4oU?;x-Q=bSXYQj`ir`0mPiXnaolDmyLbY5draplj+Y@)Q z%QobL&El_b_3GX4o55`)Xic6-u>@nq*r^AS)y(?5u1bdr4Gl>fDv2I8{8y|0sPa5uj#DTYcwlPJ9&87OhjYG1q_(+d${29nku!-9>=@u4@woR z%S|C)h=IQ4-1N zGPV;+tF~@%^>+9yG?&B0?|Ttf)}N{e+&gV5DJ(wd-0BcYF%7je^}FyznAJE^lpdRP zxA7Xi+|OTc(4*HI`3DVnEYSbF8ECUre7aa#1zP;xV`_ct^c3^ZXTeNC>oY%Zr=mi{ z#0M}e{nF9j?WsSMag6qF@DuoOC>j0hJ$L@XHci=wKegNfhpN09iMJa{Ag)hwjw#fK z6cG5r4-eQk^#pS=f2?agwLuustpBQa+qkaRc1yoj+s+O1r`Q|ZUCPFBOS*VU%lbf} z2#y5OP(ud!o4v9`RK!TKY@y%$)YECx>pa>P@VZK%e9wcT?S+dhgWjPiyVAQgO+fel zV_7QASEl<8ZPU+t^85RQ>?Jc*(|?7qEM=S(DqTkImT?UROQ+Y0+T1~{KU)3F5-FFy zO-dt@(sh4SYhtNkr)e{q;;dTd>F=Ec<R~KVPGy1o024G0sr%j_u_Tr37O2M z)UDcns86mxDR4t_F6wjhJMe7@-vK7)c{KUM@u_J17)Q_aoPLTtjKn}q;@@cy%$b(9 zD#PCkdid;&+&r~k3hp2Q=JEPO&Phf?zDo6?qNtwYeXETIqs;l-Qx?OqxQBtVuJgEw zR>#3-8m${fy1FEU^v_>KWpb`>DB>2~rHCum72dTZIEeRp;_WBhP&T7BW&vDb9zmTn zzRTadCCCLYN~D+H;%$Xk3=B&6W^&Gvi&YO3J}ZvqCX*Or!Q)R z_T0&>ioGBfG6|CUChu>u*a2L;S?`D72}gWb6dr*O^AW|0c>``-vN#{H+WqN>=eaK{ zsZppTw@zu;Wxhaht=e58~crvU2Q4h`xxL`}RiD4)2afDP;Qt=0hJ@qE~f3iI-^iM>7TI^ZUk6vq1=mhr z-0rPzoNKht_S7qM)mUk|*%F8lCapii(|jnT&D(%cGT^`uz`Fr8_VPDlqMBhapKQAn z8dA8*wfMiVPNVmTv>SxElI#g7aVm6)*g3y6)zt-{v{C~y-ih1m5tAp_A>XU5`9rext)AEq^cPhn^Mq7Kd}3}QcUxt(^quAfSC60had6|^tLvB@ zFY-%AUzdv_Z>0eCwI_kl`2hdB{XO^Rstt^iN@Lb^&Nj;U7Lv-M{z>BaN|SfM=+1A> ztm$(Ru?tg1+2gZJbNWXUEy|Gg6=hcfFLuK1c^&+^IJ)n@y-MkzF{!Z5$ak6pd9u#8`uAvW62 zMk3=gGr?gMrnSBQ@+ABcaW2Sr6#rpR*3q7AO&RM}vG`hI;kG8C{n&rLjJC>0dk8tw zDLjkYShwgw;lne+D(>>O-7tl!M-EnF-02c~IJktg zEhg*47x)(e5VslC1kq2wohzJD_awvyV=~#*%3@MjMz3++!8`ck8*;JCKciu4UZW z?m-AWcolwZ`YjsyVifWU0M8J=;x9x4kbUNW_7pDw+6J3>oxvbldBy+w$^W;*^FWL_ z>IT81gM0;S1q!bW{CcJo`rzO1HwA@1+IqhWL&R6*G2U>GbK0`Heyc+7PfJ5cGbuq; z1PfAqTRYYvOEqLfvzSg8JUTTQs2r0J-bGPudx397N@z5Aq9zD@{nE|~Q{;OW5K9of ziTxHia@a|VeyMnPatJoUi~{IEHY9ugsep(VbqUcPVsg0 zQ7lN08?^_H$1WYtmLpGnS!EK&%yo!IKs#ymD+gip_B^R)c(Ev@*O+D2uqA3Rn(qO< zLr=5x&B6_biUB{6=P2r~kNW=vNV)6#YV(4rakKlcJEip#cD8n5V_%btpnd-n<}aT5A?Qu_&IUb`v1cA ze`jxO{P4K>{_B5o`X4+4+wk|oj{lvhOT(^?2Z-|`f6RXXiCnEoQ4e1_6uhyt5h_CBwS*|0!XpWDb-&=6?xYH!1;Ax8$o z>lmO$FnjB@{6_eU3dvGwFt^C_n&P^TwXkR&@R1SC_A}qDx~`*<2GHKS0q1p-zWX!T zP{Gmc=e{~}VBb_p^lo=A*0A-VPliS4b!#wLWL8@UI6qCDK`Gil5P9%Vh|S_N%=U#* z4#tr2`yA#5aw6Sdq_4MGxL4T>m?ErN1D`u*HauxW_`YcFd-77mde#ngIh8&XO`I~RuGuI7QQ(lX9Yu^7MkhYd>W6&Gb=8Fr-N8| zkN$~oo7KV839@axP_h;hM_)@M>KF@Xcn|RNZhPyx*zG&3Rj=g@JNzo{&J>x>QgWEH zPPOk^4lt_zxxdTAOd9fv(PoJX08iMHSAqv_vs&Jt9PV3@P!vmqRO7-vV0<(aMPj_c zuA06MK7pqg<ZvOKVxZLN4S@ zgiDbyd4Hn5H_;28n>_J`Z$@~pfX0D1Mxr9;V2$ECHfp1tWGz!M3Z@!VY9Qce&?LFu z1$6OhiIK?P`WB7!>FsiZbyRYExU~}Qy85al9bt$Nqn3c-zO+%8D6?ie*b`J|B(4^x`%RI z|7KPnEibFZ+nl#@O(>aWNdqvXt8y|)_5LLU=bX~;V^y>+KlReRe9xA4rI&=z83&L_ z7!Aotzb+E8a5V20MRdX@NfXxM)5{KRO!pVvzKe&uN}B_iuBd9 z*zNFbG4{l&p3c%<#XA#ozwcx-ZE{`VNpzzd4P~9V1Bp%3sQdW)Iemb7Cf++=`0Yf| zi_CY)Jud!QGCpBsqA{*9WZ4E_#it@)V@u5PvEF)=b@7gBRihl#5GWfL2j8cPmES`_ zm&K`j!F89d`*CW{uO+{K3AoUnt!4(*DO*#HZ-lOaf9G$Fhycf2iCq@2E^2UF44y?N zxjw%o)Y~>1F`IIKBiR6Q#768F4n@s$h#wvdtg_mKJ^h$lh_m@OmzC)l6>0)%dGxG# zkjD$W>?($QoF5aLwo_j<$&Ko-$$a+HuqBi6_rXC!blzVUk={Do|DtE&r6DgK)!kS;V=t=b%$-m`9HTx*#gL@h#rKRvfTnki!}ivc3DT;#_C~ng zU3%y4PiFf|^}V(~a@L>Q6R_-|H){U5mUpG=Nug);cQlSx+_L$O__xLryIz4okMTZ& zw}scUp@G+?mH9jE|^sDtk^~u$llTQygl?|P)@7>1v$+Nvk+qA4?v;%oM zuz8|R6f9d^+3!fpTgYyj6rqs41B3WRZ&HFA|1 zZjEUci)MH+Cq_x%cWWzOX)Q<)SCbbEfimgA3wH%& zmcyKEfia+Z2D;!SqQ{$DPhz1MFWtEk?~u7w z8ZQLWzs`2ZkxxP6U&pe7jv8w5YnNU(ofde?xXC0cfXbR+$;btw?uN9LuuqsvIVMy; zBK2)Ey(nvV7YcU9koccy97=cxU32VEG0ST%>)t#vs@&yX-ye?88wADVyTW;-5(0mg zCtgz#o|)TG?#C<>n>}b~Zz{|l@vGi-id{FjI_}u?iMRdMN(wDngl2Q3*}0~jnpWl! zMZkf729yvALScN{?L0Tw>*;vwpJy$;J$|d>?WkhZ_CBZWqhDznciH&Y!xx#;0oJ=DvP);=btY2(#=JZrP@yc`(Ky=qEtz(0e3nFCr8TYx1Q#JHRO^m> zz~m_Z>5+2_%|BTs!Q+Wj+q_r`3S0^qd1rmv&^lRP8P{x=1#Z2kXAygAi(9+f zctmhyw=AzX+^UP7;zsMrcwMj=_^euemMlXT`VXoYyn>jY9Jz)&bP zR3g+Jd5h}@%TFHhvounOb)Al6aVq8kwpaMGl3Z8Z*RlDZkm>MLIGTSrmxh;+f2MD^ za{P(0#_n^l1wDmrgC^sa+NSYjPKqfq+zA8^D-?kr2(nfRQETq;+=t|N_q+)4=ugkY zU1gosS@qt2UNL7+NUp#F?tB)TfJS1w6jjxb&|eUW@o0*OT{Sx2E;>WtAq;}9B1sQ!ugG+h=6)5qSKYC-dT#JHJFtJQ;EF!F8=Bl5(; zJR#F&ZL2PiMaEHogGf@s_!6WjT*O*mP$M?(mO85{0ti0tv{eCdTBeqkb|0;j<9nD< zyurA*gDt}^_d1HzobxLOpw>_}wApb=gb&HodP&6}FQd&43Rp{U$sIV*?P3Fj12k{~(FD=~1_5phtov-~JNo)oMSo(vrQ(^Sc zfG&=4FD*3@tSi+V_`o`Tb`xaZtYAih+|R|>o*9wNJgx`L=ir6Rce{i9y%{7MS~=q( zr#%KzDBnxKjiPheN^(fS=Z4JCE(N-_fzynYN-YH&4pQAwO3i)%A7i6u=R_>?qFlr) zH}gnp{)|u*Ew!96Av4vw&gO4JuJr|S--=Ty!X=4giabCB91TkB@xmt#80C_42+Dje zRvcMTC`ynoxht$!t67UF8Wj@_?U$#csp?2^Gc$_D{RHEzWplYD<$_4p?+$2rilOb3 z6k-f9h^?JF-G5Mr9oOIl+skii!$uMA08!g_b=n=RONB)!F)XRi&qtftY5T#Q{H^1m zjWEYv3CocX*fr0EfsUeKrT5p>9wdz-47O5c1kD6js!T-+7l&Lrl@6J}#3b)$tTnh{ z_7F)ZN%<$@GB49C+8o#!7zunY#5nZQ$)za84A2LCN`gcA5nrY`|toq!Vqphz$v2(`i28eRb2`J=;JjKCXs({Bm_~!l}8ULSXB#D zK0hCpeW`1TDfz1P4`*k-6s^c3Qh882qA#ONlKbd_lmQSUWs=9C}q zG{2k?6i?h9#C=WTbBBA>uc%Jxz|Vy){M+{)U=eia0d#*RWEK%}A&Q;kJ9syS-p==4 zm`QXhz*G@L7sRsD+*K(7;*iIy-gN2S=YWM&hO^FA-@EMS3EFr1vq-*X*X>fzQ7N;g zg#HhSEJKlS_qw@$8FR5;tpde2_1;QjMYMNZJVnDMfFgKBerZ~zk(GS@d`iM-I{ulghE6XV z7%5U)bMX7wnf^CQD{;k&fzB^*sA2h;1UR_3<1qD+jYRrHtJE=W2PG-or6$M6h~h(Cs1)}x+PF8x zKuXZUJu<}rArTZI^?IC4GTf3o@&TD~Q4*LuyfS|XxtCn2h=l1LJ3IB6;iVmXV22Y= zM%PSQ3y+FovisKWRo8NoEN0ok0}n;yBzPE#3^obn!A5v!ddUFFkzP}tio!}`ageuh z82xBfk|YIeEUAm!?yw)tCP{^1B2#&pKsTCtFNO#NQhj7*ETyT7Fqcsr7M~wqobz#X zT$%=Ryqc?`f;>afgP6R$);y%!s9%!Zh@prrjbhbf8#c(gnJ+>st1F9y22-74&if>a z5tgKCQr%=s`9Jw*VO3Z8VHgN2M=SZhNf9ck6#6lz;h1gPGRS|8n+g0Y4nkQxz)xXh zLLx2|7%)mIXJn-X^!W?SL5Y|F2|JWM^)=~0^zz0+$!%Wt5Yg;pnc%qIpth9oU}153 z>_W8(W8(4TFxF{vt8AvsvO(|?jDvwoM|wwn{70@0GKqSjJL@b<{G>Ft1`h1YGdJs_ zL2GcV!fj^>2A5B|`1l~Ma69LHVQDvV2jQX7YHGn4 z53qa*6Q$_aiIvIM)53x{G1CS2f_2^{menLpP)eF7@G<7?h1is(#@sn|2fpIXL zk{zL|L-z22MY6J#DkUkf5fg4fSK0YSB~$tWi$GIun`3!xmqrzdP!ldD zvH}r2nekEwGd<=6c~a(b>jLro30@%+Q@@RN`Fh41etiq%!NQn!;1u46%z(}lPem=% zl3H9jE++fW!({I5$p}LheO|S27-#iQc4#^5E$F>grTnyZ8xT7P$oRugL&$~1&L|iq zF}cCTaagR6+@e~_%y|>NMkCDGARl(O(d10HR!Rz0V$JB zagVdwO`Rp~>bdIUn@7m2bsM2L>nge-7FbsImH#@&Bll~q8xt0$zzjcPbIx%7@d;(n zJPiU*Kg$91a{@k?^%aCB+HzC*+K!Z}!-L<8D(WLMz}OrxuH!H>Ue1Xw?xK#g zEE-U;rs8j_vlzcXz76fFQCd|iOsUB*BQZl;MqFp^%I0a z+7x%AUJhL~qbHBYgeDYBVCPW+sOx<7{A*dYpNlLdblrxiWS% zRH-Sc2D#EKaEi(4FcXij75?{UAz>Ji3qaNP1FFW)`S5j*FYbAE23Cao3IBXLKZqlc zo)T8%7UOO+!qS3im(Eo+)4RVp)4D%QYe7y-LV~f?J)fvF>C{l$#@@J2xI3Ns>{g>?s60Tzf7By~x4pa#EXk>(v&c?LSA}3RL-XYL!0d=fH z2wlt_<&(TiM}VHp7`j(3%+pWr`}7!@0331~oxYk=X(iV|iWpudK^~#V^Rxrl^v`Nx zkV%ZLO?n+FwPr3=v#O0<1LqUyy1d#T_flyQrT-F7X2yvIjlC&QF=) zN|aP0zwrg8Bj4zTxyKmTV{vc+McX35kG0xN-{3Pq)?gBDXLB6_hsJgLso2L7$4$n1 znN4y>2FfNztc2(Jcw)aK8ra@1*rC+$GfH}GCtel-WquK=Y;3bg$VUYY( zFXT$^Mf6XVu)ctDLkMHxWQ&!xl{09A06I4TOoVdXxRmMVW&b(~E{J#li1qdbjoySA z#+`bI)7@c22*grrUz<4al24;R-&V(*rcDhKXYw0yRTut|?~aE;AwRCQ|GZj9M9#WZ zW74>ESM`7`#d4ES!2CdYHE62u#!@BTn6a&MWW0TCQDbbss*~`pwrTaNwWi0375!`o zrJ6P>z-U-z&$Omf;~VU48mgmiWT9K6He5UybXV+8}%Y};QXSr&yC zkSR+v3G{BGhXp7;+#zoBNLR5oajc(Aa{K-!j>wbeI88W;ewTlT0zY-CXN7g6ZDjc% zy_Wq*!=5DaD8oL0>vjQX8$_kp#gh}pcSB5YAxz?F+?`dA9gXP7u0nL>xTj!)SV-TZ zcyW?4w)h=?)}?cG=S?@3&Yw0{5IEn@aL2+J(>L<8&0Ut>;4fq=A96;9bC;1{Hhbr0 zqwG)6kIH*rNx8|{;q3C<)Tu4uxx{zNiAFq=E z!o79z~eYv%A-|Ed0EVP3$Y+C>n}_mri=BKbq3T6jr(K z48Rvv~t|_&LW+BdFAs)9BO<>Mn zom190uG$BX@LGhM%$-dgqh#CTcKc3L7sQIXrWHFX{qc|z#c^F<-6KWUI(devb}0Z(c>+o!n0s5_G*O(t$g0hWl*z&vWs|Li_QjuR`WW{Al;8=z&1$k z8KWs+@N|-yyCVD)ljSBDPj*>RHp{V0ods^t*F*q3pGDbd{Ng2IAON;J|4=r#q@n^_ zrBBTQ%F~{5HZ|Okr~=#9Ki+E$jRZ=9g%QHlEKbx6b&elH{{YQ1fmd6U-S?ZgCT{u6 zMH#X=)kf`~NtpelLfz&G{CP^d^&zr{61J{#3Yw?w>9~?|pQ!SyC)(FdxSY^_Xk69O zZ5SZlf-|noUf2m~ZFyw0X#|r$nOl5q9gB@%!LyQp>#~)uYrp;HO@&(nXGy(&Ym z=8~ZDi|r~z1hq5NLI`R^=ULTyi~?{HeCPsmyE;9WbX3-2kEO<~Fm^CBt^+?}Mv;vk zUOEkL{@@=FNJ~BAUYAPeBt|FW!=Ns6nhRLQby~%B+Ntd6Gc+btS)z4-%aL!wU&uS)71rU?k(+J9)>-|7gGEY( z`0viAcV238ls0t&YEc2tl1HM#A@1r_v2uRv_nrbVj^KXnJMNonc}U2O6OCN}?>xqS z=$F#+DK^Q#6nm3Vx( zjbp94pOa>hW*>?}?7-WPdpv5&lwe6LXy>Y#cvN;(@sPSGSx5n*mFGW~{R$&5$F_t7 zlSBkME}V*MVf@tdjN&y#-2^j$7ELv8=C*jI4fC*%A>%yRFPezOM>NW)ofPLtaIl{> zJ!{9O-$UCs==9F1mFa{7>s?I`#_W}7hj%JleY^@~&xXa`rDbhV0+xx1zNNguIh$A( z;0PQv@}-Y$PRF)cyGy7PRm-^$0=9Vhgt4*rv*l8&KTo@A@ z&!yJ?QW$kKv|UMK;I9vyW>N(^MO=!YFS=xI)4`Nsy2>NpX{VWY|<%PM>UH)jj zGM%!P#w;(RE_43d!V{7m$dv!M;F5DSX7_VmzfV=zQ5|2O5ZWF&B%*cWUEUnG&70>( zOd;!q%?_NL=l0ouTmKDW48hq+4R5D4QW;vLF-&ljRLRTaMW-Ew$AV9O-LpNO$0;Q! zTyGmeT5l^Irnw9RWYG2o0?8!&HLUIQq!m};d*sDo9E>hLUGBYVBw*@%37C;|I=6iH zv3=BVWF&w$#E-OoQ;jX-lFhtS3o;M*gI}kTMf0HNNJ`qOD*U!d$eI(;Zf-x+{!B?} zYAcNJPLJD?(^@3Di6DnFWejk6!g`D}(RXG4L9;8PTAh(-Esq1ZQ5_Ql}R;Vq< zoi^xPzFUZa7awU+sC?{eFBNN))u%)|`#GY&wSq6z@Pd6k-Fe3|zqWlwn1Kp>z_^+A z7d7w6th$o}%96u$Tp>7Ovf(lz1~{Hd4TlL(T`Q{^D#jOA{c1$v0EfZRojkuqjn8bC zY`YZS3=6rm)Q~8Z;>k9AVZY?g{<~zed72t;MuVrL_S#viIkm+{Uy*aZ2vjn6qPh64 zwyhEg#>eQa&oztho6ZUz#&%3E6iqc27Egj~pQah0EN_-#RCKMNeF{1ZWte|#4AVS> zlU6$7`$MZY6CsYxVE>#8!vf)mB?a z`&B4F8dOMgPbr8z7p?Xyo=ouf3h@e|l9Yc!ET{aKJa|Zbg7ip#OewXBq=w*bzF^4v zt_pR?yHKRaHxb5aPFJdJu1yvmFEV_2GX2Vio(?`UPg7TU;IG$v_mwvbMx3oz51YVc z^JB-7wnvW&?sU@Q-yqDm5$HcY5t;n8u%s8j_v3q^TvH3^bqjtrC@@A}TTA=}PI7+B zW_nJWY{_VPn>CV!Z(gku4s63tc>Qr!zImwT_>y8Q`oShx70jhQdz&S@O7Sw*9UAm# z<(LSnW3av&ajHR}KiOlG#yR`ed(ol)7+K)!|MaD9sB%AwrlrQx`VA9n8ARmNN0=xK zP&Kk1y_bOU@h6A{5Z-!V#Nx z4H#+g))0!zNgP-FxfYe6U5Jh{91GjL6U?w30kxur=u>(r<_;0sl8VAYZ#Ijs6Ie^`YsbT@h_1u7rt~tM5!m4$hZW zDk&?qQMRhS?~8YyWDBW`F8i`xarHQti-fl+cEx~3_+#8TMv_g|%t0~E2}2*RV)02d zuB`4msZ=7`Fv6mjlCB%VgXZIS4?^4edhb^@$|Y*f=j8ed{S{pTe)G6B2QH);u(HIx zcth7N(Q;@yNv$CwuE}hc(NE;FQAE-X^LDmSJD=r>?Z%dZZ{lhUG0Tm2XiKLSVgvr@ zsQufj!{KIWr43aAz9PL2bvBRLC3-o0aLqv?I$2%*ycTa+A<|ntrl=!d`|$mR#Vpk+ zui=BE7i#KfRRk zZ}8ZFYn-@JWVF{dHac8AlcME3{Au9%ePci>v%2QY!;$8)M3-JGk?<@Ipbuh&7f@sc1CF2jdk$i9i)kTMTg3;LsFh(o?r7w(H!5&4R)@ zo`u&kSE~#s&9xG{3$KKX_~YdUzOFDm;z=G32gEIYnd2JJqpCqW{(O28fH-(LJ8Q^N z$lzf0ekj;Y{54UmvLiaLj7{^aETnQ2847k7f}#D#U)X#I@FB-!Kzj7{0`lg4z6>e* z7Iu>t%&2ydc;v6pNVy>q684{Yh97L{j59$Ax`mg2^^F%IIj5fOcu&eB&|LK5p5T$4 z=Y{fBFxT@J|8YmXloTHMfO9UR=^0V6X}&ZRg9k!BfknP-$IZX(8Xsq3)X2F-EX%x3 zbr~0FItTmp$R`7XK&+7j1_{J*TfYA{)(as-5X6i7J$&vEG*^5WX*IG}Is=_!7@S_! z(EOJGeG`1)T$*#H?6th$1~S)kIb2CMW^=O+_eudSWjIOjlM%zVHZiyO39fP)&E%rp z^JF$EP3LKa+LQ$k9(vT$Li)MLJ@vlk$14BLUms?gX^D7Z|LZUXY4X|^s~jND6RE+_?f8`V`kK}? z=Ze$gxojYiA7?wa)3GY~>P5G9(&X10TVYV_keK7|BOS4Gy(k6&i-Z#nyaYw6sAn{l zx~DFW-!{kq*Up?#1m9pL`?2}Jtx#dylwnM~T$!piGfsvGx)kgHuuGb{j1!^)4yaA; zm;$D7qVG63#@3jUD-wSS_p(*hDY#U=k}x=PPL&;#&@}dAMsFqHDWqu}ewaSd9?wAR z_H+_z`>pzg3VhkkYo#DtkQme*RTOw&m$p~S6u5W-+O*Sd3f1^``}Ir&HPpj4 zleLbi-=XU{pilhkAG+MCOk?KO6?3RpPJ{3Evy}IcUUS!R+%SeVvl>B@*O?OW zI$U3Sm#(87gtmGFsn*Ms8H!Qg8SP38DZP`ECSfM_D@!K%X|t}T#>_bPuX{@7U%E@M z!77gdNhMj?ULDO9@KgFlvL!!@Tx;5jP$S8>oOsfhM@Xv`cKQ-%r_o;Sw$v!7*$0@D zXZfH7i-#w?oyD9l;B1j+yT5|q^&U|n>ovln`tz&5Oh&RF8l>d%Y-^zGj2o(PqHG() zG4^NvS$B?&=y_VQ1!GC}11_pY!oJ}7Uk-1l3-NOe=b8-9*rpn*=gMC zDmP`A)mq}xS7hkM#Q0-Mx6~+gO3=wf)_bNqi4; zHKA&jwm}X?_cE@K-GeQMOD0`kWBo?fup=^MalvSgEToYn2zJEYPl77iHZ)qqTRVtN zb&H(lgc@VK2s$K4oxl3*ML2p%mYD`{r%~?utCo|Y+8i@9^X*y1bW4B3OJs<=8&#hW86rH00~_U=YB)3oAzyr`yyq!6 zZov9Ddb)*`W%l7?ask7{CH)?r{7oi|Aw&h+KLiY7^U^cuVVjWaKD5koTYMkr5Ut?^ z1>Px-ABwM&;wgf4e0EGAo=XOOH5 z*hT;L*kT%90CgU4jjFu2z~lo~nGv%uI!A3UtliU%lUD|gFYOWtEq(M-vT6)>q!naIG@enV^eeXGL8Jf#62jI@7Kws1 z4x{1m1Dgz-Z`Ap#7NGZE_x}84xcO!YoVX8(qc|t+x@T%A+fqG)POVpDcE<3^d$NAq=qY4>_BnscHIt{Z-%R3(wN! z{Tpenx~Y++Wic6}b(#;TBHmUWCm}rDndC>&HMia`qAQO7vAD){{>&L$TKoX70u&W) zRvX3RlVRYW?#xOh)!+?MTn_r^<_rGGP`N-nL#+f>OG}%#T^^9OdYz#@Alzn{Xd;Ed z_9L{chOJw_dI*i_WJBn!q9pI6|LWDN&Knyc#9Kp>Q$9gIY~lyjZ}d0S?yy$V&8nvH zqjL4}&^WC03lJbyn;m0q!k$+>1bC+T(IuXQel!sacd$r4{yMoR6~aTf_=$WBzUEAA zlXA&hk2i*XacODthIgM_v<|WK4xvCj(~~yt*{XqIDyf%LfWmshUs6`IX#gZ%_|{RK zt}Ze~7tdp0E=&MX=T|f9vv}vMA1ILj23TlNW7 zvJ?*Iw%Eos>|~xh5>T5R&EZ{OBj)l=WPqNAlNdvL8- z!FPQ=!P9`}qGp|+Hztq`w;R1QjSivRoFdCIIr(XQ`W(Jhv}^CAHg+N2Q%5rhENs%1 z*OM=z4G&cQ5lR3@`eB!~6p6muO}Wl-=HzvrkUjPhT{5F1^g}hgK&Jp+NzqwT3V1;X zu7P6kXRwBDilZB0zOiI8Y`4um2u?!#dY0ZE_x-i3UoTY<9ojDxz=Sss)=b75bPe5L zBbe%v-4O6s)<{*B^`uJe`e|kzV9k-#JP31P%AOx=v8ryig*dK3;}ywj2|$~lJK_La zokKemRpwxNJ3m?uvV+P&l6IEY%mqh8^jT+wwk66y$@rP$n$U|Q(ps_aD!})rlGye4 zjrf~1vTiNmiB3?z*TwazoGol;RrTl+o9Gm=VW`>Wb5z~Y3?9$zEr9X~s6T^B?xoJ) zLEO&+ro+!UAH7 ziqeE%>fs1~y+ltPGDWFPa}rIFA=$huQs?R0Z}wmH7yFu2v#hJaq80_)SC>AIdN~^5 zIF^nWH0sSm%(N&JTI(A+brQ^*cRJrych~iiunU`H{#5-5Q=APS>BNP)>%aTBOJSJK zS=-9iD_t%)K6=RjD9D-Fkc&~NN^OTC{hCVx3%gc-vyg0qV<+4zKO8GN4E4(X znAkFz7^Gk+v1BB;Kv7nBRnngHp2WV8AAGV%)%Vt-{lvZr6O?hDK0E7v`t0<=QrlCU zHQ#`2QNYeto3MCp#1TmR-83yK7`lNQO|p5v$00*Do)AX~7!~MGrQmUmrsdr)n<(0m z2wOKr{>Be)25W1=so?@QMA0e|0MqcnB~2nY3AYHi$0d#%Wv=o<$#D=(3MX*Me|zja z5KCPkSx>%U$UN@X4HyYU`e@7;XMH5Y)W~fJRJ7H_NL1IZa89Oq@WeeBx79^N-ya<9 zkgcq{!qYSc76=&ASn?#wewO9lz^O^IrAfW!O)eK?`l~1kNrT>b(#8oZ;i>n@_eU}K z5!;pjD&i{wL+Aon*My?aMv}c4g^gF6O@4mH;anXp-pXM(m3Bt_7JT@7Xa}`z{8@;w zx&pNuX&+(Va-C|wY<{y=P@~m$d)$_^Dbe!lvIiaun0)A~Gg{Wd!C5xAuzvG|+ocZA zKl|g-Ds6W}jethi;a1RHMNuv zlNNidECUl83xx!MOTqy~?ATSqB&uf`edPsj!&%4sgc)w>=F5sE#Np!l793h4Z{K*- z8*A3{0hf>0hnxhlz0v_(DUbZ$vF;c7@lYonkvS+va;z=8m9$1=yg0u8oGZ}Ik{raM z$O-1mbE5j=@uqDpR_S@Ja7n&nUP58{hNyI5WHGLPN(;kab>dtm6XR^C>hsps1{oK6 zQN=i}ac5B>Y8~Mk&w2j*_5W1~4Ymt!V1nAD0H`io3vo7ebu@WBo|k!yw>zGW$^OVZ z)+k?`wNFTA8!(S$T%=^&TYzgKswvS$22ajbJCSm?Zw=d@6l(v0lCf1N46zDtc=XTT z^Tzu(Cw3v_-jv*czeC%3zBeiwZt53%9b3DREfolpcgDMyOP;l*6{00wzm~Z)9aH(i zIgoz8({F(5wkAm*)Pg9Hh9Glaz#~upSi2^+l*AhCE%sb}EoLCUf`%^6e>-;AbQrZYRA*$>PRP2PUW1C-(2odf zO&v~YY?CAFBM6)Z3Ss|LqTwY@DckD00x&g^vrIr&o61J=iLDs_j=WJZN|n&6X5!AG z4`Qx|w4^#AG7{d_Tz0OA!kmrYN}s8I$eVc)AiCosRN55}#m#JAjwq#2t=&PxO&$@xns!55|N>djNr zm9x@N(8M!Vrx8?A9y=5?LT57okvZ+{E*_g9XJH_A%=3zl4aL0+l~Relt`$SD&g+tN50C_;QG zJ>o{Ge}7?|=$W=Hr*Or9R}@P1g!; zYm+vy;==2wL=8EokA;`S78xuU*P;iM0->+gmta`4O(7>5!F zhkVa>YB}lI$ER_pXkNU|-=*_tUzd~pqL(>?6tzMh;hK@;iJ=x3ZiM(LdFm%j&7qIj zgNgS0q(>iOKt;gZoo^E_wYw0Gw2FdHNX)rjBR1Ksn0T!JuC#z1;u;txov+1K-|fCG zy$-T}D)suCyoie5dRt7>vbENEztWGuLD1&g)y9L*;quF=zt+RCp^Mwxt>cOHDlHF! zqkO9pcG<$RvpxC!n_|!?(R60%Ssu)=1T7m}I~JCW*#>|dl!i6WxsGv>ud;}8+Tz%5 z@Cp-_H-l&%rr`G(TnzNkueoSVunZSZhUNPRfwkCih(g^KM~D}gmtFjHoepc_t_~Dv zl|sJ5V9=ddzOqs)Y}$`+Ha^3Q5AOs?|BgHD-TJr;&lz#(drMX z<;?G=BPUxp)=y$}^;gW{$qX{kjCA%iM%KHN(OhbAcAsBTp0a1|?TUB3Qnex!}@x<9UgwY;zXWjsWT7c980TNX>2&W z@i3GUx+=4{FMs5bAyV9IIvcO63978I+3||G?5%iiCJQi1o@2#*Un(zaP0wE-UzSR;~$q=Td4F1 zS`)9O(03gg^z&)3Zy4Fkd!>_a^5ed8jdL0#1$LXprRWYurvKek3 zEdq3b9?t5aI`)327i{K5x5b}?dD`}NIQw&bZf|w=Ikack;qzr_0u|r#=JUhiY5Q&F zOt;19Yf6#A!ALZtuGx6+*F0^A=RcF{1M^iA>d~~jys=0|`T5fzOQ-Zmg3q$b#J(*f zilL?YlM7CDko2nZ5G42b9G>s*j^>^%I_yA~!rVeEy5$yBVTHNpu!`3B;H8nh=`l~e z|37l?cM_d=)WHYV!VbsZw2cO>diH|*KJ%i#302|xSm{t{&lR_dGJO5RyZlD7cT>wv zUuD|MxG`@XHozDvz32~^FQ-ohd6_2028fc+Lttbj*pFMtlaoP5`6G%~=xwd|%@LZ!FO(Jy1*e|~v z)c$wkW0G{9LzI`-x`=%yyD*iNZrV6YRcLMga3hny*HvVLF3m&{Q|CFC@_+Z1o`cY*+|@x2^5UKc#D-q!N__?Sbyk;G-h6|`GmYxEwGFH+3Y`^~g$E=rqDX2l%!8p@`9%mMqsx#6m zsImwvR9Fv0_^=)d;-FfGfY0oF1tX-A#9W`>NeG_i5Jt`oXb4nc5YDz~A8BAE>wV2u zI0maX4C10P>!63W(Sb)r8Ek&0iPhjH_>)aOv{#UKMwNUvfmWzQ5luP`cbAME>Y#75 ze)rc%C5=H;=>QEnS=+mVHhc+?0JN-t-yu5hOfif-mVtU7Ik8$5_J?e(kGCU{V8g6; z0kj-<63l}S7IIwa$qp1v>#p%sg2-}wgcVu*4jmVprdVPpM$@*_tDvTXzBE`y z$9zU<6Z|kheFR&(0^>pMOlWQJja5@#(HSB7FM>llh!c!BeJ`C~XM&>tg)salag>t{uc zq2kEf*p{+Ag)1^^EOzQ(H?SJRMahe%mL7zr>K2>|Emye)L2Z`(2|k&wML^>P%((P$mWF^ z+%`d#R^9%knlLV#(OZUy>=ifJKyU1m=Bo55fvN(sVdW|gLc^8R^WYHI1hfr2&(>32 znSxX}r!RT-CoTh&&VNqwT7$Y}?6~1lnBf$zZi5-q{~DKm*{z_YmHm*5;xvFci&ivZ-@~aGFruc)X}`0KfOl{Qk9nZnz=70OUq z>m=di6D8?@2zZUjJ5rBkD37nyXXx=;bJ!9Q+kRa^Hutt}wQ?#3)|SHCH>bA+{zgP; zwdbJ)cpCwcu@a|*ODO#8{1)RdNwv7gw%VtQKfRiMC7uq3Cm_H!nZN4L%p`(3yt4mP zTtz(;?#7ZDH1g1K@cz{mflQ&dzbzJ(ke+vT>qq`Q!Ld;k-TE!l0SW8TP_cnkd9m!)LO^wrYi_Pr zX=CIY4g&3izaaWUu+|#|FV(6#Pc15P>Sy#XCi~UQ^=ab$V^57KYM+pDN0hsX3-Nq84QxB z2$c>p>#{0m&h^YyKq|tj@+7aAP+M1yxnHQNa2h%F*q=Q8V!`r>KCBMe`LRw|#sTw7e3H+j#LZvb zgC^WFKcA|2wd3lt!)vj7Cgl*n_Oha@Vw*-Itt>#6bU9~%LOohO(7~CK%`|hKj!G8j zA-rQW6L8*@Er&`d_f#o=%WU)UvR*OJrkSiy-| zdD_ihBZT!^2{P;TAaw#pzSmh{nPyo)S=M=+Nq2f6OAY85bNy46neoSD_fKh?>*xEe ziK3$L*~XT*fvtS3LUy;c%}9yDIL?yEAdjx@^$G{RnaNH+_w~d@o^u0bPW+*4?L0GM zc1TZu)_&N9SrS?C%vIT{i%jELZ;%zCcn4&dBplD$oz6mkvoM=I5h*y@x#%z8u>A0H z2Jxy{WM1b(OY6G9SZf7juA)gHz@u44GtZ(l)^5iwQE}V_&F8n|FmvIhT=D6t8lqRNcrew2qsG zn}*SbF zBN-az@?}i6{fscca`7iQU2D~1#eOCXGPiUx zHR3go*YEc}29;1eV>tCpX;?Uam<|byjhvWW4@J0IS?(Onj`pV}hO^RQcvuMBO!;lu zbM!LSz0PmGL^fLnv|VxkCLx16O`qI##(d@M+J}&Y#~=|PQ%S_rt%lJJ$Km#pk}2g= zj@DB;ibhQi`yl{O3&e`-AOY41){);dI0ZqCcU9R}AxGHPdHo1AOtZvXW!+SL9v0hJ zm~+o>_1?dLD=we*ii$IxMIQm*uS+d~kL#tU?wdUrJ>UYt?xSzrZR`2^<7unwO}y)+ zO-s-HvhA;4_uJGsLDyRqkDbr`TKrP{Z4= zdcCyq=!(9}dOh)Z$=$Le*@|aas>@Dc7^QhQJ-apSdW&v;Yw*0{dl{{PdSH3jTt40G zxGi~j+T^|@IQdw*1-q!(-3^4E?0WU=*y>Oo20B%1TC({UJbKi&0hKQfPX6jIf%1#1 zg)ag%+O4Xq)pi}PnopaL?XoI?N&pAk&a%Ucdq3u3?5xQL=Wlj(DBoMiljE>JPqojs z@_VPUmQU&b0!=`&zxUcxKUO%}_zjM?bw=$ez-3Q-pcs4qzAHb8IXn}e(bt2pb5B3N zS)XY*enx-s)%yFHkNZrFb3TK+x}rZJ{V^|_nEfVZ`9d*q^ths199J;d0XGz zuI)ct|2O*hvE$`Iy&DYwuefFJZ#w{CWPyAK1_xgsa?&!L_=YM}~R`&j*`stqjy`|7%HPKIN`F3sb zSJ7x&q2H_TK0fOm9CFvO+~}vl`(wqlt?f@0=lA3*^7;DuxxPN9Yq6!j&*_-&)HWa1 zaT;#kQtaHTJ$ziRV*Vd||DU}0@(+LWAOD9lesA*Pr`qPNN=pQ=Bq?C)i*n&GQ5fAWdUs(Jt0C;!z{`6r)z>QkZB z@$=U|6_5Xa|8prvd7@(a5&2=o?enTpzEIyir|*8FN|JWMzR&~lPc~u^&|DTeV z>ih51*JJYC`g)>Xd$nq&?^GK3mVSDn{`R$(+xpvHpRRr1uGen+>v6sJgnxP}+THeN z9esBn-#`(?Sb~f2yB9Q!)5-{eAH3M-@ly_p7ztXLOdYRVW{qt96uy>C1ZW$@+S>;^ey(y5FgH zzp1NoU2atDJSM+YDfIr=Lz~yd*=N3PDHM;^z8p-`|JMvOm+Fa`2XwvJYM0xR_A|ly}oQN`}(?C@hv_js8Bs#p}t{{i-L+xu-n)*robgUBavi9Bh@#RWik5y=1s_kzo&)%-w+o<+y6@tbwmvwgE zs(n6J`}=Bz=jpmmFIDOK)p~#BcJ)7gSN>k@^>5Z*zEXMRs};9DsB^eh$NSw%vxhpD zn-y!<>-$G5{%%xA4i$nnpIf!>t5v4nuAeVzi^u9Sk13_@>zLQ->xTU111a|TI`$2H z-P9NVKU_z7Qsu~@zI#Zqezih=Oa5hr``^{~PuAJr*4aN%XZ3lN1pj|Pep!3`QT_dl z%Zn$HT*$8{(zR#O^-{+xb-e#wp?|H8_Q&=2`xSy$Dh?YJwZE^`m1}b1+x7nsDz<)< zUI(SgH*4RwD%IXr&VI7$u8*r;Y}mM=_KvMF|8&)7Qh$F@f9>zD`nmsZ z>%0AYN?-q3{=NK*iidyKtMq=ndR-5CeY(PS;jd@v=ucKpa9_Q$rOtd;-#3ZdSJ+OK zQXi``{F939N2(2RtFG%UU4>4Xr~1$8v;VYy`ej|m4=aWK?fU=Csw4hko!wjYDJahW zF8@XTr~GUA%gV#=*4Ni6MLl2Je7?@U>H23Y4u7X&_3u}hzg~Z5^V_w>m*np{W!$K^ zzM;H&v$nZWX{_;Kvt3UWpI@uken>f1s&Dcc<;BZN#ZA|IU;a^jccr#^xUR$BsXhEh zegBI7eYlP$j=A>Jo;?3~dh_Xadf!?+iGmuGF@o z^5s^=!e6RZd9{DS@k*W3kL&xnQo~fS+q6Kb*dOc4+^AQF`a9P)$GRSk+ghuowp;3* zUf=Dt)mUFm8V>d8v0m@AWv@?++P2*ps-F9D{X6NiMcYqx^&5{i{vPVpxn3!Cby}PD z#J-L(*Xxt^JL&aD>bs}vul4$reU93u*S5XBE84GN zV65#sz1#F*A4H*SD=q8y<>0i)fxQ0weGyV z;jE8m2JL@;a5yHvH)v0t#r&ueq5Zv9wNh(ysYjKO`Q^G~nzdsIwYi`Ahp9b?*NulI^x0Y*FR>7d?aU;mo!xT==qtg^mAG&|%E zs}|U+RoYj`FH}R!RZ}eb?x0V#){khv57mD=L+!0-pVt)DHoFUlVid}(PIVZx*wN=$ zREHKF@2a+)w4JSMgZWZ1I4CSls~9A$w>F<%on`QcXMSiZrd;sgE)0jE^b@ zCfC8E%bG=?Ek>nvgRv+MO&?FLiB=t}wLa*bN&6dp#ipbKiuMZ$yE;csPHkgw`=o!k z>>X1!*5o`kI1UGGSAz1!puNcNK3S7LHn9|iId_EqnAyW(qCWC*woicw%6*|W3ra-JdQ z1c}tgyGt=mu_!N$Zh_gVPa!P^UvYm(b7)ZfHlG)iVtousag$ROq}#!Hb#yrkEjP!N zCHRLHz@QXARap0W-{en=oeVLLN$)M%gK4i-vAQ^4*h)>VzwnxUR-;h2VNSEa;wX;o zA*2&6jiU19M)YCxFD~mkfBHhb=Du3tvq0aOR6Z%Zt>x-#esC>O)N|}~W-Wg{v8n_) zs1!4LnL`#Ht3BU(zOFuVlUFCl%w>J<)oU#q~G8& z8d|*f9{b?slTz2w>2}eT?SsyXm_6F7N78hP(O-$44oSiot`=Wk!^%~)91o7^E@Z)9lB;5NacS5K^z<>ff82lAgr=qUV%F!u zrBTsdroa_wiM$6K(oTWQh3!pC@Lcj0#{#f6`ug@xeMR{k){l8;*2fyW2DvyYCqn8s zJi~v1M`W${et%AquyaXaeJ+yi>A~d@#xIU3@V1S%C>)DZ%%uI&;s>?Rhh_}H^ik*h3+n*$ z=v|9vAHw7*{4Hwx!7bq4?IGBB@VV@D=~`n|>3<=`<1V91oV|ZT)}m6NIy}8P{ZT88 zPCsUaO^SipH8Cs|@DqJVcw>W04O%Oc;$aNCXL1{C3JzWb`eE|O(co?`y(Yt|7g~m_KQdQKKoK zEN&5DWnsy}{)Alwi!fVdo$Gu?VtRiXw%!!h(;(1CcAb#`tQdF!^S4>_zDiS2Dma|c zK1$cgSAo(9RKCU&lyGL7cP=j>6Cmfzp8+55LN?KBFM@w4U+0s*aKIPbHdY*<%sK{Z^U01^BVoi7*e%!81p+y{cH;$;sNiJeiNvLw1>5% z6$p5{@LYdkpA60!v`$7rqzO?Tay+~)a9S5Fa^$lMDyJMA-IjpI2=4%K?2`VM_@AS4 zu!@`~bTM=tJP<}IVQ+0$l^jZ+l9r!o9`FlroyVd5n|(%(fi)rBVI)!-G%fTK zV}xVs3$Slvc|)25W5bA&F(SZKrk^_qee1#FTg88$%CSDktZjS_5||VSx`Yoq23@vy zhoC&jp;7wHT#3spNvD7|`?8rQ83{yOrw`u8%;}d8@eV7BIL7F(!^iGp6!=&}%oN-) zCdrMFR`n?s^)eTwOz24SIO#CxIl-@fO%)(7@(*-i%0VroQHHUuqakp8x}+#aVT;eatE{9*NBBv zi_>Z`cvmSAQ-ps6s-*pIGwWg$$Pif4w1i-Lbsh;eU!?O`6Z}ZVJSpRbbRUs>>iaI* zL*C$7@G+^I+Nh5{Glf%MWvPLPB&ZwSvf*?PTHgHzPS~rMD_}!UT}b?F4UvDy%iw

w@a|~azpvT*8SjKa?3fi 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 delta 589298 zcmZ77b8siY8Yt}8wr$(CZQHhg8{4*R+jg?q*xqgHl@Y!46PmD8$k>xe6v_URz>T_{Lj61ZLUY-)ss zL^wq@0kqzV2|Mxx87o3NM&Y8Nfi%;<>*~O6Eo0WGgO&+Y*45p0{-^h}FKT=AKDzsT zKEJN+rhB!1p7Hvoz7C-O@w-5Jn=kzQXJWsh(gzSV~d*(oOr12h#61tZcpZDIx z!1^QPDpa-SHa2p0bxUk!_=L8tJaQM;-lz^Go|z6MUWpDM^FaMx8{LsS<9boR-R5Oe zu)6HN^vxClSgM~Vr;f=yLQuA#qfI?;98f(H@Y^nHoBE!XmOhDD$)^dpTGn3EH)L&9 zN07RulorDG8h0BMBU(=D3lZ?b2*1Vm(%bX@vf7(u@oVU%;Ms=U!qGzvG@n*p<9H!h zk`adxR=|aV_}3cm&&Dibn7!k325qvq zqwGOJ8-P?66N$ZHZaTwki6Y)TGg#}wKYCta54%>y1or12Qpq6nIoLKYp7q}E1P?TL zM5{t6KzKAx*MPVzJ2bK0vl5&*TmF~F-4Kvv0xw^vDOV(!4r@W0W=f*E@(IY3xuMaN zQ`v%WaBLUr9`HCvWxG{1Ji2`@3GEt&4{_}PmwZ){goIdL$czT>1~6qJ>Vz@+FCoTX zwZRd{4e;yMAvlv#^*qU3%t{$ZVMxP?fe=MR0Oq1Xq&0gGTW5maLq6%SeJKMJ{0RCJ zo{ZpGHU(L9}!_26z+?L!IJn===tVZ6_i45qM$2zXf!NTK;eLr3JdRKDP1fm!B_Zj4em)4!LV$F8-CS`{?ao^m1hA>DI4gmh>$0BH7= z;vTdhijqi4BY;Bl2t_wa=ism*%x`TN^weTJ5i3=x#9^QWL-~VOl{Nm#8p0K6%}J4D z60_ILSS57GyZLBG0|wBfFyA2Qos%g*Kf_vb9N~U9Vw5cb0`U}rXu4x%0agVf`fxFR zO=-bkk$W*KWK3&^u+qW?)2PZN06Cb0h`4b#M9SycFuD}EcZr2$GGVPfGXl5lwwG

O$=t~a>IqF*(2IPoCv5%q@w;jsObWD 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

3(e(_{rt-3~!M<^elZWF* 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�X)np_yrH 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

2Ue97%=lGO6|gFW7s`=ahD4ML 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 hT)dL1n{Uf?6ni==ee^Z - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/cfd_para_supersonic.hypara b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/cfd_para_supersonic.hypara index 005cdd1..42ef92c 100644 --- a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/cfd_para_supersonic.hypara +++ b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/cfd_para_supersonic.hypara @@ -146,7 +146,7 @@ int iunsteady = 0; double CFLEnd = 5.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -158,7 +158,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3D_jet__8.fts"; +string gridfile = "./grid/3D_jet__8.fts"; int plotFieldType = 1; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -172,7 +172,7 @@ int plotFieldType = 1; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -185,6 +185,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/key.hypara b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/key.hypara index 1f6a6c5..06a8b01 100644 --- a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/key.hypara +++ b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_supersonic.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"; diff --git a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/partition.hypara b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/partition.hypara index ba683a8..3e87df2 100644 --- a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/partition.hypara +++ b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/bin/partition.hypara @@ -8,16 +8,16 @@ // original_grid_file : original grid file that want to be divided(HyperFLOW/PHengLEI type, *.fts). // partition_grid_file : target partition grid file(HyperFLOW/PHengLEI type, *.fts). -int pgridtype = 1; -int maxproc = 8; +int pgridtype = 1; +int maxproc = 8; -string original_grid_file = "./grid/3D_jet.fts"; -string partition_grid_file = "./grid/3D_jet__8.fts"; +string original_grid_file = "./grid/3D_jet.fts"; +string partition_grid_file = "./grid/3D_jet__8.fts"; // Number of multi-grid levels, ONLY used for structured grid. // 1 -- single level, 2 -- 2 level, N -- N level, ..., et al. -int numberOfMultigrid = 1; +int numberOfMultigrid = 1; diff --git a/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/三维结构弹体喷æµ_算例说明文档.pdf b/A22-ThreeD_Jet_Ma3d33_SST_Struct_8CPU/三维结构弹体喷æµ_算例说明文档.pdf index fb8683d6caa4feddc96c26283de78ebdbd27e85a..4c9b51b7ceac18bbd41450bd1487a520670f108b 100644 GIT binary patch delta 503032 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 z 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

C3NwIR3(Gu1Gte{;G4q*cyuaa zzU4fBJjh3ja&2U9p2QD{6p4TDPjvGpWQ9FkP?Ou^f0@J z>;OOsafd@<8LlANhp;3`5?anwKB0XgZTT!KNc;^dV3V5`krc?cANR>??YBMm-LdE` zYe{bOJ|CuPKfZSSzPw>mS=Nyp=r6Nh=!Ab)w_u;a7LwYwV2c7aX|c#HTb4NF8Kl@1 zd2>HnnQL=A`0w=-l15M7CRYed%F0vxJl;&^h`d;V$cI5YoN+Y^2y;ElLe^oiZ~M%^iVp&Omj^)>0Z>(BglxRmGr z*a)>hz#`vj!k%T8nwJ$1a~ z_j!zqw+hhDd!DyvI4noYQZ13TUDs)?^6~w4Y~0`bAvBJ-F0mh-wmv2^^-ao(04l=S zuYD+vK(0&*(MSZugT@Bd^(OSFdZd zm7MyJ%u~G{M1NUE2ZUHM-LDu{SpX~RwpX1Z*llbZUDo$>Vp+#VT?}NGiZP1#AI;q` z>u6!<@?e-`N`ZEeqI1mjsZ`e!xf)r7pAd0RG)eNJfxjk`q%;}fS+EP8c@+l`%Hl6mQC zT$dGw+lh}064!Kw*I)!szGPuWTzH5zA!OrP{SMU{&sTFQOU4EKmmkj8c05tT?La%A z98r!c#gu2vG2$8a$hc)WupC)93nR*Q)!+f~U`U41Cv!L5(wbL0GLpX)j#r$vR>v{t0qE*gr9VW#-aucr9(VN;#i z%}dy8IlArc?)Nq1y+e(X|9F@D6)7#PE?{yziy2rq03TWiRK>fFj_{@OzeBCyH8Y}@ zZjjR{&=#_%@KIsNN6O2k@2@PVM~fZ?_;)?*EWxWnBB`VrV;fD;>Z3bsrYtpn({V4Z&@mHCxmuo8 zhJ;s00Gwm!wP99H|IC=h1y$U5p5K@iQO*BRha0RwwB^db@2G;A?(y}rg>a2`XWCJf z8?bgt=7?u$RyCeNOE_k`j)Xq-=$t!J_fR16#K4Il{g{R4c5XUsi%@(aby4@mmE>+J zR%|wVTHg!py_;w+TW48Q51LA)n0nG(Gvij11EjXDA^k4-_jP&(5OJIb13;$5dnvYUTGg2?_a*JXaDfO~&cvzyzuvb=lLINs78R-n* zC+Y+0tL>J*=3Rr>c;Z0V+vV1XI{$45MIBw7i|XLHAIa`WM+!&3!^ zUgBXUYkdR~9rD6Kp{dy!Ua z>i5lWB9ahP^%s9!LNiyG221hn^e>}9ZC2;)C1i?OfmL05#)1rKB!p+eB*+gbnW7+< zTeUNej64YEJaV9#QkF*q7Dg6whh*z|BNeB8Qv;9G)i6s zJ8wBMRbJaFTr_6ZOg0nIm790T8439_gK<=ZpNUeGYdJhg95JAtW+eCG1D_|JDW75E zy5@5yT5Y&@Z)QBAr2clR3$UD6OB=8KjJql3GDt5VO^se-EVLD84#$oiDE+4@!;(TN zwecfC+$AgU#*x_){C{*1mbPWTBQ;K6n8d2sN5IQmevF3DF3CP&8(4-DEiLz<9U1EX z=C>FPJ3S?l197JaFUSi^Yah@0xY{XrWIh+x53|Jk{nAdUw46U)0*feU1kX5^;Y{YAmW~%wJC{xV_i|S!xDyC?b%kOZF=oiD_`&i!#9E7|7a*cs zYQpVO6WuJhxci`yu}fLoT<)GJ;O3p3t}<_mSuIHSSC)+}A|%-|2z_0E=ey}En}d0D zpe^s$U!N3E0V>FV;>{$|c1qcfBak>(&NJoHe=lAAG9t)<@;H|!@p2A&*Cq0H+qqZd z#(Rj~2Xo?A2hiIlU4t73NKYnZ(FFX@*ORmj_s$1}!gL*?qSK~l{pfhD#I|?h^V-u8 z=lLmA?8;NUxrcj~<~@LeUQDMB5}H%n4tm_}p3m_ek9TPRL}+X8Lu~98$jOUIZ`u{E zMXh<=X-@rO9`6==ORLd&cGeZzJ>O9|9};(REGkf&08KlX=3OIPLT21=jF{i8MA9|S z(sm*#o8dIP^G&J;fWld!6@aYF^cSVw*~rc8t3%y`#J-=tiin*p;b=2VBF? zE#8Y}X>JUJ z?S2DJgzD5=n5p6owy$?nyEMg94>s_dvs8jt!~6T9ky1LIFXO0;`(3X^XB>0=&}6^k z)i}mbLf41Jf&XBC@XqwTJCIH;4sQh!pI}IAa2{m0PRSgdH4_!5?Y?_yg^v4c` z=>cALyiGN+xtn?a>*Rpn|E z8OG|>2H#7;Q!DTUF}2`-6_!@9%f}g1+QlkZHtKT>Mmr2fkJS3mqIvu_jsQo1b`!`3 zY?>#0b0-wt7Hqoa@?@n$jcn8^k?Gig#L?9VZn^Zpg80$msQuFVN#EE>*o*ZaI2dVJ zrKk^KzR-kg+rI0KQEt&2T(*W@wgy+5K&@)+aBA~5{0BWlDx6~+8OJu5bwpgWPh7+V zwt=@O(eGyKDvl;kBD}f8p@{dh|JgK*jx~%%Xeu4alLxO2iGB}!$k5Gu|95i7^NO31 zVI5Xi9i*mL&k(QlMWcHkqlQXb<4mv{HOnq+zs)h@lUvJGXPUy#%&LcUr7z7;>mgEc zX?R|jVShM#vg^|!ebdF}cFAwyN*3lkLBW$DnF!`P+Sy)gEkm zwo-FsV||}8bw@{0*I+OJ6*Xf-2EMl4XJ@j8Pl$P?V*wWv&qlIminU|~_02^bR|oKn zTl2>%%A`HtJ7%xura5FQHpAI(;WpiLhxU*XXx1jfZd6G3FpxH}vNo|XHM~^jh}?9o zdU7{|zl0DjPJB}8t@pazkn|Bzlp|Nm$(r|-T>_T#wWE4~piwS>oa1|OyQ)H~xS9nj ztMmIh?*iUvOzy@SZ;xJkXOMa7bo2S%kAIu`80F0b%PX`+TcQV8E6UtbYsJoFugja$ zZ_hjDJm@0$+}9^fznC&<@gT3=M|aPv1Jq}W3~N>`RHYE2&#(b}TYtJ6`=y6-l9$Az zJ*`UgSBp|n*B1;xwFb7DwdbjpOX~5n*Xmh3Ix3M#MO+Mt`1Z_15JD z{vWGPAm3o~B)Q6SqLm%lh8Sfw)0%t>O~PiPsj)6fYfW#iJ}9Nsy+^C8$LGYK=gVWU zq(-^qo3K>H_}I)fd{L4o-J$=qFub$s)7DdKfLHNp(FQo*=cxrZ5$?{z&^#2FA!4bJ1`bbjC$W$kK78Ho;E2+ozRIq6?dTESvr&>{Nx(TV;EqcqIun z<3t92rM3IRttyml$Z=)BG4yy{B~=cbh2KH(@@w~Wo{$R>t4PNr%8(Kb#D?G(LU*C1`6n z&Cm=fvV>iCODYWYVE=17xp5O8cgLhUrY(HjtIEhe&oB9UNp-ajRVO8Nc!~e18ELC82FKdygXb8}{fqoSP3@C@z+7WWd%E188!dni0>s7cik?V$<)zsNb1 zPjS2_@Hz>%I zYr1fza}n*Rg>eIM@2L^=%lifF7&w}byH5BKwuNvOf~5nRZ<0&mDJkQ=*#pPpg@4;# zZ&T-ZTjJnguQgB3@^J{Ry`!CgCA}*s2lDOq^>JRHv%`&=@BQ}HnkPGXf9~#fz<$os z@g+&&V?P<&K#6BQ{-sUldb_U);ZXI`^d;1r*IV$^N<;i;~=7XjlgWp3Xd!qnK*j7JmyHA$Q zH_I1C;KAzLkZ0BqYrX$Szr(sM!?x}J;p?5FGYQ&n(O_au>||owwmGqF+v#L7v29Om z+nQiv+qRvX@B5u|);;%+yVibpS9Nt)*Q%=Ss<)r&XERJV(2YCjXKtrgZFh0jzd6m_ zV<(-KjlH6gSxcDek>oLFbA#Dj_2F4VdjeesPo82n-w!l$xL@aB`H3I8qAzFPl% z(_K(~DLhPMk4R$o6$b?eN6zcZ1F)>Fhq;N8&z#8!_B{Tmp3xNp?`lWUG;V%m@LLhi zZW>z{3-rMQGXXNoFo-GseVN#DDvgK}j2==b%dyhy{8D$bv!)T)J$vq4hvR|b@ouMy zxjc$&#AX2Ot!7Abcom07K7epZf%`29?peG{Ll@Bjc=o8#*r}p~%kJ4YU7%>km$zbx@2hyW)^Q zh{ok(Kaf$*`>A7&YIX;Cyzuh+N88VBE5gHXEiHVt%2`I0K~4d;pKm{*MgD7N2WMkv z`;Wz(6r78h>wnqIIhYy$Z<~3c?qoIDu&Oxp_b@_Gm;qw2>CsWr@Z$2aQ*{&KAWo(H zC1dZ6(7#T9E&O;_k-9xu#ygmrL_(3{pkaH%h0$OzLh)sqmTUfksl9j@+*E>_twujIq}AP;B&TLR97vY0G>}&a>~3m?sYexk$KGN_>~WD{3oXndfoYV zILxms+oqs=R_F&J6&A&EuDD!AxO`sdwfzXWXK#CBe~9wOaT}u$DQ{w*hGFyU(*8F2 z66~Q^OsnPQHSdT(_A&nj>HuaS`36~NwABwHOQ1@s5{HkIC2RglfCN5<6Btq-1o(eG zpK)7*cVly(Lb8&)P9S1%a=9!#zL5({zLC4K*Qj&3vvbGLKW539`Gf2wmVP5T?6KE5 zd z$f%1aF?C3fsK|a!60Iv9aI{a-7s+^Md?2g{XP}Uro@JODsTO^p4{^{KTY*&E#Jk(j zEJ#zv(s*DVI-?>ANrL_g-{8$JNP_alg3kk3%w)X9eX;F8Z0~j5Y>M*petk};HGS%S+!d9qeX+oZ!DIuVlqqhSTSj*Z;wS`3ec|^W`RIvZj9hW$^d4s zQ_Wv4V8th#ZLuh1PXBtY{o(q&3~;~e!BExH%0wF5greZ*7~3{@NAi%hsgO&%`5@ls zbHlTG**_UbfU`T;;Xq4crJMcc5FY(X!5KCTvBpY8CcEpO8YJOGL19Hh;JWH7(fFkx zA(J@pp|udl$m$|z4BS`*SwwVNMCARh4Rw$-M$q1W${IwL7(T=s6_fCCo$?ct0YqB!HPfO;FE%Mfo8vxAq+Mp+c5}&dt zGGe;(5r;KN`-q5Y>8{Lohnh6%K9(>%h!Y{#2LmVzRy`JkfOWA+l&i>Sy1?H|;o0{G z0h@V<4#b6$mT%~EAT$py5|S7s=y}$XZ|DRzkP<^xVGfHy0`ved)5>T!>f}&=ih?LZ?%w_HO&?XZ6 z{5MFTdp#7Q0O!#=Ls};3IXDWrNx#7XZj>P&C-K3z?GdKLPZU%NEaX3Q~sts$fI-!Tz1N;W1U{TH)ViK5#XlD|H zz$k?jg8TCcr=Uq2n16x6>p;VcT?Q*D@3k1| z!V&Q=vP=uxz+Wczst?QTL+QlTzvgOyMGt^F9(f8txk6!uhM|+haEm?C9;rk0a?ej9 zeX-in$vS%7(uif^<7X1h)lC=0ml&cA`#`}SBK?T}3l>%@MGW@`K1S|t556vNk20=k z1S}1>^&o~bffJB32{?n#iAc;H6pfh#KZJO32~IP>5yVeJH6w;R z5}uMw!{L{LHjjbLGG>HB5?wB<6&^_dHj$z*esa2GoNMI0_yW@c9EQIyC^{q<3?9^% z#6ihEr9TAGbo!R%LR4FbDkCoh^NY~=3~zeA%faXMM#HlJp()3W@RQ#yNYV|i;6sFYL2`lzH1f=`5DSHc z@i)HQ=%)61DS8cCfTE~lUctjdo&253yN9>pQV=rAG}8EW3uA;OemkYlUJ-R}x)n5n zw3}=gg~7y22KmZ38Ep*pGw64h*%*oru-g;% zgNfAilB<_kw5}qM_FrQhLW7^EN^IyL*EbYn>ZfWkWDyujXi;8pddW-yLD)nMD4W<* zl%_-)G9-Ni9 z%<*-ux?c)qR5uvJ-5@7&V}QpLfaJw%@%tPcRuUA&7pDr&cB&W^(>LziF&g7 zGbV-3Cefd5tm#RXUAn4$B1hU0$u!>hM)dZg3ljBBKFLfiCfBV;q1ShEPyF)(uH6qw=Ly64#%VuCbQ6yAC5r@;7VA&j=H~V zqIcsohnIeh>vP>iF4xxW0|QonnURNE@cO|-3>^AZIUD?y{-xQYWt!5o;F+zlbz%Fb zO2l<1Xk&dkck)KcfHsUoUo$U&p<%<;PDUSy#<}jpF*c0d8=p1F*CnrxKiv?}Uj1 zuq5J=rooBwt-*0^E!vT1pXhKP<#E3&G9_Q0k(G&}4h11hPZoW*Ap)~aIxU*;tm6Iw){Dzhm4_!5oWyq* zJYqh_x<-goyW1SR1GK2&YSHkZKTw z^xcBKu#2L>y+y%sh3*N4CL0lm%>`SqN1yV9+Tqc%{std_0s(hyz~tTE(%RKRrh_w9 z9DiO4ia<9qur>Brfm#?^CLp#RD=33fiyJ1mo!2-UX1_Ye0x*2vk`a--2-?iETOW)< zFz(l*tR)upI^1s0LxvZlCkXjky+4j;cV8FzKS!S+5d?N;M~f3Ch4?#tAfF>|()L*N zeGof+U^j?70=E!;aX|l{KsF{XgNNQ#$ChXB?XN?KNx1*+5W4!c1}qx91NkZ14e2uXhL6+J_3R-SbMN)3jSY7iV{SXHQ4> ztAa0k$Ir@?>@4iHIU%J;7RV64RgM+y&ZfLCKQFvzD7=XhsYV^4nva7B@egq);no}& z*D~}`DFLFnEGUJEi*>)dhst)OiHj^CGl!Sc`{llwaKq0<`>MZJj_;%X^pnouTCj#0 z&ytWNVna38RhfPy9>N#TgN4{Yvv$ zfTSAhE~4FczEd!3POQ@dD2CX#UdchB{s2jt4^IaXhIJPFP%@JA$J!aviPQlAJAu;} z#axzIl{}5=XYEOaw(CVklEcg8PH}ofqe$oHkAR;(eh_mqG1Z@i{!|xDU}y6=9XeV? zPiyJPozJ5=A0t4=&Elc}MQr$KrN7Ukw?Z~5wSj$wZ2n>o18!0fv1wA+O-(ksrkn7m6{IyXCFIt_y!rMorWB z>c$B)&0=WlC6bp(#?InQAO2#((Ot;2Jh9$b?$3@K66NUe2l|Ku&$2hAlj3W>iqn5p zwpI>#GPGrE5ysT@z24Js1-$PZ!^#gjTkvZJ%+tZ)#?8;y{yN|em3${jXRXRlGgKuk z)V=*(18F0od7D@RSt0vsmyNuVx54SBjo0*Q5fXD-&VP2mmERf7+=PQUml@44P9Ln2 z*%OM2F5iPSlU%v@rNwQ}w2sr?Y8D2z1@9EarG09(Lbdz)b?G zX6PIO?@j&ue(!tpw=tu_;*J~Wwr{H!_egl}i|*MNJ)R7D;7?cH4Db4nr;59{k9r^2 zLaIIv5GPp$+5&@deuwQ60%(eZnCkv+-9Hq=8Q4X_a^P2hOr3jF8Z?U_uu55SHF8uM zKa;_jil;bqfjV>nCmN$9`)(K7^;Gvqx0+WZh3HN0F71YV&i(Kv*KT6Pa0PaeEY~9M zmvn!s>?L^e_uFt(_T7%B<=y(l?AN=)4VTB4;ylg(RUOBFu^(Hfbt*UEP*otSh`1d) zzU4{9gM+F-N*v~^klq=TXD#90pkM6&JK}(z((2K=i2^`$D~(peMikzTzOBKlC6;iW zF{(6DT829)*$ClsiPfvMe};bv^hEm(M*Ft^`;x}H z31+1HwhXW4l0QJ+Wycne0*^`6%jf#jc;u$;@gT|*4plsPt^~^ydvxZ_^K5Fo$8m{r z-pVEgj$*o|FZ-Xr=^wNUSl3eoqs}~|PD8^#!h>EJ31;Sx@)t4+Xg7dP1^@@^9Ncy; z4Msl@eok-o$EY1MtRvWtb0mv$U_G)vgL`wZ*3~t1Y+!|mp@c+@JmLUv-}|!rcEa87 zW>|m<)mY`o%XWr^S_NA~mqD1SmU%A1t5gmf4vnInW}rJlHD#OjU(T?+Z>27rDTXD} za@5btORtH)q1D-$1ebsf){^busJn!c;o@FdAkA|}?1P$-W!X=5Hn;vW8>uBsb9b3O zdijcS5j{b3KCbSH=+VTCa^nUW~$HXDPSapax7D&ty8!pc^o`5sA#&Z{??E5;(VOK2Jj(4D?TaWs8`v7R`Q`_AE&{p5y5 z+KoEB6J0C4EYVh%#rMh5j<2ODW8}5w&W?YQVu)&C%i3rS|e)JmP-ZBrWCP6V7dExo!{6N$EpkCr1g)cO4GcZuEEo>k! zJX1*X^W$velAOoyRl0~A8@awWkB}89qztAjL*0&CR3N{vM2cp|SQS(bqsPaGR*5l< z`nO7dEgRVlNT|Q9OKVXtX~ZtKF+WAOvxW3JpC0LSe$%-^W49j4@G6-~E0^GlCk+2D zfN=So+7zg26bOV$b_?llG+}GVbhJNT$7t7Qx`g$EF7T>Ucxp5!9Wv9hcJ`J33r#Rf z1aU6Oh|atY6A4PiWK;HJsudk?LazDtJN_jRlSD9& z^=dk>-P8aL%r2Ogq{3z%+*FbB?rfvvWTh019ptD3!56w)n7kUdtQ0FB~VSRYozPrF#920|se1Soq8Q(CXKC zpIfxqo4e*#vK`L?ELJ7F9)lexoswHzX>4WD`t$JDxfi`HkOIM!0VvAnVanooqwAj| zFawzn&B14LbsdNov86u$Byv}hBUn_9Lk^?pOp;pVE)JDTLSijdPpt0 zYeUuIhWF<_lJBX0*R{L;$HjgxIE%u+^IS2G+qFztSA^6(09l(kXX3Q25{QL@!gU(#P6}pjw2vR7q1Uxi3Cq>qg>;O`4$oQ{FUAjU% zv-B6_uSiX^_Rw_WRer`RyGYgj89BaHb&@#-@~F&Qx*F$#H~1TUL40-3aXE85-Cq5l zHUuv_Cml>)e?M&)3{oHPId7l*CJn((F!_jI`Ox{Q>jIKg~81W?2qS%By0xbCH@jW5Di0!YS~Si+@e>WjvXJGnuCkWtFQS^ zzum^>HoAn)^w9Z#5~658%r7p1t8o1)!A>tAM19Q}!lJdipC)<l^KcRRZsrb|Xg*;}Mpogcu8-kczPBWIJ2R;HJ#|d;>nn#asgB%%o6K?Vn zmk6XZO}U&#Eb^8yJHS8AeW&=`mbDW|D!qkB7Jy4ik=HH?$oiTWP3jKKD8Vo+K5$H| zzWst5oBl_7yg*73n?QQ{|AulRx;h$lXi{_Fz4cEHby?hDPUYL$u}bem^cY>=U}eX} z7wier=ZHk=0d`9fPxW-_%iN4fJ-rPE6!b0&fgw$meB_~UcDZ3n^a%~$29>mJxrNgT{dMv@S?2;X3^t5S1Ra5@BI(qP)^jNlsb*KFc6ZH=CFL=K zG>9>y*KJ}{ueVe?DpO)NhiFBgf-O0dy>a|dXwRlXQIY9}IkE7$eyP>oY|DmSy0Saf z@wMkP$*h8Jn`=_H)vu4`>x-+$wtGO&%Ea%F6B&MDhI7ML&VM{_Y(iGJZoMFit=ctb zI$Pr}bQePH+FQBgw4*^LQQdhaCX^OwIOkpLlU?kq{&-`~D@i>bpdW9XzlzQ9>NbNX z>k{3nq@9*-(3WoKNZr$)7P6bpQPGb*pk7}Z&6{${+$L4+YqevH($4PevjHHj&pLY( z@5G+`?6$+JTvJ~cZX2eSnIK*5Owvd%Q`u~@V_K!qcpRcSQ7oBPyPO$`Cm#KB(O9J> zVLIwMPxUy;2C^z)fdsPJrB6yDx(ct6SbvZ$9>gD&ZEH(JqS{zX9Us0orF# z$0Q??LR@Lg|4zqn+<>d#D5HOvDYp8I%=q4&GtrG15--n7ob4x7>$G7lyhp|jxx+IH z&vpN}>iiB{&Nl?xhi$7t=10_KY&}b2&*O!IVVBt{ble!Q(BDxafMIK>fU)BlZq#qBmRxY7!>bbHqIwSA*R-2v+<`b+CHc|WRG zk5wh0m`O2z;H9x#vr6}$Qwd8*_(rk|0X5Y<8Dz4HZ?a2gtRz$33_@YVKN|MkHPhOq z7d=Do&;AL^+4UjT0=;Dk!$jS-^Vr#kFDVA2cZASCu62K0ohk;X41X}jBys%shgslf zb2xXpA(&u)^{KPU~^K5{#a`Syr(E%QBt<+;PD!1Pn8L3_{) zQ2l@{QF0Tl?)7@6F-5IcY7(usTHa@}HdS!p(PDBjm2i>2KUSK^G#x27;qp!<(@rG= zzJA)N`?6Y9nG8B^k>Ev2BTI0zm_{@oI&D0gRbDub);Rd=7-X$Uzum!YO)))qwuT;L zcF~&cp=bodhdID?FLqf+*-zan&YuLAE!Gh^xB_>sTlo=2$uc$Lvx_cYiBpM}h*j{2 z7LkJYrDsrjDzkyl2W<(8#~i#Y1x#R{(z{vRKpqPA&=N*cmAm&c@2D6Bk@l##LET#T z^psD3BZ4YpSY5Ce1$M#5qz=q_=9-rer1WKF`mRW$kV;KcW{i$T8|lS=tt(=8{j=jk zgq~uPvy1hw=ZqF850!OxqrZwTcHpM(w9>xocz(2%gh@&f?Xnv29?SC->lC0&(Llhy zc2I<=m3`{7L}{)Ke)ctm-IcK4;3s?cIk@X3Om<8!zC!Pr4V`r6j4jLK@nb;K9a*Kb zbhWBk2v!qrM0KQW|5P`Slf>cTAVJ5cdA$l~5WH<#s>|dH%>l5<<}~0^A1=<*oq#nuY=x@4gZoZC~s7kczo3hKXx}JAJR+Be+%}r z?Zf?hb6|~Qj6>s3!DiXP_bw(SCl^!|k`6;#ZuxmGFUascjV2*9LrZn3GG1sX=9Gia7EQ}6 z%7SC`d138YP4I4Odfh3b(8}d6 z*mp{EiwB{Z&{k|q0EZ?D#rGcln;*kh=hq<|&201hJR>Mj_dZ5mQE<=sIEm`+zUJVW zE5bX~1l2(+#ybO@`4typw3kGy8<Cp`m7bvDKe5RqFHi~wtDXYxOK+bQr#5OCCt94thPMD|8j2(Y}o z3@V-urVI*3R?0564Dv)QEbI*8mQKztL@aE~tpCes&BDm>e;chUbthv?hgJ1z1i^kh zXwDB0#DpbKn)O0zLjOp_G98BefE@q<`<-JW+XD(B*uRS>}C6rOA@!2}mbM>G2yg z)h~*N56LUxjx6agj0^?6C^K%D*?OQBkw)=m?zi0c76gOU9Fg}>1(NFnpi=JQ_CA?hR;Y0^2DIlG@+ww)rMJ7hi(}u`zsTdd{YkY z5 zmisIHIE2QXRaiL{KOcmvwZ>>U9$Rlt_uJ~G#*FNmHb~NHjwCe@ocHBqsY7!c$;^&B zHsm5{p1kz6|0Jnc&hsH}FoO%pYXvI4zfE>j zOwoUZjW#rNgf*=Mzagj8hVB$-m!P5gHs-|^7Mhg{NB)>Q&HNsyN?)KTrTi}MC#Q5t zE{>H_3q7qtjm~uWMM^&D)aZtcbjH)qHWd4k8c8s@bZO0&KwJc4YDXnshm>L2=13$$ z>4r$jfR*749a(uDis~N~t`q^P(~eBnXv|_Qs{^AwEy?^qz>|YB+`l-p!lBS7yu0O^lR~W@FwvB}<8S`^xqB;(>Y`NJlH&fL zX#L5O25hNobyUkREF!AW_F~F&%~b`fR_YO6Dkp3#r9&VBE2BqRN2^z&aveI=K3Yyt zDqtlYI2V^ z7#{xgT^Xnyd8tEGa$iL(xcu_gXREmFg;LLO0yqfgc`M?tnaU0BF8HZ7(FJ^}aMX04 ze%dOa@5!h}yFo|rm2w7hqhiY|ZFWd%t~Zp!PDvr_lzx?Vt8V7s3LWj@=;x2Jca0=9 zN$2zA22Jx=c?8hIvLBtfCAupo_Y{pb2KlTNQ3h?Z*^G0JcH6*MC$5jr+< z%QEEzv+1RQ1v@rbC2o1ubRE^U4Q9_QT={L0qNbIkJ_*>-JmqmowkgLKW$7-x@`1YW z$>S&GG-{?!ZK-*eeG13=(LtSp{C%x=KrKK4t4wac(u#JGbNG0CT+h5k+0(pw#Tk|` zAJ$a)oMd=3wogJ{)yE2kYo18{^`Ju*tx(&?Ryu@PHLdhU8euatUqoq>T<*Ooze)Lt zQgu|`S5Z^E=!w|5S?`qfPx$~E^(ZlAl6xsZ7kAH3r5P$Q$HT@_cbcRsqp&S^pi|AL z*|ID!QDBEahpZ^CR(D9TA&oi%rCY8l|F_03&fstqp>6~#SR5XidU^L&={IRMuvTe2 z8FZDemIhb1Mr)`NN4~QgRE0%h4@aFgn_FtYX^CiptUy;{b*qFv`6hE_l!kIGHA`hs zq8avj?F!F)*V?B2E|tz*sxxN~7zY*q8HgWM7LjT9Z$gERH!H=YtQAv~0^cijqU}R2 zZg8o`VQ1KlTB+!OnHfc<5j|NE-cm!S86wY?EdCt~F;mh1eP_p6g+%^Jh*v484e}IB ziu{@F+@vE{0l2VtlSj(|tl0$(qGg1xWCtYk5l4LVo&CpUHltEcxD_s1s z%SkD5DPP!7dtDK~%`Kwpg|{%H%-GGV`Rue&FN67Ab?Vn9j?E~y&|x0+inUIe)q@hf zI=-|A^`5HFkBCH9H<;0}r$AUzm}u#(!iZW$L$xR5E)(Lex0`A0F<3k1=4d;@^^c>c zyQ2vT!t-c5{Y-&Y@9Pzyf4!hU{X&nI%g@97F)(72U7uY-|FepC>~VZr`;pXdAzJ@= z)cy^JG7Nz>af6$v;9Vv4rk&m8+@oBA?AK_PI*&dC?67~kfaUIIfpKfm#zA*mmd1>|C;@TK5iHS_Us;k?;}YW@daDAbEt2@ zmgebhO*SnV(EN|Kyc|^*YhI3rlKaEs;(1&i?4#*s?<-eL+?|R`mBZ7E^GTPFV}a7# zo4!v&*XytLU#|K-E;3>3JEtRm+LpQVNn48CC)#TE7rMqZfx3VBG5#CnJ;KF27kF%F zB*)4ZN_*R85nf;cyvd0wFRY1$1+MvA-)&q>(+B`hDM&aDdjv*EsJ6r>Kipt&iFb79 ztY0=UlsZ85_5{cCU;o;w3^djqz({N2Zm1R8c2I6>3h1^)A0IsJ>^xlrB9-JtCtwvz z=%z#`O!-`-SFz#h1eK0#ox;{5v~UEo{{441Gtg5w&Ox>Sh|UHW%NbTjkSnuV`&nwU zT8gpW^8Wqz3$107=SW(EZ8(+y(8JcK4ii%CdP}MhdtxlYvaQlz`X2 zXLHU7{ofF%?irV>pwQ9Fh z*|CDeLj0vGD?a=l9CrS&$mDkN9AxPA&w;zQt%yh+0T^cDcAU#TUF}H@U-|1Dh%Gkr z7T@SOVNw+`-hZb@Qb@pzq%8esE^xq5TF#YE(gk;;Z(7^K%VN^ZZ@G`RD60L(5B@GZJkGjIzVmrc)a;v$*sXH?8f`JKwg(WiG8?0`)4aVgoHrx{`FqTx z@Ar5)qK?!RV#yA3zs0lX3L`eL+EVms3v-VNbgV9Ix7s}1fdmx5x*QrJ^cU#yU&rpw+OGr8v+i9TucLvVq~?4AOn_|T zNJ+?~CCP?lB*#oTgw5Cy`L+1o3m3`{Vu?ZK?@vceo>?9wQNy?sm-k}@(>)>Phwkpp zZiE-|?#1rzn@d?6?Jd>5C3V^TSY5rV6fxNCOWBiHC;BvUo|BBV(@yXKh3$jgJk=W=z&?L;&1 zLiKzS@WA+wJdeQQ5Mj#9*Ici>)>g)%@U9g>GE7L8_{{{8sX{g&Cc9F5#>XQIGs(tw7;G=25)=$biC*P4K(C(JzEb-|puB9W8d(K93AOlhQRBe!L zSwoHO%&O2`ryte$l$rkh;Gi0?y z39A#$NYt_*eM!SH%x%=VfAxgbAICdG=Zsg2z>|PYk82ZOSrgx!NxrSLbC=ep+{|r` zpJcA)_J04X#c=yQN`90BIVdB_6itN1i+^T&&3LMzaFfXp+tplfV<)6*4A19(MNMvg z?sbo-4J$<^*npjY-gOXIYb5)fX&u{Y3(}xZ%gxm&=f#J9XOS4pM}ImBJH@FTs+V6a z`QG>S5OCOFp}TQYRX2= zTE!p#s9OzXNZo9!gdX^zfJjj|C9u+zY;p7DIa1v?!@H(9*0luxHGa@U5&rGUXC< zAtt=wBcFioGUh=6qk%Tv6+iYfP`ny=IxRvfyoem;4VMX^;ZeQbo_?*e+ew$HZdF;Q zd?R0Qp+nNwf}BoHLKqtjHZ|=(Xk0RNuA_+etWxv_(qsve1~Zz|w7aMZ8L}@vu0y&% zb_qM*u~ENs6fR*T@CoByjk?B~ewiiM{KpHP;~26(p6oyOnjbjNdwUqgoK{2vC>*z2NnXXPDCD#Z{NkB6rWN}w*Gy?COvXVBu_FV)7Z!Ei4j}T*rr<9OTLSS?= zb22vo7NSG19uEko+`0ZiL+MMtE^pw`;&H!$p5O|L92C8^2V!@8LmQ^YF-%%`Fk!>?EOfGmB57?vixCuI4DuA}b zlN_kMA(l&lw{3;b!vtVuz4P z0k}jTsJ9`@_(6g>o4U}a{^c(Pz--Y9JZ?3_^^T@rn~|w4m}3}_(z1Qv7&zAWU8^G_ zG@`PT+_vJf(--dTWqc30vsH_~GId3+x2?$EUJ_=98Lm#dLWb1ol7k5@Y?-Arnyr<- z%r++VhycFN7$kpO{#Coc_d*|f-q8kY#AY)2Ff?2G&iArQ9Kwni>bG3!SZU`zl|i-l|EA0)kPePYn`AAFuzupx zd4#XD*$`PRPgYb$!sFm7P_0f8W%*jnYfqyDMUzr%EgR_oJ4+sYRcu=%Tox@ZB zZWxd@0RJS_lYn_fzR{`(B-}cg-!u!SI&I6eMB!D*1swR?kBqH?OWXa>j9IwWe4tfr zQNEj*vwqDq7t_*wchaZDySjSXF^#>Ce=--0(s-?SitXR{&$u6JoKqJrcGpFw{*yP| zU-rkIvMl2Bkz{t@-%8P#HG3!3c_VWsF1`K^rPoF8zUpaiD^!Z7@n}8b$-+r4_)pC- zAo*JK!M*El@v}@umEOq-$vDLFry!pL9qzNj0j93z?Op~LwY4@D`*+4Kzw;-=Xg5rM zsw(!)S9g=za4TAIYg9Y6)tW1}arQWZ^*x%;5hnIL>_eP^)4RrJF}}Mj_Q6C<5@l`l z4p$$)>->$-Aq)nSt$kRINCrH|&S-?NwYt72>b0a_Go?aoQ#ITJMyN9@!J5)YVh}o* zu~BeKn1nS@d_+1himnC%@GKK=I!B@rpF$ME-Z19tEH@9>mZgz{u0#2JyJ>9L{M^mD z9MR-MhsYwpgtt?tbJyxRH%~ifo9lzah4Xy&AXk9L6_anrF>W6Vf>2A{YY;L*hz^Ag06s(7Ndoq6~>F?`;`el3D6EO z5(BCHv?x=7afbF76^Y^!xPf84eFg?&!@>}gpc3d%SP`&@uop|iJ*e2J_UDdeyzXDG zipm=*EN++12X+a4I(R0Xuaia zyu&o-j<>K35ayOZR9sGkhZ=0Vj9otwJB|T6k-&AA;P$&3sYym6!~2v${RO{P^$_pe z7Km`3+!oMq`L`R2W_ZKlSVO9`RluZ1X2^gdw08(4P`chQDWjdJ1qRHU2tHzSjl(>%*)G)!O-$?E2B_1SN0N6rD5QNd6 zzjX?GjdAjlw}%k$k++6?@ZRm`F(C0=rOpw&Tu+6B@bm6n{s3Y|&hTG%{i3@A3HB~Q zM+t5oInDO@s)t*c(tNi*pYXk|QU?gUu0TKupLvFmuI{G-LkM_#7W;R-g9+1I9>}{x zPM??H77rYS4;|4?&Nzu>Y2YR>BUoF@;E^;yPYW2ir++aLV-tumT&;%|bWCX@hkOKJsl8#l`b?%blO$HLWBwQB4OCll&X5=OAvJdd> zqc!F5#j%F!*ltOnFQ$F>AOXLm^bIggjgrAj#g~)=_|X4{OanU6mSh5a(Zy%@eUc%EklvI2s!$yX0T3@VQ|i6I9>bLO*QsVYc{yP3 zXh#JGGnk{_CprWLAST*-JTc8;Qu|DC!aPaI<52*KZu3@B@&qmR(!vBS{!+47Eyysc zf-tUvFsXtt&3qUSJr7v(9lJkaVR>O`xnZTbVXe7gBRM0DXBgg0ldMd=EKL0@Ooc2= z?ktYx3wyYx8;QWG8#%d4QIB=%Oj_z}TFa!dk(zmUB__~zmp_w)X)xWKbh=}y?Sr@HRjrYvQOVSSTy1vEcadC#4BSvSX1=ed70r7wF z@Yw9o(!_4cIGY?OhhbPY;27GpU-vAvS18w_mhTmSh>XyBQI8Qq>?Xb zCeAs-Y=)zq3E2k_1D0yDzDY{1{6TBNvxG~;(XhzaSdVwp9Q~=W_opGiO=jgHnFJ3; z5ydN35QPYjZq<5qf2!*;fo?bo@Lw8G+v&)8`?%F*xwYi=D!BajLlM*;NesOCpJf_{ z`@8EoTduD!j^GiL^C2tyvYoR4Vqb9+C^VaM3cclblt%#nx3wQw8HaxMs*~RP`iHx> zVEZAYDx*bR&X=JDRDmjb*LE3O z_V+D3nDhI7OWBNkraGL|oNMB2`d|S$OaWbLa<@HOH4!)|xzK@hH_Kow-@!8J>pJrIewh4)P0?%$bTfHl~?@Y&|Ad-dgp zM^L@{mrU5gIp}3w0JkSnOW?y?>Jq$KX{3u}fp*en7z1eafesR#_+Hyey zazfwMaJZY&iR<->1%12O!w#&~l$PIaAs){Xq0tT=Y_2SM4w_xc+;nO@a%Ac+FV#0H zFXf#Ne5r|aZjNztJlK2=ns!4OZX5cCQ)O`2E~k%%*qt$~5{w=IF^@JIs_%mg{%vPw zAjdL29~@r(+Ungpjap^z5l5&2*XtyCIrYcRi}+_A-ly#xW0+xMjMiJ{*qrkc8`i(k znL9e~FBQfxO|4#Ps|?8=#2irn)*ydV++_vj0I`VK^_th9flg3u4!{sS=V(B6jJv*5 zSpv15cl%l)x&WgEM5)nPAc}}tA?Y}RUV_fFl?e5kQrTNKaC9&JNiT^h@yi5JrB3Q= zZMMd&bBCp0cTtUPR6|-?cTh;f!dJdan-EFjJ3keT)KnmWBmE(De9wRM4GkVZGd^@hAM`u z{f8nuDO$hvTA`|-;A*%Me4N&HY|!6;UHSd+l_vvgRr@!xi*YCFtV%4#4j z{EB$48~{&&5eV_xo>ipdMR*nl7-WqeWnroX106u<4IgDKi~70mCk?3Do28c!B9=Q< zIT^Z}VQ;4cyvvt5Dbn?YYA*~M+H*DPF^t-H9C08DuCQ9zoDH)N5U=1?4eM%fZreRJ z%H4$WUeutinuPOe2x0#ps@^%gvSw)?o_J#0m}FwxHYc`id&jmhaV9n=6Wg|J+sU`* zJkL4r@4NON_tk5y>UCe$Rn^sNHyVAl5Ae69tOGrIboA%Of`nuVe$N9!M3;)C#$5nJ zmKFMQjedlu0XW=t%&d#6PBi+fREs`D0|fWaTY{}9<1uXL<56s2v;i2W^pQU;xtnAZ z`Q2kl{wfD)7vhzqUFw%+vo8_7CmovEfr7tFu9CV?$Oy*o2&Ym2QXP~r2vSKKe18PW4#_I8j}M;$;ZE>mX} zRJqu`XH1sbJ{N1NgD$S!?G;akSV4x~Srhu=4|r${$W<6>uqRLQ*U#=;({P1ftFdz5uo$Fv}2m zN_?w8u8KYo1g{E0ejf;aVTBV^hPbyw@<*~n>nUMWP`Fk6#N0s=r1kr5NxVohB>#>c zK^&tA3Q_V)Axslew6s$Iz=>9%DgbTyZISA`>^pY5Beo@LQi0qa7c|umK)|p{Xm!F-5pt`* zz2!Y8r|$m;@?PaAfNjoJJ$wZWGq+0A2V$X{YVO{i_@rN(-haL{bzA93VEs#032uun zq?OX3KB{w`ZHVn$EI<(PWYECoT`)r7c8q(`B}hW?cNS~GcQ|X&cN%XJ7p$tlQN`*|`TUJ9YPr4$ z_eg7B)$)A__<~nP@5z5t-Gi>dsTFL1F6MqPFKQWRow(WKdINCoVS#xEz2iHIH--zh zcIpeQH+GfyJItEji^>z;#69b8WUJ1Jd)zCJIlCU&lFfk3+VM{Nceb?vPwqG76NI_V zF1IbVxyv3*g-`U3Fi)tH>g~-f=@Pdd*SX7XHHAwdAA%43jtEb7Z}|JyD;Jv1(9`xS zS(<0WCyWyxZ9w7`eTmQ2`JCVqbaTN)0DcL--(~Iw;-)OVA7M{t{zurU?QgJqkl)Pr zcsxV*gIBzBIbAv>pU|J#FX(Scr@~i0bG-J5CzD$nbM;qFRh@pH0`K$^`5){j%vaJ! z!ai88d3>P!0zOHnM)rUcizQfo5g$C?pcn8nF&`8H3BY-1@s{A6kM?74tYS_`PT@m0 z^VN?zvlc^og`7a%(&DWzZ*ccSi-+5oC7mIkQoPWe+b>#Ac5|EE^on|Zp+Drih~2^O z8F(UINO(eCP|jp|5yXEJ1P?04b|;q5JNZClOPvR+84#X0EXBUyEG}-R&lz1o@@A`XN$k1zH!}uf5Y|-e8H>&1aIbl(6_~Tf`34UDtu1d ze{M0HtX>(O7`TU?w%UW=^KwLF1Q?a-CCKv+`n;U36?abfyjTHY;D6w7F&pcYway|cpQDAAz=jH!^aF_2L3n=?ro*!7d zBCuM=9N(nZy8>Xf+kEd|ACJX>w}2H$110jKp4uC|J3Z12l$Hcy%RkiLjm~$>ktGA1K%0VDW6lS#3I4qR`1cA>v9S(0AOFI4U$p=HD_W4+Kg7#*eaChvci_8G~2oK;j)mf8vtC!k2u(SiZRa#4*S~0ulU33T%;D{_MUrz@9#j zWNeILV74MR71+&>7zzt9qw_wE35E{yaKeos4$(PNyQ)@!zn!f{t~&}N%$;~VR))Vp zaxOd0y_n2Vqb4sx%N>_u^&tqw`!b&Vj4{X<=Q)ZXl2K^Co$+;H6qM05*|_928EGs< zI7MIL9mhh`-C*LKpRGdmY_1u=_?nD2-=IY?f&!i{37`31V^Q#$Y{v&{fH-wWvKX@%?=yFf^_KzOoZpMxv8`4h`MFh*IkC+8s7_2}GhKX=wm&O44jOlRtXz*WDY32e_ z*5L>B<6Q;m)7&%q6J-dy8GXM57I+``3;#GDHbiIox?VOys59IIctdO}&PM zULyD0pJybl3z>mujqil*2uRUm(U?xtoQMYMnlYF+&ZDBPwv^$0JG*u-JP zaJzBRu_!z~B{tLAZvKA_w=V93gj2VJMTzGaju>B*sb(vFg6Jky(5gWbUR4HLw0(ML zN0J;+5YLJf4Jqxp#LD!y#c2O&F?%$LBS`1;uGsK*lyfd3_cf7ZSR@oBy!G67c+VPoN_OXACmHb39fI0Gd(( z(f?d(k{~+Oea5|I0&r3>m@7XRXRlsJh^1;FQ)ivzFlEdXMvmv04riJe&dz}S&FF!6 zoHBm3T`d*Dey>3qTrdj13dKW$XSia%z-#o&v0x*5MM6J~B-hx=w_!L{40%WOZ}kLs z?nG?4RxC%+Vp$U1=$KFfR(1C2P-F^QUQIza^8V!;lH1q-y!FAzNCdX=p#s&23ssbjV5l zmyLfIk}~uM+v+m_vdNC&J*P83W&$mtmhjnzw~;`Mt9yz4brL|l5kjrMfDwdE!)uP` zFP8!5HdACy>Z7Hb;U&ZJRHUPEn@VXwy}xOJ{G&r4&C1PUL}G?-|D`#kJvf>w7D16k ztR96?-*4ThzC@Zx^JX$XO3=JFkYvp^TnE@7(y*>GZqkg#7(S6gY!wr;Eyy#(Ac~u% zLk4Gb4YK4B-jTckhA-@KXoOT9SFYOh@k_^%t+?|qAgQARJCZ1|6dG_C<=-_$*<&fv z?TO`1OZpNa!6eSoC`Xr9uIwNR9GmeSQkbLMQPy94UZ#R9|1WTyO}hiaDWX$fA0|92 z2AtuBsU*dKj(g5meU@BNH*VOpED~t#vSb`dmR?b}7hjh{!vD>&_0cq%BKY3`@@-p~ zU4I1J_beZIT?Z)TTe`q3ClQ8yysbl zJg|>v*W6iSq7b0YGn{fyfBIMQs9zusa_a{qtf@4>vSFL7YhDR;utm>D64 zER$x{njBYd+8WXf*y|a$3fFPrK_=?Ba^k7mrr@)6(!NsO{2*xtcvUmPA`M%leht9l z-nkXlXGmkhL}`H|51fwwYmtEjn zblcW$Z-v1}{KN+QI&Fg+2r($4}SP z^&Q7dSvse_bLSSaxh{D}fldLa%l zp#+}Htp&cX8Mf1F# z=eN0kzp~~l-?7MibGqY%3*TrALiLZE#hhFSIfFSKz>Mbho7TQC)u1$BiQM%1zj@;d z=xX@-B9U}62#EUnX2V-=fwBJ)Yu>xf80T|ZJAHh%Mi|R8!;7YSWunB8hcRvs3woVb z^uXcxPee#yvIJytJWi>&9sYp@<~ZQ-!8}z!SNoT;)nmmyB}95M8P<|KmDx1?C# zh(|V@(h~Qbgp-Uj$v-(4UD!a9MqBBui}9f_0R;jk8LMk9At4P64+#|TRqsI`$t+na zkRzv;6e{pr_m;V{$JA<_6GKEoCH$vq+yfw3wt+fg8(2TfB^ zQP~4QBnZ3B_n403MseZDe~_G(U^#gJaOcO5gfZdh5VTnaWd(+t;osdt`Oi+aqf#(O z{owfZpIBVG9rEAEq0r}|>?=eL1*8sS{(Zw^8;i(}lK`#xH zhNhuqN6NxLkc0o^2TXqAZNW3Cu7<7Mu)Qe=&c9|2p;rn33GK~fkE3^Z!mA2^s{prQ zQkF0Mp3c(`rLe(ZB1Ng3ngqroo29f3#g8UX_(gBS-G3C_P1fx8S*R-DY42$We-}z2 zPO{d>)WM;NjVEbuR8{!r?ojbYgJr{uJ%XY7Rr3F+Pq?)G48o&-JkPq{gEEYNlMv+T z1mq6sAyE&BQ`;v~n4(WojnPv@Qkj^@*-84UXh=4cFr?`zF%*>Kn)gvV`MM`6_GLk+ z|Jye=tZ6{esS&ZoRXamyXD9q64=GcbrLL%j3tp0~r=nvR->J|cB-oZikdI%o?%w(UylFpP8Z*Ht@p5DFw+g<^m5I}jfWR|EAxSMw4~?FZii#3887&1ZFWJ2;6Nef{8g{g7rxse}LO^tSuWTfs zZpL2GMAAn?ayd+mjf%g-XT-h!3++E6q`|Uv!1&hno=Men`X02$8~R`C;T@~UVXN)n z181=D@Oc+W<8iK?e&Wfx(|P(M%=46elC^g#Pw??@>W2TZ2kSVzvlRC-h5ocl9ImL7mdP0gSVpZ1oJGc=Y`G<;|a{5MaVa2m=!tAuTof zg$lTcNIq!zM-k}USV7%AJ~wZ- zW-GHfnH)Bkkv&P&>l!@`MO{@*C2eJOq{&!OQYj94G`J@p-PqORnpNXrOUBG7NX6<| zOYlaR5ga2~e5txz(o)JWR`%3-?+R2{F8S|A5>)DQEDf?s$6Mn`d9bj6VVyNV@X;PksnXk&(8dTW|UN}}Sb3~doKO_Ox zaz-%+fBS8xu&0VMGcH+6+&dDKnh(6ujx$|IQqV0yAji*a+e^WQP+ z-N4u>eN4PO?KWt8Gh&pS+$vg~RJ4?ifIHvRB=2}0lJR~z&vB>q2e0C;@VOb<2prkm z=~mQO+g%C8XevDM1Zd~=Y(RO* zAGaQLnFsp+HQfbd@hGUOHSs__{2Se-K-R1lzCO9-xDn}v{hK?SgD4> zhS6JoHtkL(aHGm%3C==o8=yUG`v%bd$-?4%H^Qn;SO1*2@*D4m=O^gXXKefPz*NG- z2a1mN2W$=5sx%Wf&H`d#;;&!B2`Ej0N4Qt~5k5crZxcsH={76n2G~YnM3a><#!#Ni%y z3GG9-q#_{F`6XSsfgftgR4x!pE+iM}&BJNco9bjO&d!fEn_x9V_h#;AnOxo}RsMjo zyDOm%(z4Qrv~Jua+f;n{Y`88`-|fdAe^Tt_Bgcog5fWI>mMaAV)kC}JEN7B7O=n}) zN+GY>eFZ$)wuf;u&;t}HWhGk*I4jQwB=*qER+d^@jb)Fg-lB+~iPxDQ zVU`SJ{XGRwM>ceKxN2;QKADG1ThB~aY zUS)-~f7Y%QIZ)2X0fjJNHG=Pc^0A7 z*#O4a)mKJrFLcE}s~Y84tK3U~Cm-BWIrF|Z0zLO?9wVaSlSu=}PtU~D5Yt7oI@z%+ zKb&d_fPg*V;MJ7OLz1W^ubpMKkh#SsdM1+F0e&^n>S@d=-DL~P%hpj#jp8+GH?)H~ z1md<%YjW+&{TGKR4SAP#m!fRx=It@%#NbPrgUby%6ThP zw6Ox7zeGwY@`nj6!KqQ!8CV_5yKhQ-~6+5J)Ng6l)y(jfQnN9}QC z&V%f2;?zt^kbs?C1$$`^-9TmyBV7kkDRtT)`BO8Xg=Jy6wG+{4+kn^gvIU5tL`gLJZo*xYvrKUw%Z_{!&N>xC~ z);UCp5el`(v&D?*CT4*jQYSI8WLq(nDV}Nol=AjOw&LKHqqaI|YIYZMM@Ezr>Z5bN zcb|Ns=_+r61tSdv2m?2y*S+nTczOBgOR_lbt4g>z5q1&VhIj(Y&~z8%02e)OaYa{A z?o=`B22Hkym!LuqG6=ommdGz9CVul&^A)^5M}&?wdN=ARm>M_paxU&yjfVABe?mq8 zAouhj2EV>qU2K{(stB)RY-8Lddnr8T;fr~}%7SGEU3NE`H|MX17J)#sMyZB31tovo z#O#QDe*;dm5ULbe4RWQSy%FO|{WR^lbG#K)y3#ALOSm#I5zq{>R&X55<$W)@w0$5H0s@ zkE0I30=2n{IcQOnktMh7pL6RkA!R6h)Ye;8C%qP|a_mLLzgwy{u*0uEr{`OFI!^F^ zOI8oa0$6QZ${j{^;BhMcSmuta9JB5Bs4N{&Sv#ROwZJq>CD%YKHU~$mDw?oB0A#z) zJ0P05spa!81Xl+~tA*R)ZJbNbHJquO8E?1v}v87_=ZU1jB!CqHUyFxXv$)LTa} z%Q{>b%oytMk&72TO8ZtGu2!;jAepJpm-i8W6)&C4aFtI%sTzDG5 z6Gm2dyR|~{Gg@7}S9H@}r_|t#qHmKl%>UL=H7cevEZ|q}`We-PI2-Cv*8el;oXncS zpfuO{Fc$I8}Jjt3B$Tk z{vF{#K}=;TB_F!&i~$Fhqb;$t{G|F)VD|c@**(+$4|t~9yIg*Sy?iZ|M#YL^#h*&` z?YlE;kXpkcHG{CgLMrgL=QW(C#tz0BCx(VEdH3Q@DcdC!6V(+_4#ha_{ zpi+e{Z=r72qy6MWM!56|MjoM7v@3Up-)INa>E(9iZ0W1J2g*GIz23~GFBCmu0m2yR zl}Fm8`f{~F!?Jn#G+TkiHl+c?%R0LCbBRI2xcOtAMNsmSCUJ$rCLprfYwq!@3G^tq z8rIs`hC!=r(y4JH_Gc-^ypDF~!2PYZnbWwu`k~eb*XGUaa|-T(77Sw^T>w|b(gbS) z!@P#Cf|-Vr8D&-d)(j64NaRYt%AoQ+*J8i+D9Y#LMrw$-O5x{%mP^XTohw&XVe70U z{jqbC+>rpr*SokxBmi4rz?mXbP;P~yggRQ1qyQFD9|K)Upb#De=1<~d0rM_o=Q-q5 z5b;4DGD~Iqu{V6tHHk-`Q|Gm8ZoQ95C;m0WY$;lwvWe0%xA*pBgu*A8%_kYXCz;Rd z^o!f{44)#s=O-uZ5)AT;{A5Vo9=Xak5o#ypz`?tUL6%V?9KZ#mO1eJ#)>)w@^}6Qq z&Npx0DJ3J~7o#iA(r$J^vY(fNu~jNau|efE5u!c2wK!oxZbtVuWZtcZ4o{FQb|9D} z%Rbp<${dKO5FgKx-7owM@n?fC%oUi1?Xf|`e)oa#SDt(yAl@I3PtS;C(u0GW@oI7c*6=DhRrp3!ms&1VF2C^Q7){bTYxt@-vGN@2e`Cx^I_ni1AzH@ z_mzRMZu9mAS*|MVP}u+tlsCKcIo2b4IHqST>`=r&ITU{owg3&m<4@dB7DtLu?4iK6 z&?Moz=A|zG14;Q~P$W<5o0|It^wwdRna}pFH})RR+O^DC6*b;@I@-o1Hf9*8Yq`Ns z8QGhtJ3zBL)zw4TcbPNbjST#KY03e&v&(C=ttd`k?GZuwMNk8fJ6fj-9zADUM2Fj+FARbyDQWoUOLnih#mAKpgIJwub0jLIxU1Pp3xSkYgbGE{6EpWZfNjB?S zv-z+^eD7==?w|CJLGqg_I;Yd!{B7Z-gFok*ohEOI+n$A4v@Mswkd6L6kC4#xXGSrd zXGN2->Yx)1KG5W9a1{CNcz>wkVoihF#Ci(a0YorCN;W} z6Cjj&TW0%!tS+57D7XJ;U?aPZ*eijd6Voe^rsl2AKD+}gIa~FTTl6aE)(4^lQe?{q2SIwxG%BxWN~S-pYs!dnZi4Nt zphn~;3&CU7&a6jr z=fEnf-3Q<}d$RTL+3L^GTkWiw+qhbFRruJC!|40T^3v0dMXsU;GpF^pUTq^yz~|_w z=JV*lRm;QtN9u*KUxyq0g%KBF4!aufSKSkDM;U!Bj;IRl* ziz!FNt+<#*4xge=O9Z9>*a0qCVgQ$7Xy!|*GODs2osz<~(J@48s8+mA?0qNv;83Vm zv^JZ2wL~I^C>`zF-pL4bYSpSOK!2HvAdOm;qdB`;{>@9#ylc$vq4f5|)skFeUJ(KZ zzx|eVqjwd+R^N7Gt-Xiov#zVI&BQBs_+!|A*dy@~Ci!DTz(jXnmv|2mLdYYpJz($> z+Wm&dD_CVkh26BN3=c5}X4YhT!QRVV{z*VxW=)PS+l4A}Vq7z2K4U%`&`5DAkkZF} zFm|EX>s9wb5m_lD8Ic7@nQ;st*OA)O5ikb=7cC&TCt-w!#@&`;!PO!T`MJ&iM3wbHRPf@aC z%!+LO1g@o;i=8?H(tPzvt+zNgAefA<}^{ZDEL|34ywFB7wVx1qOGQ{zUsq~=-tUkeUSFc8Z9JPWIRqT zq8>eYf=?|NsOq&573zWte`s(iRs(yT?>7- zK1+BKb)dW+OzHE&27Ef*^COrFff`dR3)c;sF(mPb%H;;Ggksskv;;;`6c2$Il3Q&- z6c!Wa&Gwpq@*GVJAajT95!{fc3u_LA7Gjc~Yu?b2?RpI)>|+_I_Dv#xAVS-P6Lu>~ z8pA!Ka>B?mLimY z#6#FA@pOrYJ1lHZ`crsnNuUY(SI@$e5>o^o$)}&DwT{$6nB5T~@!2!J$CopE5?}HU zMh{TIp82ODcw^Wq4k5WIV(X|S!8Wqcw+L;q1A|NWJ=vOWg`xqc-T7;;s|(>hC!E4b zChSFIGSp%1IzZN1?3{b_9q|C80Jc!`dzx+tAkuDY#d4UcE~R06M82-w(4m4U8wGgK3SMj?C=;&Q?@*p_r=OvQc!A6{ zG)+qOu+;qqV5bhDYVlsf7B@^)yE=uhse4x6yY2|y;Q=<$lM(!QpGb@O!U`+_+HzGy zqeGUC_|IUD_mnp*&xqdQ_Z&A#S5d!J-)MYsXV^lOcULHOk1U=pY=(Y)4L9_Jce8+? zzc2*XhWueb+|Vl*){}Wfo?L>c^GQ*W*xt2)JR-`-hq9S8Pyk3u&@e`J++vqFU$yT< zOf(yklmG_kPp1)L5Ik z+jt#~bCzJQ(^43hl(7AsA66j)xau;+$dZ^n;T~X2-GaWq&o<*Pz$X=xn7Bu{m$Ua{ z54cpR%7byj7hY;w4IMU7zgA8h)&5rO4tYbEhpzU0{do3VWKi76^9V`6TU{%z46fgEG z2OogB19Fj&NYwail{0hI4M9?Odm4eLUnaU|h+%58@udCZ~wCmActFW;Gh(*2jXtVrVaNgiKU59AF zX-r86U&enCYx;BJ3lGi?J5v<}J7X8^Hv|K!#1MEzT91)maO!KntgL!eq_6jW^ko}X z*V%znp}`On(~O~Ez_3FX2c-tH2VIK9a;R#PU0~!SXe*Vn2y2q8)8Yg7B)~M0%ntbe zCibktSp}Qh_(Fa0IyLFLi=QCZ4Z|qsD<_qmAb88knwLW=fNc6~?#?BV7h{gbnZYeIekL=f_Yo;Npey=(*ft&>0xeFNsKf ziio3HBg+>3^2voQx!4W;0@oV8j`qonO?eT*ykq;qbPdx!CpM9*YFFg8Eet4#JZ59k z`i|a78X12P8@5Q=EGy8#0M#Y?l9x^s z${h|fxRrw>TJp)@^_5(a)UiAu~fn+i#fjk6-5el-+(wL0x_eGci_HqJVg@`YDWw zevMAC*H0eJcg-jE7KFAE4GM|uE-zc;fqWB7f!9{}S(QQp{&i{FM1=6_xM6(?k*fjM zf}~Di-)O!=u%G-{K@L7@aj(GuA?-#?S|?^c2Rmy}MaK7(wl7H)y{xffyg4K?0;8?W z9pG-iv3%yp?!qaCcb;^N;cjd#--@2tnAm**-UuOEvpa|d?>hLgagKEw6$Q-wxe5_% z4`e*iA4fJzA+BDa99#@dO$Gi9E5pe4jm> z8@s|)aMysOKDq*(YX@si&l2XnnpR;P(u}GO`^fQvYv;ka6)oMZb9H!AIggwqIeq zAx3+u{!aiCw4I-N#1W-pYs?7KePn$aiHx$nEMP_zTv2U@M7m|-#(kY`p6K~C!B`%& z0}W`38%%wo<&8&|Tz$fwf+7ncwG)sc5}AxP{pJsGbD z-;Ie3C$>8E`_!vSoqpK6Vg?)CK}Yo(d-4d05KHB73`r!6;fDHgxFopay;2&)$=}tW z`O4x6?hCmSd8a$_c^?a;DI03Fg!NAus$nAM-<+i+rXvHyO}-)2r)*hvPdbiBjY^07`c*U(m72gG zx#=&;S^tYMPa)a8R*}&EKrqZ9_$NCri_p?73tuj#Nwh|No7Ztf->0v z#0fbYwDr!+3-M@T_N`E|MP%J$k69_%w$0=^q;LJc@U;OhiPXCYn+c6E`d32lUBTec zkjD&2ReNVJLQd~ndCrliNQ~uSV&ZVns!LRc(Y>=H z5isIKsm%Pw)ecW>_^C05K%WeuKiSFiT$> zSGDd}oy?`HrXSL^#81!Uiy7P7yFFHh?*xnmYmO2mZLmVj^pgCR%9{1E>15fx75>r82t-D09s+Ts;*Kaygd?cO% zhu>^?(L*PIyv5JmwyisbqxC`_Mg_zy>P?VT zm>5*5V`yf}lTDoNYs3Kp^7olh+5yS1Ea@@T-wLpf`_J;6ycubU*@hq;l^@FDfd#$OrvRidVV9}-BZ<Fd-6x4RHk>7SVatXKl88nQn#rYj#+{g4 ziGj9+wLglL6hJeBcV3MxBgJ9Ie#ILy^~rjhlW~QCgjN!v5UMP=bK`UUAO#tC^5oQ5 zp4Bn88=Ct%!I}^8g)jfb2E3bP>n0I59J;IcK(!P;6^5Ly`kIBsv!iPqUwOV%~Bj=`6-ZN^*4>%w==!ORDCd_en#U69>bX=xlKhp1W^^SH&N z^N?q2x4{sNON`rwwcX!Tf=i+I~^t8l?gx-mDe^~}mgZQ$=a>{`bHr}Ix3K3Q+ zL(f*!2M$Dz(%bLUf(f>lke1Hk2Hc+J$M3^UElnm(s+szc0TnAxn3=QTYWGbZ8iCEd z((MyQR{;2vN@!(P6FMC+Eemd5Ir(YkJ77%Y;uYUsAau#2|2Y-%BCRNjURC%Gc0Yb} zkkLx^QMuiF?#WTb|EsvLqlIp1FuHW0elG&1j4T9C`*7`|?}N+9y`H4XYvqk46owW! zAv_Sas+T-*$MuJ3Y{FA?6I}(bFSj$2s-hj_2HxbDZytmDrBHYV|PX{$_LZW^7m`}{i`Y~a94?W zd|1qnZH2RX;WMAq9LIak>^){{}E^896G?b=jB$6 z9HqGA{}{OvaTJpuL!ueD63a!o9rys8SdR5S7lq<=Mk3H)ZIrX-oqIpdYt9PYk!S- z@x?~kPTGg+%)?Oc3Fp)M2Z8Q@*060J<5 zfIqU5i8Ex^T|Rigv_46|G?|1Ls-;ax2FRFK&-UPM0#`ppjNoczC}qnND}Ts_q;?F`cx7zk;%5K_*9zW( zJB}Dc|A9D6EFKlLP*{79R43CEN|UNOYw#Km+4o$#ec8zVfTjkBYjtK&<$~M-a>}y$ za!FaogkiEP6ZrfG6cKaPXzI9=<`?7=L1@*kn7cE4_lT-Lu68uI6Pq}%yfo%UxO5vr zmxO7fjitzq7SSBxPg_dSu0{X?G@_P?_N8^ICaKEw=C7;F`%Ib#ncb%DX3r_66&Q=g z)KW5MVpoySGCC;DR6DJ|HbvUa*CgKN#xjj02wezhi zHdrE<{)qp$;>){y^$s(L?J?g8xDH*}L#X<8_02MzP#F-I^P>3PajXb14@LBT`&PD5 zPK6Jn@>4^6TaKexvALQcD_&`mvXoMe5J$k8lx}Jc!Uq-jN05tf07*j16(V#&afW7Y zaFaWG7v!IA>b(11F+`hCR$ zuQT81waOYBNF?XkK;ib7ax|0Ow6;APVgin?XQ6fq|B0nR_5*h0-Fi~ir0{eM_s$M-0)i~On+w>UnN7oVK`tH%LvIs2#eHo~j4}WL?uFfP|DSlUJxk~7 z2qcaY3pR`(bwc}iDv9vNg#xs>mV&~9;(~Vm3R^Pv(5+#zwH`M8Z1YXM3kHcc6K{n6 z%c9`tK7m6r%vwhgao_LXX(gPW;%}hf6QuKTx~EgnO~LPm)3Gn$s5HQee)?_1E=W1B zqU2y}ElYAn$HfEAY{)dkXoen#qHt@#=Zn3s@Zy*iOvL#gJKu(YZ9Q{!`JSxpqYoO7?;UQU&tEpATWMl0e`6yO3>!@*{oY- zl(^$#O@ET+e@D)ff^>P_)FKwS;&xlJJ?B3Jb2l%-%9_R{GubQo0@)_$B|8Ml@P)CI zTuczrOR+TOP}v(|FDzDtmCP?~6#|2p|QghgLO z+E(OvJ!0mRjI$7&U~cd6`vBq#ioB%YMO{LphD`_?z(~t8(@Hp(*34>{G^YI+5#moY z)GXp5-lz}xF?R215lcFmzj6NY%Nk1}FRwmKn$$&I;HHvUfslrTvvL{AOrkdk)mmLgkzrhqn2uD;6nst> z5L|0V*+BS&2#w4!m8GyIxg_1EK%0CF)&}N@q34QyLtj;SMc}UImX7V|go?&NbeOP$ ztn9q>CK=g20pmdsOUA~4YpJiW2%ux#LVd@Y0Su)_E2Jq+NraFUR8OKzJ-2#Dpvq8N zk`Y@e3OPWshI;wh9$gjpyKt;aI6`Cw!Q5_llS?+Bi|#*?$TnTF4pwod{3Hytw7-47r{}xba*}=JrY3Knzc-#8V`aGWbh!_JurU!HEtXyO z1<1~Z{JeJl9EeHBjTP4%D$5{3}wZHg@pbM!nPO zyaF0sdg?(Z2IrnZDmH6Rh{Tt!h4@kS`o4nQDOj`z$05tM@`G#lzKFHyv~AUyeL3Oo z&x1FY6vY9TcMC#%3m9m8e*r@dhX8LHHvqziRZ~QT5QYX;|F_`U&v;X0n_XI{b5}!0 z`_WW{lwL9o$p`ZKz3N5%b;pa6P9C&pxB%rc(KEa5=^u_67vS5R`y1Pmi;8sgn*|~ z$~~HSp44(_1d;t}1lHlYbTVsV#`JZp-(neKJCoLV?G~!ZqbEIz(=I9=a+W%5!5pu!$BG&Im63xSNw5% z=14kH+C=vhVO)hTS-~d~VVM&zsdAlYFb>>!lmHI7G@xpTk!-egfBsxa~CQwBk$7 zQ{B_`t6J7!UG1Z%NYm^lgci3qKpce#CtW)kXy6aHCn5(QEZ-V>@1rs z|5`Iz-{&*r%zxv24||0ey&Z8%pKRT1YRh{YbyVd%{TR4uypcU%zYqen|5^~`J#vea zAe%j(n95AlerbSfrIr;pNu`_5*pX`Auu*J_;3g#s*K3mds4O#e@3SuNs>?9t;>{dkWKzL%N&N^g4co z7qk!K+z(o{*qPf{pR5_tR9{*7@bckM0*QkX?P$|L*&_pA%*h(n7@IM}S${Gb{^^G| zD(a^VoV&at@7j+(g=b%zoa+h6fq=zPe7i8`ySuksE(QX^5MSY3FwyLRcQ_ikB>tXg zK^e{-w4Bv?cL?}dbjY*Qa*z7~%LBp#QF`W(HQ1?u5@l6~+D&^*)D&eQ zHI$;~e;oucOnK~p6+G5TE48Mp2uAf`uLCR&kApfeIG{5e69ZSx*NkVdzC}CjyU@~% zF0q-P;A3Qb{-etNPtPMOxR*SsSx#@NOESuV^c+J@T0nB?i-<853xAzcEP^DvsfgQ4 z_^GvQLF|Y^;>}Q$3`$cnvRQ^0mH&0HDTAe$w6HftpD>w~2_}7i#$oeo29lTDQ9Y?v2l{@hpgab}V+_$kraH{PXSY1<9_I zbc47wR&uK6=Gd!eqJOc^cQikoa_Hf2k6wHMrXQQ|e;E4~Ft@2|UF|K|lKhlqdn{Xi zNb*ZF8r$;No{T4xSZN-UkibkKgd}B}P(lbWG?O8O1WGe4fgyog(iY0&+=iS|Xj0OT zkf#frGJU`;x8ZH2V(qoozy7uM z+De;WHWBJ15$fO=tqu8>c|>L_oU$`^m+*k_3&FNY*c2ES9`ZjNd`W&O_KLtsJ~0rB z(`*ooNA8Y8owFxo3Q@9z>{gQ@HJs2r9ybi@ZEX}6?Hdq5)2W%FCECRL)bEeru@@I5 zF)qxmRZtwJB!9t3632RUQVrStet3Dv<@Mq{J~f2co=Xtm<#uw=9>E9gyR@rXvNMdn zizmq*`M*))JtEAe4@8@AA-{1HB#?7y7U3L<5HU7`LD{o5A zP;a7#wfd*J&hj1@zV7$UX&mnAc@mzHG2Ef`2F~U7-XbYJo^qAfgtubc%>NMGmHj zs8hSj$G;24Nl<~sOk|C0b?DUTp*JRxxQ9;lk&LA9HbPj`GziopYeJ3~lOEyJ+m!G( z1GL&!{utS%H=j4`c7x}QNF-(eFT&Ep!vMq#3iS>Q8y!UE28;#B`&gU^JJu97`g87mZ)jKR4cF z-gKN{&N%oH+lYND(w;HfnEgJaJsj)cJ0PpNTy>DK+?>qD5^_k@>_}bkk#?JG_ax*t zH5pIH88vBi>JHAuASwltNU)(CmCR7OphF$&P&%8bhFXKc0%$AvNgf%Si4Dgzg#8_TX$!=jW<7nNJ-;by<_%T+6MEd7PZ z8-E*l<1%=RAjMJ#vmg({*@zAWNeDxw+v;B3y_p-4M#7src1krWbNZ%Fz%Ym*LYwg;w~)5I1yRgjzxxIOW&ZlQ-oe|K!n&wY!#nI7A#p9e!Xr z9eslt;LRj5FjJp;*Ann$GJgX8JhP~>W=Bi%2>1~m6bvGGq62S`s20mynD*o?Z%|eY zR^ZZlwmsXCrR}avD(zK$Gl7y2e5~QfQSKz#2?~ny`K&z$oM}(46%1iUN2ctEi#ITq zfKlY>Wy?`4c0#CiwuK@{CoFzA6w*4&bf+CTi$lYmwB{jEl6IlXCx3a>3%owk1qG9| zrrY=7IH{rr@$6pEXSX*w00NV9>Ao4vn@D+j@A3O(8u5XpyFYpJ%inqD2aSmbGHG!4+M1fll+!mhuA1F@ z_TSz=_{|?)cZJj*On;V;{$OtKb%Y-C!87OMk)!<<9(pQWpL*{wmTS6PpE_%axLYRn zSSErl`_T!OA0PGujc9;IY*?#LowSG%Yve>NGDkphObl(EXe*#CPr1;ZM_UbTeP}eD zv#3-mKMUrg4oKAsB(8ZGg)?uzO?IGw9r(n{25x_6OyId=Yk$K?|L*={{m1(mfB&wi z)jf#15b3Q`)wF~hRkd)wC z2*I2b#v;o-jDDSCHgv!oCv#K{y@+BV_K*G&)_)#kh$bOb`Zx-y{~VWEUjdK9O$d+- z(}eSgPeO>)X_}MInU`h4lRL;q#mQ$|ScN`;^N|b?+kgHQ*tV{TP$6N?nzIj_hb!>) z#?=>q*9{k(hIFrlLgLMMO&4{7VApz;uojglpK9rquzHnmO*fa2p{hvRT2 zK)@#uui=9UND~RdX|F-*U;fG1PfH7K{@C!MfhWVB{s{Qv{@MFUAB|!=^8ZKCC@Rz+ z$SBGJB>;s|fTdjluZ6e39m>PXUgf)r3utxlC4Z~rS<`(vyfO~aDAKCdHbeH!(i{m{ zP?JhRp-jr6XzD+rJ^@CPkmjg;U>MfnkE}x5e?{GS-a+i#L5@1ez&duRR}Gza)=i{7 zeVR-vBP)1g2vc^f`=dzr<-^FOh=P|;F#*!iI(z!SFwKzBqo=7@S2H~fLbUo(?j6ju zlz*L&ux{pS>c%rCO3TtgLcZ4yU!e%Dt~;*&pPyd`Zebfc(>=;Y`UXtA)1brJa(3Tk ziC`dqGxnq!McMxojiU(}GL9#`67W!5$P;$!-ga*XW3u8bFsraaS`XGqHx{-?4}wPu zKaqYTodj=5ZnuO2M7z1bq`ReVvtOdy%zvzuF=@MGGeaTTpxV*9nN)A6DpkT2v(`1x zwT`-#+9YiWZ!~vM+oe0rhp7k6z0?!t?ymh^KMlPkO?3S>^lRx@*QwB-q(6m^cfCjb zJ@merUI-S278F*36`^H?>qDEvFG??%zm$Gy{!#j)>G39HUe%O@98tA=Le>fDaer!3 zAnZ*|$XOJ_A=gcT040Sf5SApIBbjX$0;Uu)3lfUu(Qgk$!r>6)IgX-CGplpvr;x3N z3wcdZ)ZOZS72Cye)voTcxKHBu#VQ5dcPbX9K^T`wgLo3Nvs{m`&N8u8CY5*>< z*$X}f^n%ILa(d8g=q8H&0-nW}fidtlcms?Tu0XM1day7#VP27JoBSJd^MBb*w9R6PZ(6CxvgtFgG34#p9p^sSapoQhO#N}{Pl(?wp|aq8qLqtxh(Np#0B8+V?t?&# zL6C(xe~*8&{~`D~oPw-h(?kJ#I!(o%PNT6#Bm-C@lA`DXh`)$hKom8E2H&u}*?qvl z^8m^bPULAKNtbw;&!-5cV1Eg;P@g(}$cMy=I;RhjNDg&Kh%fAF$8n{ALi~21;D^^7 zZ-?#v0KP;}RZR^{XowXM7C;D{hN+!{@Pn{^)in1$y;>vx+Wrtl4~UI8cR_uS!j)^QKokBYh;==!Y^-L6Oh8c#e1r z9!heQ;GKNVTXYd0kAD@BMw(duh_gt3Ts29MDT5Ju7FILxDptVM*)PhO0i=ys`)1CX z8JlTaa+ak%)B1I0J2UU>zn#;zr{;J1(XS%$#AZ@SEK@%t8drQ!+{5m5>=l?>z!r8K z+|4p`Ik!&HLEX+veRu^uq-cT0g?|=pqZh@nRzzwQC1%B7%zxL1SKUJ|pWq?CDB4QM z;S|or!Up5LW-e#C{;mtixXvz;@n<|PUyhQ2lmh`4_1bKxCpg?W5Qbl?2$e$rS6z6AQf+@C(ZXnarOxyGS` zcY_Wv2VD8&-DvEP2Vo4tXF9>t&6(Of8j7#>Rtou>rH%5&=;!p2`~y*Ti*z*gjQ*PZ zTJ$$5dpIlP^-MKg&Cb-#{L1Wg*^&HM-uWU0BGLBf;(zF`!mr7;Jv#W`sb7bFllpb` zRsF4$J!&OmI_JUAu7QNis!0U=K{ZLml+KQrUP}%nQ7Fm=JM^};Ammt1q#{DZj98J8 zh%K@x-^$HVd0^%D=i#IIiTtrVo$mz1#RKBZ0des_^LmI4w_uD_q&c;s8KRQ{YFvU;6`LFY=j~GMp{SJBGwq>F38bQEmkoE6 zKw3r-%K5zAqNQ6bA&x*TIg`=i%1k811O-T}Mj6ei$Waug4Uyv6SP}(dhlgV^F4$3L z|8ihB7$Bw=gf@;RrpA3FoF_s2Kj1yKxvsWWiGOUitu?ui3z5J#qnV4#lg}ci5s(qn z0Dn31vz@Q~xHvkea%pVcgA2DUEe*ok8aIz65Yy;MY@~;AZ}EX!pE%~}cR2oaZ25zW z{ZuPAyAJ7$PL*M^g62RpjrjKTx%T1+%c4Zs5H?=MMNa}I$P54CWsoe9q zSIu{FQ#rRtwSfo}b)*-?-h8jQHg#RW(ZRuJ6a*8pSJkMrE>nnpd(>nbj;4|p>`bRp z8Uz7Ey;J+30@;rC$4PoIgnuq8u!HPsmVe$!%5W%oU$k5YU$(qmdMp-&UXKR=iWAAi z(emcR(fol5r9P#?0YodHdRXWNR`*Evv2MD%%n@DW$T)CB7dfphNOUns4hD%X26t7i z`Ys4lAIlC2Lpc62$dfP%O+75M^sq%gPMs2vA`Xof3>2;Pg(JeLaXe{*OQ*zY1b^u@ znWZsEEo0G?u%_mU@nj;MOBPC?7)QIj)>)#GDO2ex0cyG|?h9W4qs^HC;%CyNybvJY zcOX#JkvlySAdUld-#si;O~H#?1!#H*L|AYbk?LgX?3;+Dbar~9fJ1}Go;@%e?IM}# zs7#{7DAZkEfvB>#smfg>L)}a{V1ELm0;0D6om#VadI)r#t6E`g>l$BcR7#3FE<`g+ zDn!8vl?H!)_2v5>dlE>icdS1<%OB-`@WP{a^j-~bg#a`*eN@eBdvCtIo@v~6*K!xU zAME+!)<^w_Uyn`wfw3Xa(gPnRdL9-Z=mcKi#pT~#MyJ|s#sC^jo+vcG9QAKcJ;Xj# zc-Y)in9#r9@uD%&`)+UG60S$4)%LaF+F*uO3<2a{s13~mJC{@PRvFVZhyJzt`&&@0+ei#YI*mOFw{P6JYU!KvMZG7{qOOAhMcuP+xqB;`G;#@(ksRQamwg=@swkKp3f>^u_$MhPHkvz#tNh$#aFQ?Yw zgyrXfL0KVBP4ptNGDtmzi@%_5ML3>dE>GZIWzA4?D(CbN2H!XWduIh-;D3PATgDGOdPC@ICGfFqDa%d>NOpo=dQ1npyY@P>*D| z*rcENS8vAYPh7k7c|?v2li$Zo`LR`c`64zW*p@VYur$>>JRMgNPhxV`qJ}x(jz?RY0m`kZ^2;!%)%&d%8XNlPL9F}%uuyf6DE(L*90iw8jLV+ zce5_e!LtsBX|J-PNAg!)Xp?am!trI)j^Q?nTI(e0bn}(MMf?h8IsYx*p0OKTr&D+7 zem&AIcj(z-x4jxEoBj5A>|*Cad8vIlyPR9$Sby$X9$9WKEna6|!wx&wMb^nTlr}M& z?3>t4j?K>7T(?Cw%eO~2D>oPJWbWm5MDH%#ZEi1qg?-rhRsUC|ha(Tk_v;T7?l<>v z-{!yV{B~rIyf^yo*tZG?*@N6sM?G@L{9opW+=tGyu@9At))lTX*A=((OpiPqU!VAF zj(@p^y@p%I(~J2fiG}*&0<%KCqVP$R9%Ki(l}?&rDF=emXj`Ep+MXz~RVUvn7>rTk z%wE~#qm0wn99dc9SSN6D)vO3{?x2RJ{$9YZa}`gr)yYSr9M3zV2wUTEj?l35{<@rhl7N#augki z7GfNy;mn9xDB4*Te-br|=xxz2W_2BrSPD8F4vu5_nY-+d7m>^kSd}7H^H5~Q7c{0;aVLG+QvVxM7eO!3Z6a={Xr4- z3X*_nzNjHW#St=N+zseD3Yp`0r~Ducs;8U-41k@nw#+Qsl60n=+;-+!`s%Y^ zXV!i`lu4)4rk4EtBn!t!Kh>4-yG7294z-uIPA1@6pEE-!+)86C_9Djq6n{d38olm3 z5*+d|tb~c#A$#u(9ZwxvLdK_3c_tI?ff*R)?9+++P!%J>gmCs8Chw$wB>Zt$|TnSc#5wIUjfaBm@-~e^_ zcgs6ZxlCE3&`KAj?SIywR);@4V$J#5v@xC@LKNwZp^r@KwCZXxK_b@YX_?{wm&skY z_oCMdoZ3RZ@cpePQ(+%!v$uI1#Z-@7nBj zJ+MPUMwt}cI3IP=^1G@@$yv>#ExE9*nlan(@rfgCRZVZJGJi%K7bB+Lzi5KF$0DAw!H{5^3A!0Lw`03h$c4aJ++Euep>o;c+g}z zL$`&tWVU4Q32o2X!?v&;Qf811>WVpN+H5v-CwdSvDy4uFt7lVsI&Yc_fMtFXEN557 zm+OP(P4=7EoAjGHM$9oVX5Yqc)5ki-%tt#O1CPPo=8s~(h#fbTJMH7_xK0BW%AiRR z6B$KLP=9(}rkZ3iF2&?{DkFtLi2MeS>98D!O-sw_=$$TQLIs^QIi1aBBwIoN6qQKC zF}V!2)u;YWrqtS|v&Fb$c?mbvERKhSSfXP`3Afy*Wbr77?uwE%vsQL6JCYsC?#!~; zI(+D00UKNxFBOd-zStL$&QH3XvpEbRcpGP$p??W#o9+(9@GavrE-VS|3+q%9r54A z+`*3d_fmTukGr3z>fm`t-5u}>NLOt%ZGZRK>`nx<8t(`ocE$^w15oHFS>S3}CC=eY z`g|0wA!2bAZu8lykJ=e~q~Ndl2mG|(*QE$R_!1Wu{ae%>S%(QLQuk>9vhZhOa6GGf~@;Gxm`u z?Tv@i%r6ToZUvWNEZEby9l%Y&Db(D6j*x(VFMouMQBVTtqR>_ zlQfP8k~1ne&ptwr(aadVlZLx#K!1LB5CU^2Uxs#N|@8;oZ9-w=%vl&1MHYNjUv4$j$ZU_Ll-)?K(4u5W}IJzC1 zVjHoI*_bigP8-~91GaG!g`Yc^{Mr=Gn(Nv|Gxrg}i z29%ekx@{0#%k(cqG40>_ntuyvarHldb@s2V2egoZs;G>3=66i8v0y3s{fnkf(c9^# zs4i+2ea{7z{z{EhH`FYQl0lixr#Yt+XM6F{H03HaeXj^FFSX%Q(EHyX!U1*(18ES$ zXNjC!sV1=c)2i%mE;xUWl%tGh%29%_?=<=NOz&aZ zB`99j4MZhT9joo(k2q-25O1e$FWp7myEp=6^Dv)(W8h%FJle=AY5i-2?4B=is1S)f5fdE6%Dy`C|SkCHlPycNA#J znYL<_>fy=?sFa;zREPqPhIYO7z9>a9={O-rQgepU(SetIBQJ@(CD<@ZVU}7G3BNNa z0 zrkB%V+Str_+k>INxh1x^4kt)zdU2I+u$e)}B$BL2gZ=*_)jey~ZSnS>ynV%GwR8p+ zGU>wpM}Kd-&Kesq<^Rm?TwVKx1o9`;; zmhEg$e8RZ1@zNbL1FXBR=WFx63WoZ^ovW)0S5Xw4Iy3bK{axFas5UAE-aC&SPseQ- z0|bl)wt$P0$W*$7OyC6JTrRAr_z>w}q;TQ$-GBIemrDv!4CMWobNd1ok4_5&DLKtM z)fJE>ncmv(jAp8rSo-gb3E@R#_89A$aULRs6pb!{zK6eqzZstC25x%0}DXa>kz0=K%q1}ErO}PcP;x`l#xwy85hY_1)E%j+WGxKqbqzjBFu+ zEnBh?R=~e73C>s&fdC<~5<-X}gEh&9gd^CQ1d=5?V_{^F*$|Y(;Yd($vRMM`5SXlo zKtK~uhRG%Y%k#ch-LlN?{(d97>%Dq)bXC`P{J-OUl?`f)ol9#>OhX|-iBLhs?th5z zculp$H59amBUF?PYxT)>^>otDd))#`T3=VLW2>bmXTzxl=A-TB?&2X}~?63M%ex7hlz+U~D^eQ&jzrT=*1 zUw{7YS7z3&V~*dyIV2?}&t}j5V}DEQvro-E8TMiQy$RFV0M=1)x{1`);Vr14rRdNF zQ!Al>!U|-=O>SW-ikIeSdm~Qp^x{RTqeY{1oO`x z@sJrI*X4_CR05uGz`4^(N4(oD+pOEz?c8X1G{RkDy}>#|&BW)!Kh{oZuYXhjY_)Zu zezZdwiR?*CC=-zzlYdt5;!J{bYv_CDUZ*ttQL$K}q7;bv3Z|Wj_)MIp;!<2A$$pdZ*)_RMXX4KIhoi5F zNPI?4*|;d!xxN}SMyIESZ-3Gre_nNbiHSJd5S2A z)1EpT3frPrN3V-AUydTE#e(^#v$GR*lBt`Jrc69^7~?A7Q$F*Uw|{1pBnUq)Vu_69 z@8Tm;t)4V7HU_n@M9~(HGd7tNCbDr%bb*f?+sD{H2zpsei*&V(YHexE+^rWSB9ajc zOJ*ST(yjNuiO~G*|Il3Min;BH#Kn6ry6hVVue!9O4P9~kM~HpxCFD9Zm@cRNH>k0J ztG@BA_xegVK^%O;xqs6ZE0%dGRivla;H7k#u}g^(a`k|QBaN{h-w1j=>|1f3hG zPa|2#8rd6<{>dN&tSNAW7I^}akO4fv^a9mG+;m>U=AuWuJ}QMDbD_Wx6a=!cj6bN3 zdS1ntXOWOHq#f6v#N{4*6s6f21`dr(Mv)Pnh|*Ejj!$EkiGNg-Eg%B%75bpnETV{) zG;9GURgUaKZjK#c*>Z`<$tB$smyqnNg8+JUe0-^A8KMcVf;>J!mCr3c+TY(+28LR% zm)a)Ew^(km-eH+3A1yDIIioyNrm3==_v<6p5q`UVH^*(}kXG&x`h^|B*DT-8A1QN- z$FZk(>F74_v?T9(M>~G?1pqFau>z894^{d&Xm~htIMMschBwHea)te-uv;7 zQUBn7{eL=7K0-1*7lz%`a;yPb#|K>uVu1#ZX33Hf6nP=8)pJP!k+ewa=@M=_0DVR8}XH<~le zl0fPbr*U%}Lva%v6lJk+U$Xq2<(P$muj25n0mr6+?0r5phVK))_--+Kz}@1;CBu-* zrN%A<5Bkz6zz^dm$H(;+a~3>i4-#DS>`}&p6V!z7MaCM`A{b&uYO)cjsc=<7-#{C$ zf`8&s2`OgV$nds&sV&R~ZKK{Rk>34Rja-9g(AxM#&P9M+$l^K&#~1AbyLKMl0oHqrgIA$2>w z-F6i{O&|0g4Bq4YmhD@@0)N~#Cp<&{mVbWT@vh+GPjQIiPI2@UwD8+O3e6nHa-XvJ zsEX`|OZ9qco<05p{=@#){1(4I{68$n0%?an@Zr9B%nQv+#%50qe&Z{`2%ZS{JTGU% zHBmz{2~4|o{@Ni$9KZd@vrkN|FFw%p$-CFF$Kd@aeu-5 zXNGb~F3rW9aUmC6i4FgjuD)1b9W!C`W$^420H!IZO|*<{6qv9FjEs458Y>X66ZZSD zodD)LWE)IP6Xyff*$K0;`bOtj3eoh`7%^;!=Xjd<;W+$l_C(EL6l+fWfg+~IvfzY+ z24u;xu(=jCx7F7Kb4@VUY-G)F*?($&DOd|??wV6037Sa1z`_^{pD<_K7y_S6 z#R3#1=EMaQKIUPeioo)swAiz>EG?T#ZxIZDlhV`h?)h*$#TGF~$5gnx_4I9`8+SOhLtvCvR)ufhU<{nC<|1sXOkzEiu$e@~j( zz-(}A4&KJx=CIytLFM9sIJ|1E(ENx$2I9%be(dsu3+H_hGn>VQjJN> zgUjGI0yCf+H*bueo+du*?(VbG-92ZqHD9i0LV8jepPWwl(_wC2_<=pIQW~0z>H=D%)K9Ji8(^C`GR&4Fo3wD6!BTx<- zx&Br^dMJ{*c-z@mbJ_L5W5-61Pkm%`U0W>BI-siQk`Z}_*?RV&nWjQAncZ*|y=!y# z!S7$cq1YL##y{ruHed7N`psA+T(q)@`Cr(w=%Oy6#+b8am48K#Jp9%4J?#utly=iM zFF5Sy}#r7^yF@+sB>%JbIPIW9T(ra@z9pf4}B%@73H3x11K z*JtBrQpl46Uw@hh>%9~_MxUbxTEp(K_Z&_gO+A%jQVZyTcvHY@S2h7T#9WR$Kbe<&r1NXyx7u!|-D3vao>H?YOK3L` zYCDugL)ppfV)j(ll6AqJ*+$d`cmBojfS}1|D1oS&c*k3bLkCEzPaXZOshZn;uG+Qu*|b)b(`Z%l zfM4#+Bc6J`+#|eif%~J8+J{LM6YL%y4e_XlM`a$VJQ8{2VR+VPA1F}aVBZ4w+VOqC z-~iiAdMtNYL4DvO6N$PBX-09$ztwVT=IqxF zauiyvAVi8mv1`}xdUgA*r6ada{7`o>td$Yo;JOP`~!P8v<+{)YGdolpURbWd!L;DZfo1U|Aa2heR=E)Ck-oW3xotKyMK9d z<}qKo=5uSDg|XV4lb26j{iU5P?TV6GZ@XG;Rufm!x8HE{13TAG-+Xx2`u9K6I-05^ zFFvrjO_nVf#!ybIx&IB@vhDPfYczMX(*W@x32uR?X+cTCx=PBSJCHAf2 z0#;DcpvzSlNXOf%nIei?91eOUPJhl3FDh`3B7|LG6nFkeT!6&}C*#gLhDaa-IbRWB z8?;xzK){1PDg4RePljrP6t*hy3s&2yj5}JefLE|w21}UCzlCs`X$=!7E}eY3MLMaQ zBTLvkKDov+9&Pgg<5$TNe`BT%pA=5%&Ikk?2m}xa1T+YB&mkGA`x2GT4u2FU!*Mbk zC&O`kH)n`U!<|3O!v@@W|8dw>EOvI(F$IAX_5Kn-NqiTkw~<7NAZ}6aH1buUa{^lf zVoFTUbk25K<~kQUPjxani-tQVIwxVs=tLT?b>nHH@FHV2Lj90tOKlPE2JPw}&7HH-AA6<}^5h8rscS z==BMfCVU`C{T~!+;N5R@XGggYDy%T%%r7D(T2OPEVm7}_)@4K0K_znQNy=j#pTeDOHpO$}T}fuZ>R_yG(Jn)YL^hr;^=l@kvK zoPcd&y%^cPh!xG!xb*6H-J4`a(v~m-VL7ftk>pjracYEP;(ufb=b7KKrQYf7H9JPI zqk|nWz=?Q-rQu5{N{csfUbwwK8WA|sW=kfVgnOJcFo~0J58Ro_Jqm~k!fkluag*Va zi8UN!+S&NpUtQ{1GJ{QZ#tF_Q(L{1GIh#C^Jd?C)$>Ahzz#<7syrrd$w4LkBwpcOS zM2fUVDHv+Q?0@7PXmaLa9?V3UV6PU7Z*T-1-dTJrHHvC-a9)ovYeTjg34QmG2)H5k zRGDiX4rkDrR1CeQkhov_y0%#b4J&9unN((#Bgz@YsvJuk`=WezIT=S+uK*GkYno4 z<-5A_`R=Yy2b+6W`ua*?8y5>jvM%Ja-US=F^ZBlo_*rd74U>DQdjx&xD+MhmCMPNS z+|?_a&>`y~OxrnhW{vK!XT8Mi^Q!Qa-<=1cPdarXe!W4&FBx8wicJm>VA!cHoLeD> z;Lbbb5P#hHM{qU|7pJIC%lN45vg<4i0~_co@=A&^1PP-hU(pqrb|O^gtklslcRd;!K4*#ml6s z&T2^15Y#?DqcNIB{H+V;{vF%M;B7sY*MA-d${^F#>QNpDZ<@&jgYRM*!7vfrtvx0; z&aq43c|w)T(_>I)s@le?Pp}10# z&r{kVvN^AJuW0Xo`0dl{6Nwflw==c#Z|N_7RgV*DLzJ7MEDkJ5JD5MOp*1~3;75=w zHR5t~n==8)5|042$gsrNOcmb4HErLyFUz%cpm7_FqKDyCCUJ3%Y$9aK8#aF}sV<~NVo z98SUt%x@kMSW@&{uY;Jg`r_i^`2c4fCp?YiFeFDeSL(TnAmvVoHMK^2SP9|(Uw^iJ zMVPhEI_?wib>HW?S3O*NR1j*xT4;~7$Gu10C+&CdSMQ^3Z^xEZddBt{*VD|?;#>4v z;E9*m zCGO4Y4{bjb{sdbydAck1W*Z;2%G4~jFYza8V8Y9aBt7?- zy=I5TT@%g5W;T%W@`$^J)}+_glkV+E(wGeX-5i3=EOQ{RsgTTMvVSDCHkc7s%N(?< zrrx{3+JbC)l0M6EUSf^4Hflzq#;Z13I?f|M5J5w44LJCC8r^mI$9ms>`>Li&GI;Sy zUpky!`E9T?xKi4b@Y_X~7V_uaNV4Ab{?sowcpMI2l-4x5)b;YpuRa+syM$yC`MrTw zbj`}Cu}%dglWuz;et#LW{&0WTod6ki5k`9=mQjB6-_~Ni0ERjQ>-iik;_7}+B5e?n zHpl@6LOmYwG~k>AKp#npSUC6V<0MbQ`Xm-BJXBkyyikeAyP6@v0SMAtR^6f| zJ~|1W(KYr?#!C>Jj|BN3L4u;Vx<}OXg%VW-7i9u4hbi_*$A1K14o5(~z+~wmu|AMS zkIx1c17`wEfH)yHwLxpFt97-Zz%l3E_Td0B0>gocz+_-Ha0KtjIdU;>pb6z-Y$nl2 znZTFCu>ysXPDlMTX6jV6t8LbSh8<|aG3l6f9C4g+SRKdYH4w@)JbJp%gQjsbMf{Qk zGtK)cE5{S8#D58^?`T06f};k}d@|V9ztYoF3b|AzlyxJw^{)4NcXUPx5Mqq``U%J< znu)D2N2#3_evM`dj1dcZjCj2RZt~FGBU>vC9a4cu4G*?Ll8)i&S9G$M-rTXNvDc=? zUNB$rUP3~>goJvx`rzBPHjdlc&{Cx5`5zZgN-cdG!W*{YMnb#l1g zK{EMZpo0`L>wpYAGFPr60w?YuhCS@sL6hyIj!}o3oWo7d;fAy+^Bh{G9?|}xc@8a4 zqTLJUUNP*jt47zizmKUGBH(hc+_G^qhyksC`-lPilt<9e$o`Q7Bh1JSw!c|P73^Gh z!D?pzlz%}>j*nwtcXko}8cK2%@m`9q>Vc@_IsI`!Bjp59t7QqX2+1mYq^-RK)*lV)RBudY-RvA_c3nosDtSY?56&L?_vu}!#RT$~um4EAo1jcnj^9fL+Km*pug)xTpW zJb#!}!6Dc=)?(%QH#Jw3fG~#9ujEd~D;k>A=HP`fsA`BExssmjtaPBsj=2uH1IFaR zoxRDeTh+ngL3(Czc95n9r9pZSCVlwiw!w+fu?2b;)`JI>1+@1z0*P1ip56st!)deW zZX^xEUk~{|NR(nD_nunyLNxpkO-YC7On)WPNk=?_Tw;?ewbl7Ns1DN`@&E8i)KwFSVQ^gFyzBr? zK(fDC9p=_JD=vW2t!Q|!r}$T`J8tn`bJvzjrsA?wXuoKs+uIcn2$pbWNA=pRH0@uv zX{CR8Yt3$r7lzua+ls;FEh}9;Eg=H9Ga~Zo^gDaSbbjxi8@Fs3S$E6I4LdYhO(p|U z!aa=cm@FC9&31id3vp;*C3iUEdN>= z%UbzYCGxLAka@FNl!F)L1PGE6tRcn)M>5@w=Y`FcWtl`nNW7t$^vQn( zG@IualRVMJJdrOvku|(b(r{!lB=ayN%hfh2O7@JBfhgG+B{xbkbs9n@2O*qM#<}{M!w2dL26X0!_|rEWOcS`En1L4`ZIWKuFB3;PgUu;Dw@Cpi&ZAd%ek0n zx*&78SaP6=&&6B=iD)jCFkO(%nS6h5CDyzlLM2*S$sH#X2~l(j0XfOd@@Nh``IG!% z{srE`g9|d8YmFxJYHm0;0hL*2awhP9-E zOdx`+tYQr{m>(wdPvQTNqh@*`TR2gmLkqkE<5Ze!lAKI3MT)?QLK1+)T1S86|JMzP zd3f#Md8pBfwtVADTlQ(P%ig?xrORuy3YOl%PuyU40qgoUHH&J4bC-X(Wk>fdD>v;_ zgTw(T4xvwcYU;Bq(Q!G7d9!~n+Wz3?5aCQ3D~8j|3Cx)y6{U-7cr${5sF`R>0HtY< zN|4&`2w8yJU?X%4FAQ49ZkB&QinmKC%GAJSs-)>%IiGH0gYB?i2o4Sd6^1N6LZd#1 zL@=a80HlTB4d_}dF^9uUn;|L>$Pw#2su5t{=$Y}OZ_AI#KSs~lPDWq0v7X-wXtQmj zywiUh`l9Wi_;Q$2jh3o~q{|#u(bN9tLbRcxOZdjscq~9BI<{SgF!6s{&?#6BTP7@% zmRZZ3g|)onfRL!+IE>A+)l3n{atEijzGW`EZOh#7WxF16#4dS6wOn%fuF)qUub;Bu zk9uwqRBhkr_oxulLRlyu)AE+|R(Q=S)qfPss3+x0)2T>WNU>?R=+meu3Ta5T z;hw_bp4Ta9D9qr6-yVO^sGt=u>h^x)kL0yu>cn)4`bG`+_4M`Z&BD#Dn>{zm*DKdY z`0=s&i=Au{$z2QMj~_y5b~BU)v3W`&X_OSl2T18D-hO^6jTvljyz`_z0P%L8ryk9s zsZ*c6_J$V@ym0e1pL%{<_1g7^Kl`Cif25x|`oQf+Kl%R5gLi-a{ipx@iQb+EZh3a) z*GGQz?iVL0`rMya2AC%>EoP`1y=@IG=DNu2k`^Hk4TM@C+T;yV8k6%9sqWRt~-cfrp$c`?Y#B&bY$ zC=;VL&>lU@SV~emf-9jpxTc`uYH3!5S%IDqW`v^xBfPEA#FZJ=v|&h}o{1w!J2q2| zt?`L-!!sO-dxR$IG< zn(Za+122CnAdz4YyN@D{Z6|r>EaxgMaKAmi&t(q;&2qCrSG}BunS{=yTK%i9=p%HS zX@IC!c}>X2YKmZ(!dM4eGzz8r4-MUM#ncxjA0BAWwghThRV`%l94di^Y|+K~plrMcOFN6u*@{QnXY;m3U9SQy-FykP#osZ`Mb};m}xYIKC^t zN8c}96}l?EKYxof6*>@`iXYH#3;m6Lzj$}({@C5|ujL=mzau{s`flX!^%L^<@fEzH zzoWmW=e6Q>sq3uJ29K}lx4fn*@9QCTluq~wH#GCoM=ZTQR~hka_gQ-?HmeJng5o(o+L^%DH`j9!Y^3>}QS@j@bSrZd+ntph79-p;5` z+5Lq}Zu>d%{irsPURS*}v$tpR$TzR+x`H|S-iJq9BB_*QuVJ{pZ|Dy{eG8>DEs{K2 zM*n~j!}ou1VzJeX_S27JO3b2H)@Fb2=7|hu)qp!g;B-b&QQc*+*1}gCNL+1TXceR# z$)Qn+141RBTP2n~*%3*MA_u_{u25-ArmmsP{>*_4lgV<5gTcaZ2`u?#Y{&m!I2vM( z(uJY=1e`97kKJ!OV54pL1PY6E$Och(`7SW&$@v|1r$fG@Zq=FPBcJb#EnT*z(j%7Abf<5o{X%ez1@Dkjb z#(Uc}(OL$Q`rCGI!+(WDL=}cR8`t;Ov zz3|}l^0>P`Uz}PK0G!5%6pMewW3mz?WTpsN#{%zt^jaosnxJOoX5?>g%zJ29lY!OP z_XU2@t=HYuvAHdo*y;E9ixsbP{lzQ#rlz1^btXb;MnHb%=+A!ESID$)^yRKxxnyew zL(HU1?8K{&Tof@QGkedSrvE3VsbVv6L1<6QRiv9l~tYb8>tf z`LD!{gEAe7W$3<&DG}$+rr2PfuaI@Ylsp6%L_8^dWy{#t-ifoQWJP9x6GZ zN}a&i9Bf1=JlphKf{!q=&l8cO!Cbg-kL@1eKJCkiFDLCD-I*;66oy*&wBDGzvG94< zcM?Zi-(=p1IC6Y*jCzueAr+O$3#jyC)RUzJ6f)d-B^G=#91E!-B!x8m%fZIrlQL{< z@_3R7r`;lENMnDEp=YR4Ip0iC@S}!49SkZknaL-Y;fJN4_aNkfgtp&9z9Qo@?33_D z*-3F$WW)v3ZUi%-U`gc>UpSmW6QtMz1C{~?GO+sGs1<1ZN*&GN+K0>m=Gv2D|8A&!I4~@F3`tGj(sQ<6}kN8naM8eNSA1sEQ5iE_^`J&|zip!ki#+NOES8_9>Z-4zt6a>v{fx4 zUg2N@z6vQk6-hP5kE(?UhYz+_GR+uYCv57ytTyxr8+wGTk`ZnAn)ho~D>}_up*b^p zjv3$J{hG~;o?}Mmphe)xa-~!3<$qB1l3nMknJFsg^}2HHdJmh@PUwGqYG+Ds3!=)L zzO#Q70#6NoH1rD|d#SZgV*7 z|N3PeeGm*>f7RO6p)?(NQ_{2ATl0Ue zc6-1-XJCo=yj1J2jgFq@rnt$`mhB2c2Hy+7j9#GER2hR~6jcp8!aw49(fOil!t)!C z{#XFs>xILnVe^=2%={-os}r0;T%cV}!Q-VNUO9Y^LE72Yd|SGWqM*)H!Y}Rmk@GDg z?QL=RUI9it8=DbPx13V~&jqLefKY#<(MpaHJ3M5EIH~V*_Vf1F?7y<>?AQ38y0@j& z)KypZQIc97XUYTB`UQ1<6&<<&QO693oT%pJA$el4vU1u75pRPUBKJX^l_7rJ)+X)} zTT?arjx)*=xvrx?q`nxoa4(YtctfwhUPy#{_;~bCe{OB+pE^F1btg67Yy5wBp#IFd zo@C;>O@*;d)b_Az$D-I4gn!hf3v``+2*}jhIr!&_laW`ZsY)2dM056~DU*r8rWSoc zwZ9R)By*FZm&{9giJ0eQ z$=H&OVPYb|QBkMPz{G5LE)}0*YuSzA3c*sFEgqXY$AVTI8KuRm^Te12p(_yvkxWXw zv`R3JH6byM`=96Hnxe5I)FmzoEfTd}#y*U->+o<;jz^g|?9~UEe$js@2bc-Cux4k0 zETb+De~*PVvPNT=I2&5Pb2yyWZg>p-2x=fPv9x)-lFc?^KWe8Aq1AJCTFp7FA}B)7 z*!K@!E-Rw04*MXIs4^tA90@&--+V?|#O6Lezm@k}y?(&)J}%$~WO$QgktX`}2}y91 z=?tVavPMf_f-#*y8n%CG>Qhi<$vJL?Ep$cVqrMbwA~BC=RWgJA^1pd-UsFSqlZSyODX;G4ob$es0f#* z5iX0=@8-s=GytznNAipEXc5su(f@HAU}Kr-ciyQgsAp1U#~**&1=iqW42DP;U1xNV zp>>B{#}nO_x9KRd2XPFMR78BAsr2l>YB;aFF~t$z)tbTf5A0guY7gxpf%8id+#6o& zEIB+5Z`2TB!@Ovd1kodUy9^b!%ZAfsba{uE#fE-%p|H@i*t>)IXXX*Z*Suf#9g92( zo?!l);hUasdY^yr{R{KF;WT?%IO93%J?A?g`Kjr@xn$!7S0cpc>4)T) z7;S6lD064PVz3%zS;GehF1|}^%L->;@a&xV(gp1)L{}Nrv#Ci}v2c*LP#HWlY5|6r zz-SV3NN3eyf~Zy%MUDH|3i{X@3XP$jyPsI#`iT-m)&dz^Vbrw{GiX49+lZIp@RI?k}HnXW?qhqxv|_1 z!|vQ~<=-a$BL5{}!Y7=tm&kc9`$ENVE|=U~4tP8vUzE#f*jONziB)2&+>g5-7aor> zM!7@kh!2CMaG8EFGbjzjmnD`Z59<$chxmU7$wRrXau4B?<#XH%@(YOpC1hg8x&Z%)5WPRL_&?QUm1>6FDM7u)2T3C_1*LZ|GEZpn4H+on;96OYA zj~niBkH=`UVI91MyM@;v>OmltWftlY{cvtR$cfQ#Pz1?L5Lj7D&>HdtgCRtIC$WFo z>BOZ2wVEJHBBN&vdMTN3B$Ek*5^}taF*q2;fFvW2Q(|QY%gRwnY7;yTLGUDFQIFte z5v8&S4(H%Ih}?qkos%JG9It7ula1LG%WWd00)vSpc zdRa+I7{!a$EiBRkkDodZwj`t2Tg-o1^C=@9_?QQN*YhLKTZlhCC@F{$_|Aw{8FC2d zO)n|=9OOU@I1w)})mUXL25YfHIBy<&=ak_c4~DfML;CWN z73k!Ik$5^4X2Vk2X97-=0JVQApJ{QP<~EGdD&sN3L#TtF{6SHOySm}2ML`Gi+V>ps z3JkAFHeOA>-T0H-_(hzaw{{X)|-tD&F$dYa@>TuTo2tO)|_8=w8<{cM* zPc5#Wp{d0MGv-J>0O+j%XL*+3{X*;QFbv0Jg=_tH+?RKXxZ&@#f!xfYc!b(NU+iCJ+We`SSZQ1 zBQAx9dqxuXCw%Nio7d&FiJ&_L}An;=W>-o_K(SAyfA-)TKqr>mb6;E?9uC` zlI$pzWRoi%Z!4G_g@Oq|Uoe>5g}Cf7b}BJ}rAU!yIVpOe2j9ZPm1>^nJiqe1@6q5LxZn4j zqspKF^l;mWQZ9dv_{m97fQ56^_do@7QOiz-r|wk)Nq>Otphwetrax#UFCR^}I(8g^ zgCipFXc`M`L@l#@LR4EQ*eVAU;T`V6C~ox&r0H#yQDqeE;m9U;$2+K|XSi-l_qc`Y zJ}^0ni%Diuj|v9uC3dl+Bp_1D9M*`alEqf9e>r2Qxbc6;3abAGXK8X`72DwFtLB=I zBcV7?q78vWw{=^pT0GaR$3dvexYmWm9#ke1R(!YjPg^UpXvM+>j#aD2tiW2yF4_jkU`oaUtZVa|$sC4(8a8$J#|qtu+Kh?1Ee3liogK z2aLq3_+@G4JFuALgU=?zQKPGO$)ZRMmfNNFRR@1AtXx!SjAT9b+C5+F&t@Axm3*=F z=bst6YCd9fez%b4BHOob@;U>E$qA9Yk2favx6_j3u(;i$lap8TLY$H$ts`*DrHeZ| zuw7JRfc^mSxjeOM4xd9(bUHcP_Eu|+t zoqm4@{i@2;Xo~?h`A*P~1_1|8-Ij-WBzFQ`^fvqqtHV(Mpjem@x!xF^M0zgaH0rd+ zbKH`ZYrhM8m;M4gm)-|n)XlJ5(|qtL1NOtUq`#D;?8TgGbNNo~-8#x((ApRe<29rm z-k3qMN#0nx6P9fy-=J-~VLQ9Sv(>xFw>^JzE3=>7@43ah&v$F)UiMzk!{A}VSG-?N zp98NI-_}KuM3hcvQYjV^jlzS~kW9X*hQt`rGlTH%_B%MN+q`U?V%VbdL zL2?cgZK@(9IIji0ZCr^~0@kA2?e$<;#dm~-Z?W&=3GUtOdo0Z!s2YY1V+PuAfWd!G zJc0DI9T|j6b55yNX^6;<8gw0?yBlSWETdEgty!&u}CRK1*d)6JJPKI((6KBG4N#BJ( z(D0N6&>%k>my`v-t8E1(eS10gAyAf)prjO>&`%%VNzDyP%HyD<@CS?0-5P&SUHUib zDeZQ2H#OIkMWENx+o@ZrC+NRWI(mZIc#?uf`a5(S0O~#btP}9pnzK|FdIR*R52n>5 zo+NDSNy2_rP7JXIwq4P3R!MVA z`>dAIdUyBzsE_Kaxuw`H`G`!(55_&ceG~BNli{cSYby>i35DBCugP5?X1X{d1fI9q z+l?c~@v1cp4q$-Ot*L)QSg!7BD$`S)U!`>ESa+r-f@*4>NG$qOWDXuriTchIiy+Ig z*?A<9S{Aqxah!{o-3b!9fRUlaFj2q7mdkK~*p0MY*~0k_96hVmVW{@Dm#0Qo!;p|D zBr_@2)G#EdZ-Kku!QJ6ZX|&OKo!`MS+1uVS8T=VB)i6l|J;#5KZ+Yp!>iZXDLy@*h zSoWt1TkKx?Azi&|R~2;_>EJf__Nd*;*Pq@g3cO#Emfc0ITykdW=E}NwBp1C(aavcD z7M;TOd~SrLRfMH6P=r6mcsc>|cdNMiygMZbz=Ed?cpbzDYboloDJKvaQ6Hn?u@=V0 zW-vD9^*3h*{-}Rqte0S{*NeCbMb4mzLoP)ymg3E-L#A#Os{D*#tht4;W;1G_Pr%rw z6V@D*#f^^9wrEsF%G6_JxVsD^jQLcMxhE1!2E}-UIu+F46ZIy8p?H)xXVPw(61=fQ z%AHM3z<8~YeN}J*Fk*$)wql&;5IQ1VHxZLO$Gp#aDX)JQ-LPDsB+D-I5i@0e(CR6b z{|+X$@Q{SJ>7JgpwfrXCbFom!i-B=P39=-j?;x;33j8v6Xl#RdfnK zWS!Xw{kzZabOOj(Q4Jwtk<;nILHe?&H#3Mhi-~x&wPOy(^-zd~6YQMLDZukH6Z<-+ zlQuNA1Q&k}HVlc%!13eym8aHkz3zd8v$CL3>5Do9QO@n_inwLYL@%m8yK_MdpdM(2UOhC7a(F^XT2N5-A+Kjv>>P>X=r~rxg zv?rf0?iQXE-WO<57!jx%T3sU?6*NNAgIj2Na0^WjZgQ3E@fK(Oi-w}kxVhI6boQI| zE}$nKMrJ4x*CG%0&L*x!M@{dWDC}QEnNGNyo<-OQbXpy3uXfuimwRMmhivR!^01%xP}3LKFiFxhWixPaNxbOoO%rhwu1GVt2N7k9#|2-4S_gNKnJLTK`;!~fHANQ z>;kudgW%=brtLdNR<7Kz_SQQ(yLazPWUkpPEnQ?{`fD1%pr2oqx-*iL>898Ei*0`n zjuZULhi=}x_qweEeV@IpoWJpUn`^~tO4rr18vP<0*9X1pZ@Yf|`s;6_w?YPf%4*m7BuVxeGZDDr(8Ss-Azv$sao(wSXfUDHRL(c(b%O zOLwzu9oJv6ePwy&alPyEZTX7(x1N7T|D>&0Ydu*S>(8_m^LYuj7mMxihxlM)1780bpZyT7(O*WZHni3FS)tJW7TSPcL6z0` zZnvWq{BB+;)fb`Km)hEjl-N9}p+}Y9;LCnqY%Ata1z{47b?{ll3q#-rLW6&1f3Ozl z59)yt2578(*Fr2`H1Zm2APyv_Gc2m{h=!RlW*2jb(J%^PBAC}rBh}%J$ut<-I4V?^ z{mF}kxYI_XCZyN!#MNG-3i{0m;4^WCn&G}@^J1!w1D{>K@jLVL{cRB;;LNs*^BqQm zsX*9C+WEu%N1VP=q+m8AGgp6Qj$&{6uBOk}hckcSl-+6G| z$bB#FI&l8KEV!X#$HUhydhn*jeS02WbM+UuSI~Fgh(7ju`gPy~?azCy4inT(z{NFI zbhJ4rhZp*M6ZG^clhuD`WiT4F zR`4l3(FT*KW(9YqnxJ2o%(1~r{a-3ozgChMaekS)w!JH8kZ|kwAtv-0)Y=(vO)V@S z8A2b^(i%D{sNl549Yy9dLSThD&(NV!B^j3lqUZiAE_s&#lX z%jZSc3>o>(o@#$VEU(<0>)U_VKX1`ox&-o#U33Y3pB}g_z10{;_$4*Q=tt2W7MMZj z8IwWJ>NVK1Z1E|x-UwNQAt%fRh`#HjR)adv>LmKINjx2^{GdKHX{&Hkc?1ArI}zo> zC8&pC>bECOe53wLYWGlM2%e_jyZG>UV+?-dTKWsWu77_PptmSC_R&k|e@Aa2T>4*) z`_Z1YmwrPZ*KVhDSl>f%SkU-K`ZU4@6X>h?2dQ!DE7TcELp`i{0yQ(F(a&OHjYd{; zj>g8bCi>muG=*f8YJs%)RKbRsD{AK{Y~tdCaTrD@qL16@(~Z;)`1M9ld|-aTF5XPP zZvN{xLz;i55t2kW*oEKjdh{;0BJEZOeDC7zs~Qi`PiT1bwtfH_Poh2B&>24=XV?Sy zj1h#pThX>2I4)fS@SY69qo>ICILY>Mbj4NV3fD(?TSUiSAjjS0_;u*`e(h2$5|Hi7 z+5>Gz5Erp5KTnSP$nmSt@h8Z(pKO0OqZ^^^r2uo0BmmmY+WWwAum${6 zt!q>2z7=rAhRs9!hNz*TR5aS23VVfv)+2~9Xnle-no4zTYfo>Gx{BTNySjX-w)w&a zUAq)6;sHQgB+m{Fua^7!!KUG1)+VDzRO_$gl>%Q-keptftWQo(Rwr=*mB}|=;_8#H zU;=+YJAR2n7`;S>yb72gMzPW{m&Fh<3{kU_SmVs0=fv1KwH_Xefnv4Zc)Bo&&-eUjV;#byi6mUo*%Q_d8aAd zx#sp2`Kt$#_R5ltjpseFNLb4FOFbb2e3XA;%qFX-y-!Hbmuvy2(IiCOawM~8wEc<2 z^+yJmNjh0J#+UR`+v<;W4<)U#Y)UMtQri|QH|*TJH0O$Uh?>Cs_R#O$k$A+N8{S?y ze08{(jynxdg^lij_5lQ$+rYPK{kIH!VF%o?Y12Tpx_ls+ROXj_(!PNsCTP-X<6(bE z8CGDM0tb`5PtY^;ZfCg4QJ7M+W9G$fo81Oh@3AqjAgQ)D}*h&!~XG zxKW&h@V8@F!WuqrBT+r07WB|Y<&W6*{+%wNg|)_paOrlI$bCr0W<$GkV8y~uc&m0Va-jxQkc%qKpH_AE87a@ z>twvL31g(v;>}qIAxi6^3FKzMj`}hcz?W@&0^Mo{7}4vI%#J`H8waxF;wg-Tb+Nk4OO>rLPO zOvM(6+H9iROqo1Fny>6wM?JlEOWs_6I<>SCX_3z2yI#Cwp48Fnk7f;?oSaHvvg@BH zBRNBd`C?;0`wnW?o51J6vDyd&mP-8i{#=eX7=*j{L)+o@jk}M`hx5zjmD29E-H_kS z?+)KD*zT0VzNmi`4)dVxAC^jY>8^iu(>m*T?&g~-?FZy!a)I0qe5_u;!vS6cmS`H2 zgjSSkj&MiZ{*#l1PvD8%3>2{U03nnDK8y+FQ?t0j-{PGJ6otPBSa=0*q@Vdz{O-Wt z;-Ec3XII&oE{)xdfS;KKz7laqo4_x8oK@08pOXLm4UT_`VEcDb1g`!#-=vUq3N!-! z2OuN9`ATgcQrY8PkC3o18<`s!y1~HTGjJILQ%n~_`50(m;J-0&f`J0VGEzctBoczf z!m$EGXk#di=m7+{2AqCbbB8&~AhwGy8FFNc^`~J0;Q- zGmjUXGJQIaJ;dIeM8u$y3NhG0g2HHFjye|32Q{i@6V#H@LPu$A!`h=k`j3W$0(H4s zdL@6}bX960ogv&)hF=@|{5A8!#(e*Poonyt%=pDriuH9a8tdC@?F#7QZN-e=moArb z79s9%FG+N*?C|oHe_ZElw@MzRFGa=M`!kMcK)ttb*OO=voDK*az*@ zHU;)ns~{wbFpQM;-kD?;z1#$9QRi?5X2cLgKethCuU1!AV5J?Q(@D1+$N4g<1%y4g zy->sP1*9*k*(i|Kh`a46oW>Vn4~*vMR!8gzYVhPCLLIk7JIgOzZiGgJkI;XT^j3dY z$m#1H9FmqCSf7tphDL@XU3YW|QNP;~W&Fy5(c6}7e&K;tEABhDW7(F75VWyc4bNLO zQR>U~R3_u{rGs4c<|lTHJ+P%OW=#~F@kGYs;JOwLbV);ZpWU_RUyrN^TUnEy(pW`5 zrc#^>^lF4#0Z;_j)qMA5VOJJbGWUOGsIEA?#|Q@*I6%XN6x8B&32`Ygbu{%@N|Q>t z$^pJ8xq?xd4_euxBKw12E|NiI`c2};H99>zLeWwiFdofS`ypusjfzC*FlGPpFOLpz zsloF6Tle2yZEVbRhD=z2@$<+rPE12hub|SW!YWwGDlD5$vp$W3ptm+IU{V znJ7dFN>a95NMsFyl$C6fO$f>{E3`s}l?8!G1Y;~C7iK<|BqC8Up@|SssZVmvZ%4?G z#~6`URIS^MPy$KU807H+uWo;keu&_Jer}u4c~;W4Em#)$pWpBL|LlDWcw1R{;5}FG z_xoWzuCAo3hb>u>CCjqpm;AO9+esYTd3rLkEyqe6%gA+A>twSEv6;ejl4!ZCHXETQwYXGmt__G7NCc}S>dD~5_53kis;L48h2^x{+ zWq$YBpVxA?W?12b*7`vs$0hPWvfk@K95Ys^mU>icjQ?G zZTVSfAm;Gy1LTHv(r2f2W4@@2b$>sRwcjR8XJ!N1al<>*-hYz zlM3h6PMv>+lYs})Yw(MAZa(Lv8EW_Z635H$10~+OF(ve%o7G&r)2$FYvuX5=bk-?W zxI5#VrKLAa53=2Hw;#tdcIT_%-WCg<+jaYg^!+e*oNCFdEuIi1U zup4!9gHvI#D`|zdFO6OmJ;$^SaMh1{2l{)QiP3~z?T9cs2s%omL+97J;=MjP0Nf(J z1GpuA05Becz3}MJ5S2p;1N)Mc6M?yG#F1ZZ9_n8UfE<+>AW0c@Chmf3pQScT@Btg@&jZ3V&Bg3c-JfrrZfCqL0v#pi$>%3=ZVv3`)1l)n;#M61Ool zA8SD=AeQ3PcjY_DEBagHTx5PH$@|~r_4)alf~3Id=&#P>FaASITS7tK!|C`Dq`S2N zorJ}G0F8BYyJZqrPiM8eE!`v*S3mEqeqO8(IDlEdMh zAA|;zE{^kN#+&J5x4t5B?R=&^?^lBc#4=7=*?m0gBK$J}|K1Dy3sJwHFDP`04^ikH z)Dskaffq6|g@hbS|mWbZ?$A0a(rQ38n&GB$^t-h{phHR+5r$3_c^|hfg+Yz+*cQPtpf4cfuw%aB4CYqZaz?>|) z$@^NlI}^M0U6E|(TloA2!f)GXls@ZkvC8}u`OWMfiZc+kEwC0Z=i`5w*l3I%3!`ip zb+ThDopFvj>Eosq6MfQn&PdN`mhsPD7iIKG(K!*V#4+4Jae9s=FQ@+;C*`=56>49g z+yR{`5|EIMAbHW&%{vyP^Yf0HKK!K%$;$fK zL-DVR41u9@lauF$0|tMQ#2g-49vdhON1GIAXXW|FrVjnqOY5s&ed4gC?Z~B1oHEar z%BQ-zPL)??%)a~277r&|#^%qK_#Lun12lnyecZt>Q!*gKuaC2FIv#gtExG{b_S@Zo zmVi#JZnxMOt1{Cb@HZ^7cdqaoIbj=jwYJzs!lsS8jF=Y;v`pBT-du{0Ww zqH~c4B6Kmd6{3GfLMR%f7dZXqU((^8L%ivk6+C zU=#04h!TlDA0BIdNs0bgiJn%XvhqRYlS+{?6M(?~vloAw11^!u%TV}NK~qF`u(t5~ zJmI`u_=nG!?!F0&SA;<>6qBTP&+;H#%ODt`J5)@}K2v@1y{8|XiCHBRk9_IE+g^NV z{MeWyo=7qs_n(}L-uiPv;m#9jBgOKi_;5!2s%WBr3&fS4hke3*KF-u!qDJ)T7oa8X=q#N65%K`9P%DBjc7*81*N zbg>oP--`NMQERfN$DGv2Qk>bTGpEvla0Er92x*1~0uIJSf_ZBjqfzS^O2Y?p{p(~; zXuz&{eph4Tl>2Nq3 zeftCk&B47_8mo!?y_-QSH_r*{s7JkCD`TN+>3(DLnaFKK*`98Eo;NZt*3327mwQ zZ2aVKi+|$cbg;iOZZ&zcI(-mDfn$a8eDxE=wCI;uby;_ke*wyUo?#g-Gy$9!elJlc2 zT7%YZ0eQs1*M1Uo-9w$pcX^nn-RMF0lWw}#J>{l7?zo$FTPgH@8m-gsqUkoepQiOR zOVhMY&grdMe8S;IHhF+|zB^aG&u@PRuI^lY4fE|`3 zQiXhaJBp4+SEBS22K2ZdJ*-CWQKHUHN0O2z`jbeXWRr=cD48^NIatnablQJWCzEvm z-d_kqFvMYyEUNKtLWuqRXMGzhER^`YMexo&4!^a)5VSgT9H;K8w++0#BMt!0Oo9HW;ox(6!y19Sv*0`~vzkzdW!+huf;h zG?{_nY(V3Tvd)f7#*IG7c7%VdWX+@m`o&~L{7`-*<3v)Y)fse(Z1Rj8j6^Dzb56I} zDOWn(Ua#BjbQlbBrQIQSC=+&v*$#g=b2?ORuiY#~N&{mOR+P1q;XdF8KDh(`L$((9 z3kT#dm{h{Pg4B>r1z}N;dIF8jERF)qk(l%EfmUG<+%MrDJ(CkUh13q z_q<($T3T3>iQ&`+1Er2elL_{dnddX~LPn%D9^^^2r&SX6F&5$XXwhm`&35J~O2KvZ_I4^g zX_eUA-l6JgZ81Qwicm(LUG@9V4Ng{zlHksx zP1RR})n8TrE>QiNJs1cz0kcJFtI_Odc3wg+FXTs9iQi8vtrnHX=hN=|H?$*jd3{=| z+n}KReu<%FGJk7_zOeI@sHJPrE5nj-L6r1?BqotO|DkX=(c9Z@vr*a+?NDMY$+RcN zSf<^lOnI1gW>|lt9nz|`Lq27(eXIT9cF_#*UW?kHHo>%;8K%9diD6&^r5tTbj3rcF zpVIeu0=*-FMYp9y%Sx0``jp&Q!aO#X0N3q9KHt!x$;q*?p?p3ugocLl?LEF=qL~Tz zD#s=mhZ1RRjQuWU#wFMx;Rl&g{2dM9FtUDQ1B>QS?UjEkBs1{3ZfI=R?KbOlIs@z| z$h{FFLsS=;Ewd{!YyvWqu-6vuihvKX)Nd?jG9n_)Uz&rANvw4@t-M!b(a5ycCM7!H z=oy<${>Js#Xf|Q5cF4TmCcX7zPbh6Bjlu3vR6k|!7@X<&=oMSCYp4ZpvsG5J+~A4@ zfBzdMm(72y(iv4^9DB>T^_^^EOeJVLw1zpbfn@nnuj$Emh3u~ZcG6D;ph*IrvDP8J>!v))Xm&M}n zySP9k;xYw%3&5l7rXm=s`j>CzqCAA3lF6f(J- za;T6(h2{`{QXvX)N|jluQ~|Rr_=G|!M**eMsHz3XtMDH?2=e4ygH{=U(rYRFfEV%# zXA}HmUVfA4TRW%FznCrNoa$ik)-wG^)fcBurtE6YCAx8I$(x&sRevV>s4;$|7pd{{ zQsmT5@(3N&yqm(u2>t(n6h7nbpiR&spFrINF-F>wOjMo_`M>(RTTD!cvmIH%btckB3=TC zZJkHY1f9LT*{H)E%XMeW&5N_y_aeF86Zd&r-Fg{PxYDgm#0{JmdyBt)qS+AWnpqn; zxG|G|^=X4ApISBMC#Le@mi|NIIZgYe;vm~GJU#}J*ruOBuM*5*t75g;lsY*@U)I@7 zRwPqWawG?wpGAQ3t@*#Wf*%|~@tx#V{qLKgWJ^kg{Z(ktTwRpoE~-i*_m?6d_tf>vo!0s(N$s)2+p{8n zr9@-Z|BkcpSk7#8F8L&EWs;PmTP>mef?%J6=hP?ZKP_F+)y!^FsF}pYBu_(fFcl+V)z-XucY)8&1 z2~BQJwGD*yoY@|2i8`DK&Ken-Z4t*Mwm>H6ia51Kr$=ircBTTBa4s-4W$x-q$P*_= zTGVE{%4Ri~43E&!Bfk#8pH~ zK3EN(e(t%`=s$h9`ZX+pE|5T6@;DWs`twb&Ig(#?yF+v!px2AQZ;NP?ozfr;W;qQk zr*>H$2g6K)CIR1x0%84;`RivWw%97N5mxFdOVG-JC3#%*4GkBKJwXfNvT&#!x9Lo3~Mv z=5jQe_DFn}ZJss>c*hWBL`LjDC`ND~c(Z#A-v&)4d0hugVOdjqoTUDL)QC8RghvN< zk7a28z=h+3cK2{9dZZ^19yycgS{iG1W#=kS&Q+fjNp!w!vpM3osXduUAS>CTqX$=d zwN0*$!|C*Wqb>2H<$Us7@x)-T`l!Ce;XgK+HUxWHn+^;moaFf@pe6&{SAjRwA`#F> zQyP^*sZ@wS_Ftf2|GO)HZ}NCw_&o~GOdL>ug@s5;xCwB>(H?br zyN{+)Grc~4s?&<^9|i}GwY8rd2lp4#m{p9+r1zzR=`p!8-75AQ zg7F;Z>uYnnVmXHGi2Bs-R7cL&GMaKR$pP5ACDLasA)_``o<5;NzMv8JF7iNi(XNkV9R{ViUJascg zTur9&7NekFNLWPFAOG)24O}<@YBjP)t@7`B`7(MND3!mnL8<7k(~(`JIy2gm0Hr$k zv4>{Rwl3oE9iK?+L8Tnypi&TxZMT0(_t1YMl4%c8)Xq_VO7R6mnP9h>PUBd;4I1?- zX`LXgvd>d;B{bqTBZcS#q;2x9whTbEk+!K?TTmsmsbSm%X**P(5kJPy&)5YcA&ZrZ&-a7ZS#jZK5q7Q{Qu>`_{YhZ3TdWJ@ ztGKD!+p_V|giI=h<(D^;GIV5ie{O?+x`}M|cfV?X$G`p9*6{jc@iVrrrKuavz~T7L z%ZWM8`mg3&+7HNrdU3}mV&(pR{^x)tI#&x@?X|EGmtG>$>xL4Ej*fAq((M|p=6Zb= zm0H}F8i|;H^^13US^|M~&xTm7HJzVFy=^-i+kXG-eBWoP|8~x+Hfd!Xr!=`u__u;T z+?t4gIUI+ouKO)Ey^iBdDyM6Xd=2NIke)|9cco`(4LwA^o&K_DQS{g1zmoio^f6gc zo|9iu{6P5O^tEuGeNo7Nt-hnxPu+2y>26N6Z% zx9Icw9)a|_?{&Y~Zw@4b%c0LUH%HRZr{czc#LEz^meXJA_(C?-MRkw#TzMuBfe%eoOAtnD&(!_q+PyYnd z@{xBP`N)3SPy1;wBxnV--6{VX*rpViOWXW7~CY+|-^PC9q%*pH5X;KYYd z_MH6wsq?3Pe0urxtMd!mx`IxFx zUOfBC|AqA0|G#OaYvqBJAC;C%pDNvdKDT`C_s%z;fAaj(=RbS?#q+P6zj6M*p8v%v zy=q+bLi&&UX+Q0!{j{I<(|-DYCy_U$Qs`%pA4cz@q}2VCh~jQPiJz9d{XNKYB=5fc z9A&1=kaLs>S~+NSL!P^R8uISjLy(`iy#o13Qa%lNGo^#pX39Wv4qD?d_Bs52#%*Yg z!&qF?eLDsDX@Hp`ttlAghTK4M4tl1c|HF{ypidh5Bl*PbFF`&{%Cn?AN6N=Z`6MZyhCD~$=K%f?#3 z1Ke@|`84EXB%c6$asU&TXG!^gILS`~=G}y@Zc11Ed&u=Lwwp4LGDpfoz=3XngYyZP zr5oVj@==(po0=hgj+6WZ)Q?l+fYmHu^$g_t+czLLz^Ga30Mws=`gcHXfczvWpCske zqRo@D3rww zeI%6H(kqmul)-X9D9fm>dLKDuH+@SeE2u%sDWR;9(UzwHG7{q_j@7P@ld=TLde`Sj zSxV}^M#?f$f0dNwr2KtjL0XHc^>j*o`-yy=OJGfH}v6o$d`E@@@1Zfe3|DV zU*>tpmo-|m>vd9AHsG(qxJ7t4>V|qPE=TmFj9)FLjj*I_g0e9ZBV}_#e+!|JFIyYx zo5)xm2Pc_}hv{zU<7p^!r2iBtw~+E_Qf?*XbGR&Tz+c`lm%5>UUR|T*(-cc3sRY#q zcFIyS)CyIE&q=CGt-;?WwN0&)nnAd#KpE!+s4tNoF=*+hRw1#}G}N7i@tf2JxhleE z5qe*Qe2MhbKpKOq1*k1jm!RelfxZUw*5;W2=-U8$3*fK-w+t{#)FPA@p}Y=lmHIqv z9s2}$HMp&fR8ej&O9NPIU(6!kV%Rork>(`7m`9AkF+Awh$%x+qaT`E>?249_&hKh-ktk z=(`5|z;axFhEx)0YK6a}1lAhBD#9pUt15&S7%G;|9O=I)%sxTrUn2NoPPb86kZJNB z8joq-0zB3Ug*>gx1nMS{-3h{9mgxF6;U`c3W?iPW-Yl7&CGd+xvx@|?CDLzQkbRW+ zf;BSFI-!9dyC^`ZVO$`v*NNmVK(9^GhDR+BJZiFkyi+cl!U$eVDtFZ^*J+5>uXpw0 zZtkp;>m?Y2xf>O91luA%Z?rzoofMRaK3pPvS|nC;FP>czC@m3tS|yfKv+_H6UnUx` zO?+1gd{v{K-WxiP!>`NRMk}c4W`*eeCXw7?UGMKjL2dTC@#<>O0Za)`%O;tx<`*l( za<++o{@`B+S|i?~@P?G~x>wkvRlL=gg`B5~FJu3+E_fk~?Zvva@o;cY?Cai4M|qFE zCP-!%dd)&g0+%bqFJiA&68Ib=E1X({z%;B9>UKTAUagK2$rMO=NzjA4z1f|X5GGz7 z)0u<4UYxYV$Q&0*{O`n|x9Ia( z*Bvk>YA{%LU7OEA9WSSv))Yy+Toq!)u6Dm!9II*N8^y+eEpJOtBU~rf?y-N>l>Ctv{gZ8!ZjSv`){C%0svRuC| zHfRX;TfBre0NQSZ<*{BMxDV4Y6bMP5d$M`IiUXM4)G%p1M2*1JG4kGeTr&=JEO^mrXqkhnA*daKnh^9jDzt}) zq>hm|GzR@mn{3E11RmXEgz_g$62t&p&2LYoAa)oPW;qx%`J4)v7Cp7ceP7xYLpq-~>m|%cs zjtR8#{V;##gcd9#jNb&LU8?#C55@>KyZjr3&%=N@hCd3eGbBPBf{{aigwmsgd&2_H zFtropYL_ZrQiFsV%vH>TAt+D6-)Nn8(&3MhJZ7S>UEbPcSIcKhi|k@~ zeY=9kuo!$I#Rl<5Cdy71R@Yb9vBKJ7dGS2d9w@J@v140H8+fLFnU&H8yV?k6xm;lf zN(-x{#lk8p%m{tTFe$rH-l{AX;bVF8QlV00x7L=56?PNTF+RgilopF?8^tbmqgZ5% z7Z!?3OT{I2m9J%&iW`fS(mE!P%&}D5ER;CTEp7u6l@f3*%FdM*H-UtSLS?DAw#l|-Q_1>F?8esm z`f3R%UoNk0#@G|(E%riTo81B)Y+`QXYId{CE>?<#&0>^)T`Fy?g9M^%VQq;(^j?Q|eytK8r8D+5^!PqDs zQ=6c)#$H+}Ev__Rb_pgetu3x@En%grVP9Tb-Dbn3W?rrh-2uXzVauxl=4Pe1u~`AW zfe>~lz{Bf*u(}8b!X=nxvv>hZxl)2zm&%vcR?CH@z1%DCtOE4|a>_6jl$WCfq0slp1pM{FhYfmjq+ltfc0akyts7%BvRlV zLTMF$I1|PY_fX3o6<*RA^F)061i5Omv zSMkC^`C_plVu1Ij zcnFAyQ3)g=!4PN&5D*cNmxzdfh!g<JDOyFO3RICIMWsG} z@J0C%`O#9O+5elfb8qgw1V}gy#+lJJGT7@Z$iK z*KUW7xf6GWq?Abj%w@*q=T4H9;#2z`_duOJmr6yjT(i8gCNr`lunshnYn$F64Nttvt^y>s5B+9 zM@mj^X6Ig6DLIKfdgb)!-ZKq{Perxanc3+%I7(W#wCvm#I4aT-(|SWm?3s~&l9k1W zO6i5x=WzQvckj_RC$mdNZem9Ftkg6lc1lCbQaWX&*@wbObDIXAO=wmgl_-LrFZpeErgb8-DYmr@@7%?J$$RhP#J<|%?lA4y1g}Qpm!r_@)V9s+Nub<>vW;Cx; z2Gc{Dfz`-J=-={6D!4y*H+_hGm)x<`@si_Dj@Ll1I5s=hUcO6y`7U`0`u6f&^76Y& zZa?L`e5br>-YK_7@ABR9%XiB!-z~p%onFW)hbykj2hoy&L4FW)tPzkJuclHD~A zTVD?1YeZ20jMtk(Bi5foBUYHa#&p(qUgx~c*~NJ?;v12B5RgyK(`~#Op{>`RcM#)e z3i6NT_ts<`>V0t{t08h16*T0C0dmBW%d*HT-?Hu|zG^MVv6!fn%asK^(Y{F?3>E_2 zY8B*m%g$-lifEQy50OrPBu0oaB;>KgeA2|@;=jltmWrj2pApYMUM7}7epW1p{G2!j z`Fn8^^1mIiq&fT!KRFz6j&#Uf9JfKva!i3d)iITXW18axkSDkwggnvxC<*s0_hXP}yXQcjTWu9-)qY#;x8$g{ zy4oKhZ;VMH5z{GV898E}jX6qM%y%&-ApcMuHCOLj{Xue6pXjMhnx}@xAcx2FG=+SP zrw!z`p5H-U<5>@X`6bVvA;00-2Kg<|yO4K!c9HPx_Iv~RTh9@s|F7pb>e@P6k#2Kjp*Y{Z9+96sR_kR3h;37^xK0J*lWHqz_(hCv?g z8xDDd|0dG>$^J}o_`CYMLcYzP1i7obo70>@UcVhp}8Y}h7KM}%SH_vKbqE1U2>+UksK!94*P-za#NaE!$eX`~xlM?7k zYJAs!m~mt10LO(JUPUbk5<53*X{Q5g%taVL&@b3F3id+xnQOyPJI#|t=K!trvBS983MxalLHGZ^E~xHq@4`r*?D$wWk}g3b=`q z&r)Y`(*(StTCunf9&yP+S9 z)W4X^HWxb5mq`)2W*&&tea=Wdu12KZq<5s=ba148%}A;)!t@(npz0ch+M{LYRNWD# z-?lrfJhpB}BK7VQBK01NSa+kJYQtNa!6Q1@dwb_7K1%Ufimy<7v*LTX1{bU~p5(ot zRx16V;-_rhr>5eq70)iZT%Ue_ice5{k>cwVf9EXa_9=eC=6Qa_)&9J*951iG;*%7A zTJepFpXL1WKDT*a)ti0mE1s-)KQ1S)N;QE;O;qYg#pf#ig5vKKnfqhKPusj-UB#1& z%H1zp@zIJeP<&mHxnEcOQ=8we&g1sP2w&1}Zy%+<7vVA5z>cgtfPeviQtcZ!MsYP} z1CK}6G067Ms1^-YJv%sEaW(RTKjqxdD3mcK{8;`eOo3!O~y>EurPKn%2=q z+DhALH|?W?^c5XdrIr2N)kyJ;j&4;VA7`{~TV>Tauq0&bzSNunt-`zv;Wr`o>vu;FPvBK-eceuvVB$`fhX%Q`@ zmGlB_pw09Ky+eEG0DVq}={TLzgjPfIYqhmTS~IP+)q6Oa){0EF%?&y zJWBPzsM$8ZS65uM_+I4^qnj$OYkksSIBa|>bbG1$Hu9A z<5W+LPgGo$dq60z5a9uJ9upKYO*m}x2L~&zyk=sa;_un~p{|N=kF>^z_C{Ltw0zce zw#*hqSe>0q`OPD$wT~>Z`E=E*)0I_EAFuc}#Z~KOG*evJ*$idvGd?}jpJp~ze2U`h zIgbbX8)H7xR{p<#IOgZM)F10&)hjc%+x$^As*fr(m=&+M8l}fnJ0DxGxU$FDGi^R6 zpm@Kce0Gj%^&I6TbCpfZJex>Yl z(L|d+Il$(NQ*HiKlHzM@zNCfX$})bf`sQinKTj(p`Y%=gQZ-V~D1UlJ`NgtTHh)(6 z>9gv}wmd_Bab-!*sq=X58=J3C{_?!?v*!=le5FeNO?$;v`&OxI&~Mu+uF_YlcK=SD z=kHYitWnph->WO#@0DM@Fx}>VXs5XH$F;eN@38rQkFfbVVNGJslWGnq`oI={|Di-DWJ>W7DVZXBlUghk>&TTjMVpMkyx=zuB})0Uwwq; zV0M2wTtKj%0DZ(;ewozugxt7J)OX=^R#dP)iqNX;d0ea@$NY@6dIcvf`Bks8ml|Pz zrAF?z>XmiN$~*8`Hapi@M&?$$zfCNUD4&*9u28zOEXwnw&A@WnoTp@jMHY8_Do-fh zSr+ED`%2nZ$i}MNIhQ7s-C0_X0!Y2?| zta`=0dQ{d>UOrJw&#uDgRgwS?`|w=XgJShoR+%-YQV01hT=hNN%i(e;B9v}_J$N~w zFZLJ4<$R>eEAFE5KT$N&UmCr2DTbdH`kXo24W<-KEzg;7QFRwgEx+ScjZpIYSC?)m z`8}CSGnDS044157Q#pjJf;TO*;LUR!dsDd_w*=u_t-H9vT5j#Kmb0|frpgxV)>Vd3 z*b-})O_eQ#_tm-Q?Zw5mVjg#Yt+n|QI?L&`@lTU-9pZz0$b@dr}BXSib zU94ceSj>Fymg!N8^uVHgurh^`Tn8oA*mzS8?MSx%dBM=S{tJ{Z=8^YRcfwvrQL6QEOn*h6;Hl;HzJ?oas0jnqu9l~9-@681zUff zobtKzDfp{kf4M+!DgIo4)Vl8ST=c?&wY8#KaPflmu=TKviVqYUU;5`8D(gKN zI}~e;Q>HUN;8oYlYv&Rk|C5S1YSjzYMr$L-BhRvby`4)+$n}`@meTTr=Zh|XRgw1^Dkj*zRB|s0 z`CzF^Uk()&tS^<25WT11OPfku<5X)G^IaFzuu2wq4WES``40TADy?nBwyAOk+oG(c z)|bIGhV|~x%NEKnSf%i{^VV5uS9&E2{B(SsypLzCvDAB4)@-(+NIdCuuZj}1<6#P@6+LV zB1%1Nr*pXtB|2V~jVAW_R25W5Uu@t$k#ro}m)0ihGd_Quy|pEjZ&zfgs9H*Rwm9Z- zjw}4Vu#yDK-t4|oc7eX?r)=fP@N3DrdqegeN*24v)SO{|hP496x8+@EN8!;DO6QT~ zI~TPYvLCduhRJh1!(N63`w2D{}~XIkr!%FI3tQl@?ruJbgx~P)bRk4p-Ir6%bY; zbLb5l)o&Yr3gg1mkamIRbv|sb{6X3k;txZkoDkkCjPMbCq~=KSETeGze0^C}?dr@B z)gwxiGoq+`yUvu#;)qo#6y5SOQ=|K;WOMiPAF;9pUZ3m=%{rymJ&vp5Ky~)_hVqs5 z*(C6>_uEIO8rBi47Jd~vnj-#9rILkmd_G)o3iHZ;P3RqoI0)R1gS0E=h5jV3itmQa;S-{GbVvxUZo+!=JZFEt`=W*4_b6FF zjb-|_=^3?8Rs72kiie)>sI{WqoAxYXms&0E3axZDQ0R>lTUKkFbKBK};Z_?R3O3ke z*It5uv&m9tQ!eYlf`|Bhwl8_L8XV)`d+>JZR4c*CD)`K*!S`#j_`Xd7OLnaOca3c! zgf4RLInS!x?_ZUDKu_5BkZin?He;`m?eRGavR>${5#uh8HQW09!s@Arpz!8tswhq&t=Ds=i z^VLhvuA)M5$GSZKBct-#n`)V|s-oK2#$F4Ti)ZHv;q$9dzlA*yOo)6#M1?jNxW-Y>2MeEn!xcMJ zphbuLYifAAt<}+MoFd**zGP>nQTO_GMemh!Ei2-iKbPLT!M?_^bmsiZenR#ZzkwBe z`fR6Na{W|9xTNPzWf4M_H>6_QQCWhugu=hd_L2Nw^N9T?3RgHP<&yP7x%P{=ha7(A z?@PO{O8;Kp8AmJSJ4JK}qJ(vSy`o(un|WASg>ODx8lh}{PoV1kD#7`G>9ojFVZQ-d z;v<%_T*Zdc{*p-9{5n9@`;CE;{f0uQRK3#sP}TE28LHmMR%|HQ?@feC1%Cr{cgf$- zI`fyFt3oLK?@fe$1GE%dr`jCU6!GL^e7wp4balr zRlTZ*@1?$ymC0A5%j?_I7b959<=5r;JKL?#oA&~KAE%stSLY%IE2*MeP<2A#ulLZ; z<_kjQ7p&iwAnyfy>%J=ElpRX;t^3gT+ekyoGRtK{nXFJ2d!UT_QBEw>$|h{|=0Mr}=ikNtU(50e@+%hB zI{u!;n$VYux>+w*bh|2Ju#PB1vA?yI5dEE^f(^i((tV%dh%BprYR`)N538yg`2C~1 z&?|r7_m(2Q&rmjB1}(4ei(c$dHNP)fF+qJ_^ib9MzG%e+h31Fk*VRJ*mr6NUF6`_?uV=Fq?Z^fVWTVWUS{j0)q z<@+_Pix>D^z{~i5RE(f}aQ)@Caf=hezk*xD|6E*;xp(Q_fqak42IuYXU0^dSchKk{ zIVeDl=^APYY`&gupc|SztLhT64SlGa>XqP?QMslBbeuYI8H(>~Gup?#)*eW87?{h*NYoOdvT-aAZ`-L;%0G+ zxK(r%DWa3;EK)_9NEcm1hR76M#cd)>bQ9U4yXYZ)A#y}dkt=$M-lC7l6MaQLal7a* z?hpgSonoMW7$k;>VPb?BDee)Y#Jys)xKE4`6U2jJqL?LS8OkH$vhW#fHgkMXhbiE+?4WPE9SWqfTMHNG>B8Q&YnjsG)F z7$=RNjQ zoS-F8P1s8v#0|6tR10>~5b?FzwGcam1MfG5V z|EBudPufq^0Jcb!h{kHv5H{(e1lVOYY6RPip(|mZ)u}OTv<6)TJM~Z#*s4xf!(I() z3Y+!PHL%;7)C{&;i>`(J)}bWWa9wH+J8nQNV9SlECG0tgTEV7U&~>oumeg9>Hnov| z)=h0;-#5_pu<`cP4t9Pc(mRL_bOY@DCTb6xPo^7T_cv1q*#0ea6YT$1N`?<~q?_Rf zDRhhU1(Zq^sdOtmB8@u2E7BPc* zvZ)I^r#of9dwNi&^dRK#DSA>@_)#u@-3DLkg_Pc+H)X-6`cOCcRUT!-xB4QzpXf*3 z;bXT`5BOPs`UQOL4$6VQ4WORzxjQKrem9VM!S@DHZ}{I3>H{AfMtShV5!4sHIFkCo zAMc^t;gh4NKm77ux&yvBng+l>@1r~6qhn|w{B!~hg0DVEgW<0e=`Q%}EE*zzW{cT0 z6uvu&hQWWQ(s20jqcj43JcsUvFVCZq@aMPYdJ9vTP#H)uS6Fu)f+W!+K#}Ii-@0BdK74LGwQs5#k_@P0d;Pr z$ACN?QBP;HGvZV;6-Q4u(-8xSP(xRs(QG)=E`>)fYyt>V1F;vI0~q21D#c=RF7+PuQB!R%}-@ay4b-x<+fEwV-BNORXhctF_WvQId9@b{#d>T5GMT zh1N!EgS`@)T52b?lhlgw=sL!u){I1L7>U|4`drWG(~c4621cBJ_QEH8K%7_+3taFE zKX4&V!~quqA^=>Fcyu%4(Jdlg!~+o$L;?_@wx|t6kO+2T5&D*HW$r- z2<=2W#1g-<8Lhg1GfwqjocaZ0Qx0QOPe!F&MxtJfM7yf9Oc>`pLTyxDEfn4){7`f&$a?N4ndYqB#SBzYX7`f(| zDP{^iX?6mB&13wUW2OPW<^jLD;3yeDv3X{unMsQo%jTH_&4Kh3kW81jrqvW%;Qayd zy*Nqa@H_kz^VRm%roO)6zTwo* zpX|@1+i~n#;yZB+$8O+gM8a{kqZPRwZ5-{$=Xk_%f lt|Xf6N_O8wkGpSich(+v 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Μ@oCdFc%26ZG;?>%eVNEid!%sat0tApNuKxhG? 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


xf^E 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 Z8*q3N?oU4Oa`JLRAsA?MbmEE<{|B&OQfUAH delta 388040 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

vwW%q*uX9_3^#E4UT~%@=_A1P~pxo5a(8~?E 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 - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara b/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara index d6584ad..e13b446 100644 --- a/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara +++ b/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/NACA0012_unstr.fts"; +string gridfile = "./grid/NACA0012_unstr.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/key.hypara b/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/key.hypara index 0400d3a..217d4e8 100644 --- a/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/key.hypara +++ b/B01_TwoD_NACA0012_SA_Unstruct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para.hypara b/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para.hypara +++ b/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para_subsonic.hypara b/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para_subsonic.hypara index 5867ddc..6cbdb9a 100644 --- a/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para_subsonic.hypara +++ b/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/NACA4412_unstr__2.fts"; +string gridfile = "./grid/NACA4412_unstr__2.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; \ No newline at end of file +int limitVector = 0; \ No newline at end of file diff --git a/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/key.hypara b/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/key.hypara index 0400d3a..217d4e8 100644 --- a/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/key.hypara +++ b/B02_TwoD_NACA4412_SA_Unstruct_2CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para.hypara b/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para.hypara +++ b/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para_transonic.hypara b/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para_transonic.hypara index a939104..6334a18 100644 --- a/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para_transonic.hypara +++ b/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/cfd_para_transonic.hypara @@ -171,7 +171,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/rae2822_hybrid2d_fine.fts"; +string gridfile = "./grid/rae2822_hybrid2d_fine.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -185,7 +185,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -198,6 +198,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/key.hypara b/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/key.hypara index 1fe1d99..0cdcd75 100644 --- a/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/key.hypara +++ b/B03_TwoD_Rae2822_SA_Unstruct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para.hypara b/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para.hypara +++ b/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para_subsonic.hypara b/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para_subsonic.hypara index e4f3d76..76f17cf 100644 --- a/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para_subsonic.hypara +++ b/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/cfd_para_subsonic.hypara @@ -165,7 +165,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/F6WB_unstr__60.fts"; +string gridfile = "./grid/F6WB_unstr__60.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -179,7 +179,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -192,6 +192,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/key.hypara b/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/key.hypara index 4c2e265..0e522d7 100644 --- a/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/key.hypara +++ b/B04_ThreeD_DLR-F6_SA_Unstruct_60CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para.hypara b/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para.hypara +++ b/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para_hypersonic.hypara b/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para_hypersonic.hypara index bb977b8..cab8aa3 100644 --- a/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para_hypersonic.hypara +++ b/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/cfd_para_hypersonic.hypara @@ -148,7 +148,7 @@ int iunsteady = 0; double CFLEnd = 1.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -160,7 +160,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/X-38_unstr__128.fts"; +string gridfile = "./grid/X-38_unstr__128.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -176,7 +176,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -189,50 +189,7 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; -######################################################################### -# Non-equilibrium gas # -######################################################################### -// nGasModel: The type of gas. -// 0 -- Earth gas. -// 1 -- Mars gas. -// nchem: -// 0 -- without chemical reaction flow. -// 1 -- the chemical reaction flow is considered. -// nchemsrc: -// 0 -- the source terms are not computed. -// 1 -- the source terms are computed. -// nchemrad: -// 0 -- compute the spectrum radius without considering chemical reaction flow. -// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow. -// ntmodel: The thermodynamic temperature model. -// 1 -- One-temperature model. -// 2 -- Two-temperature model. -// 3 -- Three-temperature model. -// catalyticCoef: -// 0.0 -- full non-catalytic wall boundary condition. -// 1.0 -- full catalytic wall boundary condition. -// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient. -// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11". -// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions. -// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions. -// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. -// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. -// For self-definition model, the gasfile is used to indicate the file path of the new gas model. -// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. -// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. -// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. - -int nGasModel = 0; -int nchem = 0; -int ntmodel = 1; -int nchemsrc = 1; -int nchemrad = 1; -double catalyticCoef = 1.0; -string gasfile = "DK5"; -string speciesName = "O, O2, NO, N, N2"; -string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555"; -int ifStartFromPerfectGasResults = 0; diff --git a/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/key.hypara b/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/key.hypara index 1b2743f..effe5f0 100644 --- a/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/key.hypara +++ b/B05_ThreeD_x38_Laminar_Unstruct_128CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para.hypara b/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para.hypara +++ b/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para_transonic.hypara b/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para_transonic.hypara index 4b2b6f8..c81bea1 100644 --- a/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para_transonic.hypara +++ b/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/cfd_para_transonic.hypara @@ -144,8 +144,8 @@ double venkatCoeff = 5.0; int iunsteady = 0; -double CFLStart = 5.0 -double CFLEnd = 10.0; +double CFLStart = 5.0 +double CFLEnd = 10.0; int nLUSGSSweeps = 1; @@ -172,7 +172,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/10zy__64.fts"; +string gridfile = "./grid/10zy__64.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -186,7 +186,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -199,6 +199,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/key.hypara b/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/key.hypara index 2332f09..413a81c 100644 --- a/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/key.hypara +++ b/B06_ThreeD_Axisymmetric_SA_Unstruct_64CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_transonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para.hypara b/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para.hypara +++ b/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara b/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara index f25323a..5b03509 100644 --- a/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara +++ b/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara @@ -145,10 +145,10 @@ double venkatCoeff = 0.5; int iunsteady = 0; -double CFLEnd = 3.0; +double CFLEnd = 3.0; int CFLVaryStep = 1000; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -160,7 +160,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/sphere_m10__4.fts"; +string gridfile = "./grid/sphere_m10__4.fts"; int plotFieldType = 1; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -176,7 +176,7 @@ int plotFieldType = 1; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -189,6 +189,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/key.hypara b/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/key.hypara index 1b2743f..effe5f0 100644 --- a/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/key.hypara +++ b/B07_ThreeD_Sphere_Laminar_Unstruct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para.hypara b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para.hypara +++ b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para_subsonic.hypara b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para_subsonic.hypara index 56269f3..104c08e 100644 --- a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para_subsonic.hypara +++ b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/2d_plate_laminar_unstr.fts"; +string gridfile = "./grid/2d_plate_laminar_unstr.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/key.hypara b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/key.hypara index 0400d3a..217d4e8 100644 --- a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/key.hypara +++ b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/partition.hypara b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/partition.hypara index 7c964a4..abd839e 100644 --- a/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/partition.hypara +++ b/B08_TwoD_Plate_Laminar_Unstruct_1CPU/bin/partition.hypara @@ -18,4 +18,4 @@ string partition_grid_file = "./grid/2d_plate_laminar_unstr.fts"; // 1 -- single level. // 2 -- 2 level. // N -- N level,..., et al. -int numberOfMultigrid = 1; +int numberOfMultigrid = 1; diff --git a/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para.hypara b/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para.hypara +++ b/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara b/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara index 1db99fa..c16c73f 100644 --- a/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara +++ b/B09_TwoD_plate_SA_Unstruct_1CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/2d_plate_turb_unstr.fts"; +string gridfile = "./grid/2d_plate_turb_unstr.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B09_TwoD_plate_SA_Unstruct_1CPU/bin/key.hypara b/B09_TwoD_plate_SA_Unstruct_1CPU/bin/key.hypara index 0400d3a..217d4e8 100644 --- a/B09_TwoD_plate_SA_Unstruct_1CPU/bin/key.hypara +++ b/B09_TwoD_plate_SA_Unstruct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para.hypara b/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para.hypara +++ b/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para_supersonic.hypara b/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para_supersonic.hypara index 0f3dade..5e83027 100644 --- a/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para_supersonic.hypara +++ b/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/cfd_para_supersonic.hypara @@ -146,7 +146,7 @@ int iunsteady = 0; double CFLEnd = 2.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -158,7 +158,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3d_16ramp_unstr.fts"; +string gridfile = "./grid/3d_16ramp_unstr.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -172,7 +172,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -185,6 +185,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/key.hypara b/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/key.hypara index 12585cb..06a8b01 100644 --- a/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/key.hypara +++ b/B10_ThreeD_CompRamp-16_SA_Unstruct_1CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para.hypara b/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para.hypara +++ b/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para_hypersonic.hypara b/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para_hypersonic.hypara index 48af691..50538d1 100644 --- a/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para_hypersonic.hypara +++ b/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/cfd_para_hypersonic.hypara @@ -147,9 +147,9 @@ double venkatCoeff = 0.1; int iunsteady = 0; double CFLStart = 1.0; -double CFLEnd = 5.0; +double CFLEnd = 5.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -161,7 +161,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/GK01_unstr__8.fts"; +string gridfile = "./grid/GK01_unstr__8.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,50 +190,7 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; -######################################################################### -# Non-equilibrium gas # -######################################################################### -// nGasModel: The type of gas. -// 0 -- Earth gas. -// 1 -- Mars gas. -// nchem: -// 0 -- without chemical reaction flow. -// 1 -- the chemical reaction flow is considered. -// nchemsrc: -// 0 -- the source terms are not computed. -// 1 -- the source terms are computed. -// nchemrad: -// 0 -- compute the spectrum radius without considering chemical reaction flow. -// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow. -// ntmodel: The thermodynamic temperature model. -// 1 -- One-temperature model. -// 2 -- Two-temperature model. -// 3 -- Three-temperature model. -// catalyticCoef: -// 0.0 -- full non-catalytic wall boundary condition. -// 1.0 -- full catalytic wall boundary condition. -// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient. -// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11". -// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions. -// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions. -// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. -// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. -// For self-definition model, the gasfile is used to indicate the file path of the new gas model. -// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. -// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. -// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. - -int nGasModel = 0; -int nchem = 0; -int ntmodel = 1; -int nchemsrc = 1; -int nchemrad = 1; -double catalyticCoef = 1.0; -string gasfile = "DK5"; -string speciesName = "O, O2, NO, N, N2"; -string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555"; -int ifStartFromPerfectGasResults = 0; diff --git a/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/key.hypara b/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/key.hypara index 1b2743f..effe5f0 100644 --- a/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/key.hypara +++ b/B11_ThreeD_DLR-GK01_Ma7_SA_Unstruct_8CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para.hypara b/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para.hypara +++ b/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara b/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara index 8f7a329..119a4b8 100644 --- a/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara +++ b/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/cfd_para_hypersonic.hypara @@ -146,8 +146,8 @@ double venkatCoeff = 0.01; int iunsteady = 0; -double CFLStart = 0.1; -double CFLEnd = 1.0; +double CFLStart = 0.1; +double CFLEnd = 1.0; int CFLVaryStep = 5000; double ktmax = 1.0e10; @@ -162,7 +162,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3d_DoubleEllipse_unstr__4.fts"; +string gridfile = "./grid/3d_DoubleEllipse_unstr__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -178,7 +178,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -191,50 +191,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; - -######################################################################### -# Non-equilibrium gas # -######################################################################### -// nGasModel: The type of gas. -// 0 -- Earth gas. -// 1 -- Mars gas. -// nchem: -// 0 -- without chemical reaction flow. -// 1 -- the chemical reaction flow is considered. -// nchemsrc: -// 0 -- the source terms are not computed. -// 1 -- the source terms are computed. -// nchemrad: -// 0 -- compute the spectrum radius without considering chemical reaction flow. -// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow. -// ntmodel: The thermodynamic temperature model. -// 1 -- One-temperature model. -// 2 -- Two-temperature model. -// 3 -- Three-temperature model. -// catalyticCoef: -// 0.0 -- full non-catalytic wall boundary condition. -// 1.0 -- full catalytic wall boundary condition. -// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient. -// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11". -// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions. -// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions. -// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. -// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. -// For self-definition model, the gasfile is used to indicate the file path of the new gas model. -// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. -// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. -// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. - -int nGasModel = 0; -int nchem = 0; -int ntmodel = 1; -int nchemsrc = 1; -int nchemrad = 1; -double catalyticCoef = 1.0; -string gasfile = "DK5"; -string speciesName = "O, O2, NO, N, N2"; -string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555"; -int ifStartFromPerfectGasResults = 0; +int limitVector = 1; diff --git a/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/key.hypara b/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/key.hypara index 1b2743f..effe5f0 100644 --- a/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/key.hypara +++ b/B12_ThreeD_DoubleEllipse_Laminar_Unstruct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/boundary_condition.hypara b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/boundary_condition.hypara deleted file mode 100644 index c063842..0000000 --- a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/boundary_condition.hypara +++ /dev/null @@ -1,64 +0,0 @@ -# nBoundaryConditons : number of global boundary conditions. -# bcName : Boundary Condition Name. -# bcType(in PHengLEI): Boundary Condition Type. - -# Account of how to set boundaryconditon. -# string bcName = "Farfield"; -# { -# int bcType = 4; -# int inflowParaType = 1; -# double attackd = 0; -# double refReNumber = 6.5e6; -# double refMachNumber = 3.5; -# double angleSlide = 0; -# } - -int nBoundaryConditons = 8; -string bcName = "body"; -{ - int bcType = 2; -} -string bcName = "fairing"; -{ - int bcType = 2; -} -string bcName = "htail"; -{ - int bcType = 2; -} -string bcName = "nose"; -{ - int bcType = 2; -} -string bcName = "vtail"; -{ - int bcType = 2; -} -string bcName = "wing"; -{ - int bcType = 2; -} -string bcName = "symm"; -{ - int bcType = 3; -} -string bcName = "farfield"; -{ - int bcType = 4; -} - -# 'bcType' is defined as following: -# 99: PERIODIC -# -2: WAKE -# -1: INTERFACE -# 0 : NO_BOUNDARY_CONDITION -# 1 : EXTRAPOLATION -# 2 : SOLID_SURFACE -# 3 : SYMMETRY -# 4 : FARFIELD -# 5 : INFLOW -# 6 : OUTFLOW -# 52: PRESSURE_INLET -# 62: PRESSURE_OUTLET -# 61: OUTFLOW_CONFINED -# 7 : POLE diff --git a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para.hypara b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para.hypara +++ b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para_subsonic.hypara b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para_subsonic.hypara index f1d7b29..f6bc07f 100644 --- a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para_subsonic.hypara +++ b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/grid_chnt-1_m_2065W__100.fts"; +string gridfile = "./grid/grid_chnt-1_m_2065W__100.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/key.hypara b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/key.hypara index 6189a3b..0e522d7 100644 --- a/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/key.hypara +++ b/B13_ThreeD_Chnt_SA_Unstruct_100CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,10 +22,10 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; -int nsimutask = 1; -string parafilename = "./bin/grid_para.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_para.hypara"; //int nsimutask = 2; //string parafilename = "./bin/cfd_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/grid_para.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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"; diff --git a/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para.hypara b/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para.hypara +++ b/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara b/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara index d5bb3e7..cf1d9ba 100644 --- a/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara +++ b/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/30p30n_hygrid_2d__4.fts"; +string gridfile = "./grid/30p30n_hygrid_2d__4.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/key.hypara b/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/key.hypara index 78c5988..217d4e8 100644 --- a/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/key.hypara +++ b/B14-TwoD_30p30n_SA_Unstruct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_deform_para.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_subsonic.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"; diff --git a/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para.hypara b/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para.hypara +++ b/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara b/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara index ec5cced..cf38747 100644 --- a/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara +++ b/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/cfd_para_subsonic.hypara @@ -163,7 +163,7 @@ int flowInitStep = 100; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/2D_NLR7301_Unstr.fts"; +string gridfile = "./grid/2D_NLR7301_Unstr.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -177,7 +177,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -190,6 +190,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 1; +int reconmeth = 1; int limitVariables = 0; -int limitVector = 0; +int limitVector = 0; diff --git a/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/key.hypara b/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/key.hypara index 78c5988..217d4e8 100644 --- a/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/key.hypara +++ b/B15-TwoD_NLR7301_SA_Unstruct_4CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 2; int nparafile = 1; @@ -23,7 +22,7 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -37,8 +36,8 @@ string parafilename = "./bin/cfd_para_subsonic.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_deform_para.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -49,6 +48,9 @@ string parafilename = "./bin/cfd_para_subsonic.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"; diff --git a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/boundary_condition.hypara b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/boundary_condition.hypara deleted file mode 100644 index 15112a8..0000000 --- a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/boundary_condition.hypara +++ /dev/null @@ -1,49 +0,0 @@ -# nBoundaryConditons : number of global boundary conditions. -# bcName : Boundary Condition Name. -# bcType(in PHengLEI): Boundary Condition Type. - -# Account of how to set boundaryconditon. -# string bcName = "Farfield"; -# { -# int bcType = 4; -# int inflowParaType = 1; -# double attackd = 0; -# double refReNumber = 6.5e6; -# double refMachNumber = 3.5; -# double angleSlide = 0; -# } - -int nBoundaryConditons = 4; -string bcName = "wall"; -{ - string bodyName = "body"; - int bcType = 2; -} -string bcName = "sym"; -{ - int bcType = 3; -} -string bcName = "in"; -{ - int bcType = 5; -} -string bcName = "out"; -{ - int bcType = 6; -} - -# '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 diff --git a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para.hypara b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para.hypara +++ b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para_hypersonic.hypara b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para_hypersonic.hypara index de62bd2..f59b843 100644 --- a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para_hypersonic.hypara +++ b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/cfd_para_hypersonic.hypara @@ -148,7 +148,7 @@ int iunsteady = 0; double CFLEnd = 3.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -160,7 +160,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/3d_HCFlare_unstr__16.fts"; +string gridfile = "./grid/3d_HCFlare_unstr__16.fts"; int plotFieldType = 0; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -176,7 +176,7 @@ int plotFieldType = 0; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -189,50 +189,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; - -######################################################################### -# Non-equilibrium gas # -######################################################################### -// nGasModel: The type of gas. -// 0 -- Earth gas. -// 1 -- Mars gas. -// nchem: -// 0 -- without chemical reaction flow. -// 1 -- the chemical reaction flow is considered. -// nchemsrc: -// 0 -- the source terms are not computed. -// 1 -- the source terms are computed. -// nchemrad: -// 0 -- compute the spectrum radius without considering chemical reaction flow. -// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow. -// ntmodel: The thermodynamic temperature model. -// 1 -- One-temperature model. -// 2 -- Two-temperature model. -// 3 -- Three-temperature model. -// catalyticCoef: -// 0.0 -- full non-catalytic wall boundary condition. -// 1.0 -- full catalytic wall boundary condition. -// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient. -// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11". -// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions. -// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions. -// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. -// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. -// For self-definition model, the gasfile is used to indicate the file path of the new gas model. -// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. -// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. -// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. - -int nGasModel = 0; -int nchem = 0; -int ntmodel = 1; -int nchemsrc = 1; -int nchemrad = 1; -double catalyticCoef = 1.0; -string gasfile = "DK5"; -string speciesName = "O, O2, NO, N, N2"; -string initMassFraction = "0.07955, 0.134, 0.0509, 1.0e-9, 0.73555"; -int ifStartFromPerfectGasResults = 0; +int limitVector = 1; \ No newline at end of file diff --git a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/key.hypara b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/key.hypara index a0b0913..effe5f0 100644 --- a/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/key.hypara +++ b/B16-ThreeD_Hollow_Cylinder_Flare_Laminar_Unstruct_16CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; //string parafilename = "./bin/cfd_para_supersonic.hypara"; string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,8 +33,11 @@ string parafilename = "./bin/cfd_para_hypersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.hypara"; //int nsimutask = 5; //string parafilename = "./bin/overset_grid_view.hypara"; @@ -46,6 +48,9 @@ string parafilename = "./bin/cfd_para_hypersonic.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"; diff --git a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/boundary_condition.hypara b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/boundary_condition.hypara deleted file mode 100644 index db20732..0000000 --- a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/boundary_condition.hypara +++ /dev/null @@ -1,44 +0,0 @@ -# nBoundaryConditons : number of global boundary conditions. -# bcName : Boundary Condition Name. -# bcType(in PHengLEI): Boundary Condition Type. - -# Account of how to set boundaryconditon. -# string bcName = "Farfield"; -# { -# int bcType = 4; -# int inflowParaType = 1; -# double attackd = 0; -# double refReNumber = 6.5e6; -# double refMachNumber = 3.5; -# double angleSlide = 0; -# } - -int nBoundaryConditons = 3; -string bcName = "BCWallInviscid"; -{ - int bcType = 2; -} -string bcName = "BCSymmetryPlane"; -{ - int bcType = 3; -} -string bcName = "BCFarfield"; -{ - int bcType = 4; -} - -# 'bcType' is defined as following: -# 99: PERIODIC -# -2: WAKE -# -1: INTERFACE -# 0 : NO_BOUNDARY_CONDITION -# 1 : EXTRAPOLATION -# 2 : SOLID_SURFACE -# 3 : SYMMETRY -# 4 : FARFIELD -# 5 : INFLOW -# 6 : OUTFLOW -# 52: PRESSURE_INLET -# 62: PRESSURE_OUTLET -# 61: OUTFLOW_CONFINED -# 7 : POLE diff --git a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para.hypara b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para.hypara index b17970c..c344658 100644 --- a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para.hypara +++ b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para.hypara @@ -24,6 +24,7 @@ // 4 -- Grid deformation, achieve unstructured grid deformation. // 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. // 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// 7 -- Grid type change, convert structured grid to unstructured grid. // multiblock: Multi-block grid or not, only for structured grid conversion. // 0 -- Not. // 1 -- Yes. @@ -32,12 +33,23 @@ // 0 -- X axis. // 1 -- Y axis. // 2 -- Z axis. +// gridReorder: Reorder cell and face of grid or not, only for 3D unstructured grid conversion, +// which is CGNS type. +// 0 -- Not. +// 1 -- Yes. +// faceReorderMethod: the reorder method face of unstructured grid. +// 0 -- BSFCELLFACEORG. +// 1 -- BSFCELLFACELEFT. +// 2 -- BSFCELLFACERIGHT. int gridtype = 0; int gridobj = 1; int multiblock = 0; int iadapt = 0; int SymmetryFaceVector = 1; +int gridReorder = 0; +int faceReorderMethod = 0; + // axisup: Type of Cartisien coordinates system, used in grid conversion. // 1 -- Y upward. (default) // 2 -- Z upward. @@ -61,6 +73,7 @@ int omit_no_bound_bc = 0; // 6 -- Ustar, mgrid.in. // 7 -- Hybrid, include both of unstructured and structured grid, *.fts. // 8 -- GMSH, *.msh. +// 9 -- Gridgen type of structured grid, *.dat/*.grd. // dumpOldGrid: If dump out the old grid file. // 0 -- Not. (default) // 1 -- Yes. @@ -82,7 +95,6 @@ string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; // ----------------- some advanced choices ------------------------------ // iunsteady: The Grid is for unsteady simulation or not. int iunsteady = 0; -int codeOfAleModel = 0; // fileformat: Ustar Grid file format. // 0 -- BINARY. @@ -102,12 +114,10 @@ string holeFullFileName = "./oversetGridView/holeFullFile.dat"; string linkFileName = "./oversetGridView/topology.dat"; string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; -// ----------------- Adaptive Mesh Refine ------------------------------- -// In this file, the original_grid_file is used of the partition part. -// If use it dependently, abstract it here. -string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; -string geometryFileName = "./grid/jsm.igs"; - +// ----------------- Grid Refine Parameters ----------------------------- +// anisoRefine: If refine grid by anisoRefine type. +// 0 -- Not. (default) +// 1 -- Yes. // geometryUnit: Geometry unit. // 1 -- meter. // 2 -- millimeter. @@ -117,14 +127,14 @@ string geometryFileName = "./grid/jsm.igs"; // 1 -- JSM-C2-NPOFF case. // 2 -- CHNT. // projectOrgPoint: If the original wall points need to be projected or not. -int geometryUnit = 1; int anisoRefine = 0; +int geometryUnit = 1; int isProject = 0; int readDist = 0; int isDeform = 0; -int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. -int projectOrgPoint = 0; // if project original wall points. - +int exclusiveCase = 0; +int projectOrgPoint = 0; +string geometryFileName = "./grid/jsm.igs"; // ----------------- Grid Deform Parameters ----------------------------- // deformationMethod: Grid Deform. @@ -181,8 +191,11 @@ double rotationAngle = 0.0; // 1 -- struct grid. // 2 -- refine structured grid. // maxproc: The number of partition zones that want to be divided into. +// numberOfMultifile: The number of partition grid files that want to be dumped out. + int pgridtype = 0; int maxproc = 4; +int numberOfMultifile = 1; // traceMark: Trace mark or not, only for structured grid partition. // 0 -- Not. @@ -291,6 +304,7 @@ int compressible = 1; // refMolecularWeight : the reference molecular weight of gas used for perfect gas. The unit is g/mol. // Generally, the gas is air. Sometimes, it is experiment gas, such as Nitrogen, Argon, and so on. +int directionMethod = 0; double refMachNumber = 0.73; double attackd = 2.79; double angleSlide = 0.00; @@ -334,6 +348,7 @@ double wallTemperature = -1.0; double radiationCoef = 0.8; double gridScaleFactor = 1.0; +double gridTranslationVector[] = [0.0, 0.0, 0.0]; int numberOfAerodynamicForceComponents = 1; double forceReferenceLengthSpanWise = 1.0; // unit of meter. @@ -355,11 +370,17 @@ double refMolecularWeight = 28.9644; // unit of g/mol. // -- "vanleer", "steger", "hlle", "lax_f". // -- "roe", "modified_roe". // -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw", "ausmpw+". +// isWennScheme: If using WENN Scheme of struct grid. +// 0 -- NO. (default) +// 1 -- Yes. // str_limiter_name: Limiter of struct grid. // -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". // -- "nolim", no limiter. // -- "vanalbada_clz", clz supersonic version. +// -- "weno3_js", "wenn3_prm211", "wenn3_zm", "wenn3_zes2", "wenn3_zes3" + string inviscidSchemeName = "roe"; +int isWennScheme = 0; string str_limiter_name = "vanalbada"; #******************************************************************* @@ -421,6 +442,7 @@ string str_limiter_name = "vanalbada"; // 3 -- Harten type, which is default used. // roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. // It is used to scale the default Roe entropy fix coefficients. +// AusmpwPlusLimiter: A Limiter to make "function w" not change acutely in AusmpwPlus scheme, default is 1.0 //int viscousType = 0; //string viscousName = "Euler"; @@ -451,6 +473,8 @@ double skewnessAngle = 60.0; int roeEntropyFixMethod = 3; double roeEntropyScale = 1.0; +double AusmpwPlusLimiter = 1.0; + //----------------------------------------------------------------------- # Temporal Discretisation # //----------------------------------------------------------------------- @@ -466,8 +490,8 @@ double roeEntropyScale = 1.0; // statisticalTimePeriod: Used as time period of statistic analysis. // when the value is negative, time period is treated as infinite. // statisticMethod: Statistic reynolds stress method. - 0 --tau = - ^2 - 1 --tau = +// 0 -- tau = - ^2 +// 1 -- tau = // min_sub_iter: The min sub iteration of unsteady simulation. // max_sub_iter: The max sub iteration of unsteady simulation. // tol_sub_iter: The tolerance of sub iteration of unsteady simulation. @@ -478,9 +502,8 @@ double roeEntropyScale = 1.0; // 4 -- LU-SGS. // 5 -- Block LU-SGS. // 6 -- Jacobian iteration. -// 7 -- Lower G-S iteration. -// 8 -- Upper G-S iteration. -// 9 -- Lower/Upper G-S iteration. +// 7 -- Line LU-SGS. +// 8 -- Matrix LU-SGS. // iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. // Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. // CFLStart: Started cfl number. @@ -493,6 +516,10 @@ double roeEntropyScale = 1.0; // ifLocalTimeStep: Time step method. // 0 --Local. // 1 --Global. +// isUseLocalCFL: use variable number of CFL or not. +// 0 -- global unified CFL number. +// 1 -- local CFL number. +// isUsePreTwall: use the previous temperatures on wall. 1 indicates yes, and 0 indicates no. // visl_min: Minimum value of laminar viscosity coefficient. // turbCFLScale: Turbulence model cfl number factor. // codeOfAleModel: Arbitrary Lagrangian-Eulerian method. @@ -509,6 +536,7 @@ double roeEntropyScale = 1.0; int iunsteady = 0; double physicalTimeStep = 0.01; +double physicalTimeStepDimensional = -0.001; int ifStartFromSteadyResults = 0; int ifStaticsFlowField = 0; int ifStaticsReynoldsStress = 0; @@ -525,10 +553,18 @@ double tol_sub_iter = 0.01; int tscheme = 4; int iSimplifyViscousTerm = 1; int ifLocalTimeStep = 0; +int isUseLocalCFL = 0; +int isUsePreTwall = 0; double CFLStart = 0.01; double CFLEnd = 10.0; int CFLVaryStep = 500; +double pMaxForCFL = 0.2; +double pMinForCFL = 0.1; +double deltaMaxForCFL = 0.2; +double magnifyFactorForCFL = 1.1; +double reduceFactorForCFL = 0.5; + double ktmax = 1.0e10; int swapDq = 1; @@ -548,7 +584,7 @@ double dtau = 0.001; int wallFunctionType = 0; int RKStage = 2; -double lamda[] = 0.5, 1.0; +double lamda[] = [0.5, 1.0]; //int RKStage = 1; //double lamda[] = 1.0; @@ -579,12 +615,20 @@ double lamda[] = 0.5, 1.0; // wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. // nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. // nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. +// nIsComputeWallDist: Whether to compute the wall distance. +// 0 -- Compute wall distance. +// 1 -- Not compute. +// +// protectionFile0 and protectionFile1 : Two continuation file of the data protection mechanism. +// wall_heatfluxfile : The file to output the MaxHeatFlux of wall. int numberOfGridGroups = 1; string gridfile = "./grid/rae2822_hybrid2d__4.fts"; string wallTemperaturefile= ""; +int nIsComputeWallDist = 0; int walldistMethod = 1; +int cellMethodOrNodeMethod = 0; string resSaveFile = "results/res.dat"; string turbresfile = "results/turbres.dat"; @@ -597,6 +641,10 @@ string visualfile = "results/tecflow.plt"; string wall_aircoefile = "results/wall_aircoef.dat"; string samplefile = "results/sample.dat"; +string protectionFile0 = "results/flow0.dat"; +string protectionFile1 = "results/flow1.dat"; +string wall_heatfluxfile = "results/wall_heatflux.dat"; + int nDumpSurfaceInfo = 0; string wall_varfile = ""; @@ -648,7 +696,10 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), // -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), // -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), -// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), streamline_u(45), streamline_v(46), streamline_w(47), +// -- transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), +// -- overlap iblank(iblank, 81) + // -- specific heat ratio(gama, 56) // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. @@ -660,10 +711,7 @@ double upperPlotFieldBox[] = [1.0 1.0 1.0]; // -heat flux of species diffusion term(Qs, 9), -heat flux of vibrational temperature term(Qv, 10), -heat flux of electron temperature term(Qe, 11), // -species mass fractions(Ns, 12), -x component of wall velocity(Vx, 13), -y component of wall velocity(Vy, 14), -z component of wall velocity(Vz, 15) // -slip translational-rotational temperature(Tts, 16), -slip vibrational temperature(Tvs, 17), -slip electron temperature(Tes, 18), -absolute wall velocity(Vs, 19) -// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -transition gamaeff(gamaeff, 48), -// -transition intermittency(intermittency, 51), -transition momentum thickness reynolds(MomentumThicknessReynolds, 52), -// -overlap iblank(iblank, 81) - +// -Stanton number(St, 20), -coefficient of heat rate(Ch, 21), -temperature jump(deltaT, 22), -Grid Reynolds number on wall(Re_w, 23) int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; @@ -691,7 +739,7 @@ int dumpStandardModel = 0; // 1 -- Real cell where the probe is located. // nProbeVariables: Number of variables want to be dumped for probes monitered. // probeVariables : Variable types dumped, listed as following: -// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6). // Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! // probeVariables order must from small to big. // probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. @@ -713,8 +761,8 @@ string probesDefineFile = "bin/probes_XYZ.dat"; int searchCellsMethod = 0; -int nProbeVariables = 6; -int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int nProbeVariables = 7; +int probeVariables[] = [0, 1, 2, 3, 4, 5, 6]; int probeVariablesInterpolationMethod = 0; //----------------------------------------------------------------------- # Turbulence Parameter # @@ -722,9 +770,13 @@ int probeVariablesInterpolationMethod = 0; // turbInterval: Iteration number of turbulence. // kindOfTurbSource: Kinds of turbulent source. // 0 -- Original. -// 1 -- Edwards. -// 2 -- new. // mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. +// transitionType: transition model type +// 0 -- none. +// 2 -- gama-re-theta. +// turbIntensity: (valid while greater than 0.0 ) turbulent intensity of free stream(*100) in transition +// freeturbIntensitySRModify: to use SR modify in free stream turbulent intensity decay or not + int turbInterval = 1; int turbOrderStruct = 2; @@ -738,7 +790,8 @@ int transitionType = 0; double turbIntensity = -1.0; int freeturbIntensitySRModify = 0; double freeDecayXLocation = 0.0; -int compressibleCorrection = 0; +int compressibleCorrection = 0; +int prandtlNumberCorrection = 0; int transitionMaFix = 1; # maximum eddy viscosity (myt/my) max. @@ -749,7 +802,7 @@ int monitor_vistmax = 0; # LES Parameter # //----------------------------------------------------------------------- // iLES: Create LESSolver or not. -// == 1 - Create LESSolver; +// = 1 - Create LESSolver; // != 1 - not. // amplitudeofDisturb: Amplitude of adding disturb. // disturbstep: Unsteady time step or steady iteration of adding random disturb. @@ -808,9 +861,10 @@ int monitorNegativeConstant = 0; // iapplication: // 0 -- gas model is fixed in the codes. // 1 -- gas model is imported from library files. -// iCodeBranch: -// 0 -- The old code version is used for Navier-Stokes. -// 1 -- A new code version is active for Navier-Stokes solver. +// isAdaptiveSolver: isAdaptiveSolver=0 indicates the generic Navier-Stokes solver, +// isAdaptiveSolver>0 indicates the HyFlow self-adaptive solver. +// 1 -- using HyFlow self-adaptive solver where the switch is controlled by the total iteration steps. +// 2 -- using HyFlow self-adaptive solver where the switch is controlled by variation of the key residual. // nm: Equation number of the physics, but is out of commision now. // 4 -- for 2D. // 5 -- for 3D. @@ -824,7 +878,6 @@ int monitorNegativeConstant = 0; // 0 -- not used . // 1 -- used. // nDensityModify: The type of densitymodify. - // 0 -- not used. // 1 -- used. // nchem: @@ -860,9 +913,13 @@ int monitorNegativeConstant = 0; // 1 -- One-temperature model. // 2 -- Two-temperature model. // 3 -- Three-temperature model. +// nIdealState: whether take all gas species as ideal gas for gas-mixture process. +// 0 -- No. +// 1 -- Yes. // nTEnergyModel: the method to computing temperature energy model. // 0 -- the energy term is computed using the conventional method. -// 1 -- the energy term is computed using the curve fitting method. +// 1 -- the energy term is computed using the polynomial fitting method. +// 2 -- the energy term is computed using the piecewise polynomial fitting method. // parkVDPower: the power of translational-rotational temperature in the Park V-D(vibration-dissociation) coupling model. // The value is in range of [0.0, 1.0], DPLR suggests 0.5, LAURA suggests 0.7, while 0.6 is given as default value. // catalyticCoef: @@ -875,6 +932,13 @@ int monitorNegativeConstant = 0; // nTemperatureJump : the method to calculate the temperature jump. // 0 -- calculated by the variables of heat conductivity and constant volume specific heat for each energy mode. // 1 -- the general method where the iteration is calculated with the translation-rotation temperature. +// nSurfGradMethod : the method to compute the surface heating ratio. +// 0 -- the gradient of variable is computed with the first-order difference method. +// 1 -- the gradient of variable is computed with the Green-Guass integral method. +// nRapidFlowfield : initialize the flowfield using the rapid engineering method when it is greater than zero. +// nSurfHeatMonitor : To exam the surface heating change or not. 0 is no, 1 is yes. +// nInitPressureStep : the steps to initialize the boundary variables when the rapid method is used. 100 is the default value. +// nDumpCFLNumber : 1 indicates dumping the CFL number to file, 0 denotes no dumping. // sigmaVelocity: the coordination coefficient of tangential momentum for computation of slip velocity. The value is in range of (0.0, 2.0]. // sigmaTemperature: the heat coordination coefficient for computation of slip temperature. The value is in range of (0.0, 2.0]. // sigmaMassFraction: the species coordination coefficient for computation of slip mass fractions. The value is in range of (0.0, 2.0]. @@ -884,13 +948,17 @@ int monitorNegativeConstant = 0; // 1.146 -- proposed for an additional "fictitious" velocity slip. // chemicalRelaxCorf: The value is in range of [0.001, 1.0]. -// chemicalSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. -// viscousSpectrumRadiusCoef : The value is in range of [1.0, 3.0]. -// inviscidSpectrumRadiusCoef: The value is in range of [1.0, 3.0]. +// spectrumRadiusCoef: The value is in range of [0.0, 2.0]. // staticPressureRelaxCorf: The value is in range of [0.1, 1.0]. // nIsChemicalFreeze : the flag to freeze the chemical reactions. // 0 -- not freeze, the chemical reaction sources will be calculated. // 1 -- freezes the chemical reactions, the chemical reaction sources will not be calculated.// veTemperatureMin: The minimum of Tv and Te + +//maxViscous: the maximum of Viscous. +//trTemperatureMin: the minimum value of trTemperature. +//veTemperatureMin: the minimum value of veTemperature. +//densityMin: the minimum value of density. +//tAdjustmentFactor: magnification of temperature, this value is in range of (1.0, 10.0]. // nDebug: cout the Wrong place and abort // 0 -- not used. // 1 -- used. @@ -903,9 +971,30 @@ int monitorNegativeConstant = 0; // nViscosityFluxSublevelModified: Modified for ViscosityFlux on Sublevel grid // 0 -- not used. // 1 -- used. +// nViscosityPeModified: Pe Modified for ViscosityCoef +// 0 -- not used. +// 1 -- used. // nChemcalSourceModified: Modified on ChemcalSource // 0 -- not used. // 1 -- used. +// nChemcalSourceEsMethod: Modified on ChemcalSource +// 0 -- approximation algorithm 1 (Ori.) +// 1 -- approximation algorithm 2 (New) + +// nMaxStepTemperature: the iterative steps of temperature. + +// veTemperatureMinModified: Modified on the minimum of Tve for Cvvs +// 0 -- not used +// 1 -- used + +// nDiagonalModified: Modified on Diagonal +// 0 -- not used +// 1 -- Ori. +// 2 -- new + +//nGradPrimtiveMethod: +// 0 -- Ori. +// 1 -- new // nAblation: // 0 -- The wall ablation is not computed. // 1 -- The wall ablation is computed. @@ -913,9 +1002,11 @@ int monitorNegativeConstant = 0; // 0 -- The injection velocity of ablation wall is not computed. // 1 -- The injection velocity of ablation wall is computed. // nViscosityModel: - -// 0 -- Blottner fitting method. -// 1 -- Gupta fitting method. +// 0 -- Blottner fitting method(N89). +// 1 -- Gupta fitting method(N90). +// nContinueModel: The new continue model can switch different computation model. +// 0 -- Not use the new continue model. +// 1 -- use the new continue model. // nSutherland: // 0 -- stands for selecting the Blotter curve fits mode. // 1 -- stands for Sutherland relation. @@ -925,20 +1016,54 @@ int monitorNegativeConstant = 0; // "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. // "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. // "Combustion-12" -- indicates the Combustion Chamber Gas Model which includes 12-species-20-reactions. -// "Gas-Mixture" -- indicates the process of mixing two species without reacting. +// "Gas-Mixture" -- indicates the process of mixing gas without reacting. +// for struct solver mixing two species£¨SpeciesA, SpeciesB£©. +// for unstruct solver mixing multi-species£¨O2 NO CO CO2 H2 N2 Air CH4£©. // For self-definition model, the gasfile is used to indicate the file path of the new gas model. // speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. // initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. // ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. +// nIterFirstStep : the maximum number of iteration in the first step for the self-adaptive calculation. +// nIterSecondStep : the maximum number of iteration in the second step for the self-adaptive calculation. +// nIterThirdStep : the maximum number of iteration in the third step for the self-adaptive calculation. +// nEnergyAssembly : the vibration energy is computed with combined method which includes the fitting method and the molecular kinetic theory. +// 0 -- no, +// 1 -- yes. +// nControlVariable: the variable to computing the residual error that determines the convergence is meet or not in the one-temperature model. +// 0 -- the density. +// 1 -- the translation temperature. +// 2 -- the vibration temperature. +// 3 -- the electron temperature. +// 4 -- the pressure. +// 5 -- the mass fraction of oxygen. +// 6 -- the mass fraction of nitrogen. +// firstStepError : the residual error of the first step iteration for the self-adaptive calculation. +// secondStepError : the residual error of the second step iteration for the self-adaptive calculation. +// thirdStepError : the residual error of the third step iteration for the self-adaptive calculation. +// useHyflowSetting : Setting for HyFLOW GUI. +// 0 -- PHengLEI +// 1 -- HyFLOW +// nProtectData : Use the continuation file data protection mechanism. +// 0 -- no +// 1 -- yes int dg_high_order = 0; int iapplication = 0; -int iCodeBranch = 0; +int isAdaptiveSolver = 0; int nm = 5; int nEquilibriumGas = 0; int nPCWCycleStep = 3; int nRETCycleStep = 3; int nSLIPCycleStep= 3; +int nIterFirstStep = 1000; +int nIterSecondStep= 2000; +int nIterThirdStep = 2000; +int nEnergyAssembly = 0; +int nControlVariable = 1; +double firstStepError = 0.01; +double secondStepError = 0.001; +double thirdStepError = 0.001; +double predictCFLError = 0.1; double refGama = 1.4; double prl = 0.72; @@ -952,7 +1077,8 @@ int nchemsrc = 1; int nchemrad = 1; int ntmodel = 1; -int nEnergyRecycle = 0; +int nIdealState = 0; +int nEnergyRecycle = 1; int nSlipBCModel = 0; int nDensityModify = 1; int nTEnergyModel = 0; @@ -960,6 +1086,11 @@ int nMeanFreePathType = 0; int nIsChemicalFreeze = 0; int nIsSuperCatalytic = 1; int nTemperatureJump = 0; +int nSurfGradMethod = 0; +int nRapidFlowfield = 0; +int nSurfHeatMonitor = 0; +int nInitPressureStep = 100; +int nDumpCFLNumber = 0; double parkVDPower = 0.6; double catalyticCoef = 0.0; @@ -968,19 +1099,40 @@ double sigmaTemperature = 1.0; double sigmaMassFraction = 1.0; double velocitySlipCorrectConstant = 1.0; -double chemicalRelaxCorf = 1.0; +double chemicalRelaxCorf = 1.0; double chemicalSpectrumRadiusCoef = 1.0; -double viscousSpectrumRadiusCoef = 1.0; -double inviscidSpectrumRadiusCoef = 1.0; -double staticPressureRelaxCorf = 1.0; +double viscousSpectrumRadiusCoef = 1.5; +double inviscidSpectrumRadiusCoef = 1.5; +double spectrumRadiusCoef = 0.5; +double staticPressureRelaxCorf = 0.2; +double maxViscous = 10000.0; +double trTemperatureMin = 10.0; double veTemperatureMin = 30.0; -int nDebug = 0; -int nSpeciesLimit = 0; -int nTurblenceForChemical = 0; -int nViscosityFluxSublevelModified = 0 ; -int nChemcalSourceModified = 0; +double maxTemperature = 50000.0; +double densityMin = 1.0e-8; +double densityMinFactor = 0.1; +double tAdjustmentFactor = 10.0; +double iniSpeedCoef = 1.0; +int nDebug = 0; +int nSpeciesLimit = 1; +int nTurblenceForChemical = 0; +int nViscosityFluxSublevelModified = 1; +int nViscosityPeModified = 0; +int nChemcalSourceModified = 2; +int nChemcalSourceEsMethod = 1; +int nMaxStepTemperature = 5; +int veTemperatureMinModified = 1; +int nDiagonalModified = 0; +int nGradPrimtiveMethod = 1; +int nInviscidFluxModify = 1; +int nQlLimitMethod = 2; +int nSpeciesForWallMethod = 1; +int nDensityForWallMethod = 0; + +int nProtectData = 0; +int useHyflowSetting = 0; int nAblation = 0; int isInjection = 0; int nViscosityModel = 0; @@ -1000,7 +1152,7 @@ string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.767"; //string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; //string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; -//string gasfile = "DK7"; +//string gasfile = "Pa"; //string speciesName = "O, O2, NO, N, NO+, C, C2, CO, CO2, CN, N2, e-"; //string initMassFraction = "0.0, 0.233, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.767, 0.0"; @@ -1017,8 +1169,13 @@ double gamaSpeciesB = 1.3; double molecularWeightSpeciesA = 29.0; double molecularWeightSpeciesB = 30.0; -int nChemicalFlowStep = 0; -int ifStartFromPerfectGasResults = 0; +//string gasfile = "Gas-Mixture"; +//string speciesName = "O2, N2"; +//string initMassFraction = "1.0, 0.0"; + +int nContinueModel = 0; +int nChemicalFlowStep = 0; +int ifStartFromPerfectGasResults = 0; ######################################################################### // Multi-Grid parameters. @@ -1124,7 +1281,7 @@ int codeOfOversetGrid = 0; int oversetInterpolationMethod = 0; int readOversetFileOrNot = 0; int symetryOrNot = 0; -int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryInnerGrid = 0; int readInAuxiliaryOuterGrid = 0; int readInSklFileOrNot = 0; string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; @@ -1137,13 +1294,18 @@ double toleranceForOversetBox = 1.0e-3; int twoOrderInterpolationOrNot = 0; int keyEnlargeOfActiveNodes = 0; int outTecplotOverset = 0; +int outPutOversetVisualization = 0; int numberOfMovingBodies = 2; // ----------------- ALE configuration ------------------------------ -int codeOfAleModel = 1; +int codeOfAleModel = 0; int aleStartStrategy = -1; +double referenceLength = 1.0; +double referenceVelocity = 1.0; +double referenceDensity = 1.0; + int strategyForFaceNormalVelocity = 0; //0-By Sweeping volume; 1-By face center 1st; 2-By face center 2nd; int strategyForGCLSource = 0; //0-present; 1-Ahn; @@ -1187,6 +1349,11 @@ double configPamameter_0[] = 0.0 ,0.0 ,0.0 ,0.0 ,0.0 int RBDMethod_0 = 0; double amplitude_0 = 0.0; double reduceFrequency_0 = 0.0; +//direction of rotation +// 1 -- clockwise from the point of view along the positive x axis. +// -1 -- anticlockwise from the point of view along the positive x axis. +int direction_0 = -1; +double rotateFrequency_0 = 0.0; //string uDFSixDofFileName_0 = "./Bin/UDFSixDof.Parameter"; //additional force (system axis) fX fY fZ double addedForce_0[] = 0.0 ,0.0 ,0.0 ; @@ -1218,3 +1385,12 @@ int integralOrder = 4; ######################################################################### int isPlotVolumeField = 0; + +######################################################################### +# Incompressible Parameter # +######################################################################### + +int isSolveEnergyEquation = 0; +int isSolveTurbEquation = 0; +int isSolveSpeciesEquation = 0; + diff --git a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para_supersonic.hypara b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para_supersonic.hypara index 2e15574..c3df0b6 100644 --- a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para_supersonic.hypara +++ b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/cfd_para_supersonic.hypara @@ -146,7 +146,7 @@ int iunsteady = 0; double CFLEnd = 2.0; -double ktmax = 1.0e10; +double ktmax = 1.0e10; ######################################################################### # File In or Out # @@ -158,7 +158,7 @@ double ktmax = 1.0e10; // Please use 'rae2822_hybrid2d__4.fts' here! // plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. -string gridfile = "./grid/seeb__8.fts"; +string gridfile = "./grid/seeb__8.fts"; int plotFieldType = 1; // ----------------- Advanced Parameters, DO NOT care it ---------------- @@ -172,7 +172,7 @@ int plotFieldType = 1; // Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! // Variables order must from small to big. -int nVisualVariables = 8; +int nVisualVariables = 8; int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // limitVariables: Limit model (It is useful only if limitVector is 0). @@ -185,6 +185,6 @@ int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; // 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. // 1 -- Q+, Q- use the min limiter coefficients of left and right cell. -int reconmeth = 0; +int reconmeth = 0; int limitVariables = 0; -int limitVector = 1; +int limitVector = 1; diff --git a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/key.hypara b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/key.hypara index 12585cb..06a8b01 100644 --- a/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/key.hypara +++ b/X01_ThreeD_SEEBALR_Euler_Struct_8CPU/bin/key.hypara @@ -14,7 +14,6 @@ string defaultParaFile = "./bin/cfd_para.hypara"; // Grid repairing: repair the original grid in order to remove the negative volume cells. // 2 -- Wall distance computation for turb-solver. // 3 -- Grid partition. -// 4 -- Knowledge repository / examples of PHengLEI-API. int ndim = 3; int nparafile = 1; @@ -23,7 +22,7 @@ int nsimutask = 0; //string parafilename = "./bin/cfd_para_transonic.hypara"; string parafilename = "./bin/cfd_para_supersonic.hypara"; //string parafilename = "./bin/cfd_para_hypersonic.hypara"; -//string parafilename = "./bin/incompressible.hypara"; +//string parafilename = "./bin/cfd_para_incompressible.hypara"; //int nsimutask = 1; //string parafilename = "./bin/grid_para.hypara"; @@ -34,15 +33,24 @@ string parafilename = "./bin/cfd_para_supersonic.hypara"; //int nsimutask = 3; //string parafilename = "./bin/partition.hypara"; -//int nsimutask = 4; -//string parafilename = "./bin/repository.hypara"; +//int nsimutask = 1; +//string parafilename = "./bin/grid_deform_para.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_refine_para.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";

eq z!re14hE=}^hSTBxI*9rKZo2?k$~F{ey9mjaKzayeNAMitR3KFwnww#+%Xi)gl+VXz zSZ8EbLZLB4t%QX2ke~`lC!nSj?+y!j!}2J7c>$ZZsjb{@5m8eX=ebp5%j$Kis++cM zbbr25P)FoSVq>CwgjyMHeOP_@kKe1i<(4#)UZy!5+qvTB9}YN$7j|-_s>?t{mYd#6 zwGC^2{+Fu0+2sxy2}~hs+Vmx-;&naiXg}-eK?d z4Qo`@)^FUp&MYL@MkhG+elta0Ezc8!%(YjoQ(N`Z51WkrZnh~j2Z~bL^TVAtu76#& z`;227xI!Vy9(#VnL4D14-~O~g$0?~{f`vPV5>-bY*t_AI zZ+=+0+9mbn&|CC-VMkl=(a3*%bK%>6Ui|0G!2x&> z4b7Jz+h+!wO{W@$|IglcfH!re+kd|H-S^#@WbU1M-%KVqGZ{#RBw*7afGMW;K!DH# z41_=cQ$p`Olu+HUac^>w+yQsvZsRU@%iWf(W~+CtclNPdWJC~2z$DT74*t;5)-LDl zv-ZFLz0beW4})elL+ZG zD7cD;L6BO=r)o4i!o44xnYM?pU&by3??;pPDR;AhpU*zK`0C$my;oeTvqZ}8N5SCO zW@_*sAZQliJkeGHUICh1ac>MYdB?+>dmdO~GPOU6^xyK~AKo9g$vG-9$#K))-ucL8%#Qo%N%5Y0 zr>u9*sTPsBgs36w%A_@y8IK$K%tDPc@7~5u$1bqSm5^75U)uEXq%{XUQp*U~>^P5W z8`f+*5LDJhS&RmaqJN8<=I?xP`n!wPA719*mX=+R5fyZ7*`$S+Q+i`0sw9H@JLip9 zdp0_~h{_{BGvLaaIivoz=9|c}-gnETyq3Dk(&B=c8|&8X*y@~TvI?M8baETmnITsk zHjdrooLN%bU6se>!@w{0e^$zhyZGGf#9sJtdwH;)=bRe#BWdq#Y)=7e)_@_7i^S2j&|NBdS_=Cyu``@1XtBt2aSf|j!hmbPN8l8zrR$YrGM=*{&gU#xZ zb`Xq9-_thJiil^7aUS(GX!sUE=LWJ_?G;2Ugy$kS(@rgq&B)J!y5CBH;2~1KLP0GQ zB4UHdcu-28wtuMzZBi3b1)ofcq81_a+rF9RfMoJ?Fh3*gYUV=8*xliWO;L8q3KI*2%Kz+YVW{B$M+Sm*8#$JdhYwvz?lwJJ$U(A}n z|6WQVyPPJ)((;;`>Q;el;GPn#vO3IR=Yg#*c~7rt8iarO0T=g9J@72QnUc#6+Hbe{ zZgOo`cdmLtP2{E7V|U$6uMnI2!GP@5DnXm5rbcM?;53MNQk`XvNj>pm#4N$%a8OsM z>GsQFGf^QT<{~GZ%mf>+n_;sC7x;fb<|<7b;&7?Di`e}rD(y?qD4ItibSLB zWix}Cm|h{hY$ibYLEN2;8fibp2`$=~@cS6G9VUOJn_)9*{vse%dgus&8d^Ct-G>U2 z1SFk9db(w;mDSe=ISlz|m(!D$ej}w!!SPu)?U+k)ZBO)Axhmgj<-}#H&c)QoH0HA+ z;68Rby?frtNK-azD@eY$dg_VTX1P`>sAKLOw&F%otwP_`n&-CB_JB_gnR=OJGrd|~ z<-LFAU&qdbWoEc-b=Z46s6?q$$&FB`G=iLvJ7@NsiQ{&sZ%hwAxy$FV;DbCyHPZ@19(stCyv6Cn4^+@A%KHU3NG7Y+k|N+1FHloGCY51OZ>J?pZ8Tvc8kh_PHNEWH7cz_p)r3b zwHlpeeO=py^0V;Ug<5*RYrKVEip?s`q%`~hHlyZr`Fr8F53Oy)N7Hbf_}}X4P12~^ z!OMrJ!#KOtu#vo%c>8;2@f?4+y$z>1@c0~6nP^Ht#(o4Ig-~It*q|XUp4LoooZ)|I zkECb}jG0M8r$WYd1n#7jxy^mAP_)&w=9ciQIxO}w|6mM)-%O8YFEA#cUS%R{Bd_jT z1yD30*&Yc&rj`;l*C`< zf%AAW5$-))Kf;Zt?bljr7#uo;Qz%_;b1)wGpY6Y9iz%7%2= z@bR`Av9(Xj5150dqWt0}=YI^n@!tD4-Zwqo8*+8{RR5!qmiWzdkS4=#6rw!9t%Hbz z%JT@=gMu8WpKj9kW-}F3DY$<(3=jO#QAf74Ri1|bVXzCKefFqFky8E{gl+FzLgfVD z+dty|E;O|mRlbyEVBbJ$2IOXy6lCZKh5u%h6ya$zRa=9|c?iCMuGeTk;Gnze02kcJEo-K7r z(V>Nx|NU2|-gx8mfaBM{I{y2iuG@n|g6GnXK?_j;+=t=j2zY-?gQp#w-^Dj?!Eqa^ z%LXnQ8lJ~y20c+3P)i9%nZ!z$pfdos{)!tmxIY!1li>V!T>d-meu3tOXVy)xMZq~R zxAtvsYw;%=(!zbA?4fB*JxWi583@TU7EP2bcsLWe@n%*oM4|9qiA1LP&F)k$&}iin zwM?$nyu$tHgW`WTlNKRw4<2Vj*3*qC-e~s2{o#lVN2eTmDOnfrIz;UEzQ;let`|b7 zL8+MjNU_;2MDIaU51Z*EDA z$4CxESAR=RkA_=Fyp6hMlbc42@h+$omhG#OH#RVKyfuGh;!gi;kIJ(L9396 zg(A78yPkiI84(w{Z8M|4s-rE#@skm!nQSgG6x1S7hV!N)-l@f0$HEQ}s>C_4_k0>!~BNDYt*Hqh6phyOU=?Hqi3WQGlj2Y6gzx zEIio5ag(6iSx4Un=CJr?dW@Q4Lj|502=G|bxajHNWDkcY?f3uGri zr8NGQnu;oTP|17xv>x(8Jo*|@_xc8MRS8o61;3LJ_IUNxwWz#-_yqEJP#sg#MV1Eo zI=X)bq9pi_#p8sh>a0WQZn8I{tj7F+t`y}2#xEV?vGS|zB<`!*{yZr0&Ga&~1j26# zvQi)uk#{n>9>Q-NZjC@h7+FFw=%B1a>X(STjkX4;#DqNr35eW`tY9c;4%BPFxq|5Z zD6b|7R6KCp;reHIu0xB2EI8`gP;v=Z|A~LF#dwlIa!_(ne+T{xkd}$==*)T*{aZ14 z4Jv*d68yjuLDfb21!=1Rs%B*EMDT8KYUyfplE0!xuXjyAz4GqlQZ`ppdYQjRt z_~s^oMBK@5D-651V*S3r{8|~&0oAEw(k@S2}L#jHux~R`mg+@mWg!S2v&aRwtJgT-!DW=$L_dh?o9#t-5q#>eqPW;WaYj?Rvmq;{pTeM25wN&AqqC&qN+xBd_^H@MWi%ENX z^#Qci5AJ_4bLJ*rHc!+gmb6!A_?}+2cITD&HeuhRMVV(cKHEl&82#7Z&Aoq}-N64* zSI%DS8KioWT84(3U>qiXvtFqKVsXjn!LI_T`w(~*VhQO+YPqR*U5WMpT>Kw6@_%r5 zJK8(?ePu8yMI}Q0HL?m&Tif$JMLY3`TZ_m35K2h*m6sxIGrYH$UgAQq*Ym0qYaEQl)$VABs%6ckoezZYzJ`+U0_G!C(Z3G9%I|1hVeFV9+Q%I2}~x7#bQRrCRDUZrLBe05mBtj zjB37EQ2!(`Hj2f{EGkNgj*ehPgtM4o#u9=V!H3=TW_?A{>=0 zx+4ano~D}qRn|(#^HB2$ZLQ{C6r%d8w2bbrOjJhDeYD#L*WH_`u{n$M&hC!h#Ku5x zB%O?U>N=9>G)&Z&419InAR_s*=}gKaAP}1I|C5PRBbtiQX?7nPb>BMUt}$kg^FMzd zXLdF8CE|r*&syV~eIL+lHfsI-!dl_;6I<~@P;fcS-BV^Cj?Qa&y`u&Ek|1oncY!(Q zU{Q_eRnvu47vLp=mX6el%Bw@awq5I%Rnj7s$dp>Eq~Z?*bxoBrvA9bt;#NGkwRr5> z%P9pdD!o+=;Xr?@p5{x1s839)hm~^W z)-mCSz@TU^3cC2^=GC7qU$S8A(EoUI=*KIUejU`x|H%h@v*HKBs&)QSp_K{P@$UEC zoZVcV9q&51c|_+mcMYP0=jQ-}x~nNW((|6vT}MYpXID2j7gslDMy5#e>h^z}Tk(40 z1#Gk9$E~*6i^2TV$I4|^Sn*Qu0=C(S6IR>I3M;I5ZDBc^)mUvaE3B~MHO33EnbkJ4 z!U`*1Tf6|9S!bHB2Mjc<{x>VE7=T~;O!KEk33^d&cBG#dE35WZ@3a1K@l(6*R{Rw3 znydn-+fZ~9nK!|yF^T^By`g_;M*{Gd4E=6YwEim)?_ zhkdl@SXlFmNL$h7oW2(ZiHI$S`!up8t#ILe+@!^Kc&z_kVwVS2B$VwN8lL ziqOyC^cOq|d)@Ukb?rqlE*H++jV|sq8)45p^h$9{w!gdct-E*b+`M)BMtDwxKqe@O zWVm0ue(UbtTQ_corWQ8KUfpJTZ41h7gSnA}tBcrz(4!>6;focoh4cwh9T2<`tj!4D zj0h*Rx4)$NTJe*>pzVL2?S50%Kwj7-hn9qQ%2{KK*4RH;Uz!2Y?+pD;(r%=_Wc2@a zJQQ7q_l}-?%w<9(9h4+Oo~#au6Oi;QJprE^s1$OULapsz4?}MueLw5V!az3hRxl55oj2^yZw-I9U$A1`wTP0I&X&Y) zPw!s&@%!(*H*B>1v4FS=(R1VKb(drIFuag;*XoFfZOF@jN(QwAl>vyqhPD@Zk5$7( z@eYKZM{6^=e^e&P2a)x_d>Ga43uA!Q+xYXwAij035um{r1^4j81;s(&)gpU?sh*}D zvQkv|C(?qpzAKHC4u}l-wpY$D1HRNGlB;^4Xs>Qk?iU1;~Sn{Es-^62Y7qA zxVYZ)@bXKq>C*(#8RQMwQ4CL4H;=Hix^@LrP3aGVoSlDMqB6_cd!l)D*0Ue_I^DZ> z&&|z0BB{7p-cwP%Ou)$wb9WD7veKXAh2MAg_G6T^$@!JZex7dkeFC!Tr6jVVLEDsg z-fq>!batNQu9%IlY|}fpAY|82%3opw-NhkpPnWO2b71j{a`F1@f8CW zz^knRL$xEKRv=&@ ze5b?L4yi2gr30VbXR(=HMgm7M7QtmI$$_eg&l)0}$G1$eS|x0V`)0wSDIW}9dN9oC z;Eowf7tWr)VBVrdQ@8BB6JElX(=or)dQq19p{>it4|{vUSH6sgg@NC!`)sM*blXMi zPJ4f)cF1U(sW~(9^xByV7u!$xXte$Evym-56LKw|li|5_>ZH*_-*d-KiX1CKY3{^oa==U#8F>wNA-p~ion0)!kzR#HDRx1Gdg4ZBDU9F`eRVsII7 zJ>D?ES@hB6yG}Sh=02azwC(LFZZV6O z1by-eW8kqQaQWKs3(>+3*>lN414SJC9gvl5GHEY31=dcA)huE&J)ejXx*UHqiI^#= zL--`*JT?uyPi5B?yxZ%;e>?nd|9OA6dsBy%&3?WZlxU680_5yKW)T#5sH7z(AFg0Sa`7ab*}19~*;jlV1r@bq8+S zAnY=EZp^Eks8Hm9m}_Ve^gDm4Lk9z?7f{w{S!;JxjH|P^ zyM-6=j69-Ks0*Aw``G5K8HYkL>SzTty;`AEDmA8|Zran#shn_&Qcf?Q_=PuHtdNcJ`9q?Ts|^+?T2Oy%mO!&v5)Azc z%|8v+E=$?WAVA&Sr`U`G=49lgJuM?r8p_oPq3%2U>E<Z9G=!}`oXrDUZLPtHOI$u5)$g3J`z(Ji<(r* z=XVf_&Eny|cc5)X*z7Bd*^E!bq@T9USmxPGuhGh-sxFyUZJ~ckrWHR;41zka9xXly zHmj$(u18O^8OgJr($mz!P>j$`FQ})v2?KUA3DXcY9C;Ncg7fCtOo*gKa2yJcS+ssZ z?=cnkKSySQW$h(;nulyYan7mgXW>Dm7RMhSx8c0Msh;M>V=hru-Eyx zlY)TVM4q9~l2ar11ep7&TV@%X3DM{R=dZzS?K>&1M94JcWj+-_+KOKa21VtB{|Irj zQ8hs8yadThXsvS@G(B499sO4iwa{b{t@AwED0-UBs04o{hX>9y@7ke;D#*~6Nn05F zC!x0ed0OYRYc78i60eY50FoAn`yCRVwqrX3!eV3l5LED&cVaCE!@da(Ywbp6mtbHqXA9u~*SujOxX^y%WFmjaB=+RDN z#+V$VN8NuNJK5_izxEc%bMv8SvknoTBf%fa9t{9p1(Nq8+-0EBnYIgpT(p&t#cY#n ztpq;`?w=ARt-dwQFrwF0UN(>q^{Td7UO`q{b+g>M1n~35AlPP8N_;l*JdqxlgG9ID zupVuph&h0QV$(!gvE?eA%9MY+1X+*KJ-IdLk$(`ZTi}~+S~KVj z-0~xf?)>ge$1OLi8?=@!nOgDFgyn2j`6DXOslj`Iz?q2iL3oouM)gG6d!`uQWTfdBB%zk=S@^iGUsL>+6FPVP|qg03Asi! z8*L{F_aa~|ijv8BemVJDAAs<^c>KV!#!Bn!S$p3ZKVj48i6`#oW))XgmY3v5-`+iU z)8z-1Z5jiS&lNV+SC^ErPR&}f{hWX6qiQNid3jk~o4~lK%%E3x@tbSdWfj%6>4B$r zt+U(doLX90URGIK&yy(Ca$#Pi-~RcdcX{P<1blv7$j)~co%B!R2zYJT&Z|G#dObX& zrc0&jYRI{@YW|u7J`tH!Ra6mWv3J%l*m2S)ll!W*3KUQ9=sX@XAgm%6H2r@j5}lvg z_$o%tb)5d+IPwPE_M*$w9cGZDok`>=IawqVUKyCXQJynEF3q4(3*r+O+FW{PX(FRg zZryG6^TwdqX5A1`J$gD^ZQwKl9eiKLn7hAY2Lse$K z2?zBbISNm~V>p~`;WQjf2PA)AfY%84eTm#iWPgb}W5GHPVLBd8BRM#ZfX`CYcA&>J zA>!%&_Hec#-#XdQ|DpblgWp-S^=!-1tI*^D#>XT9sm2I6E+f*wIt!l-TC-{F=T3PA z%yag3ACDMeV>5EXw2fEes)gF_W(vy!cCMZ^eE4u18yo6d8(Ujj8{2 zqu0yJBc1ln88LhW^^Fb5f%<1l{Ta9L^V><4 zNi+BO71ZYWJIt9f&TjVppbDN6dabgCb!_8;@l;v1wxdUGx)xm~8U%C2pn)J3(M!oK zp^orNXzns&HVKjtHWGi%^N|qUXQTIm8fhvo!h0edhr?wwva%r?m_{w-#~kqzZz;CkzXeEPYY2hC#i<`mU6Jmj<0yA#CJS zu}i7bl@*l9#HLZoY30i_^t(+4y`ryRiFU0e=1TTxzF z&EZMZYDrr)l~aFZqd=}wbhdIRQ?IgFsMOMrvsTJ&s41swQO0iMTd;foWq`W?=6`i5(=)y6RVr>(c{|dOa6<1)i!&nQ1WWSPfVLJ^6&rk_WL%r zW9=6@xaT!Vt^I(=Jt6z0p=!@iJhw&8)D( zik}AtiXR|8v$K2FbKX9`eV*M3w&#t<#@XPE zJvJF*n+!5RNaP$vlmHP0B1<3v5(=P*Kso1}a~6L}Ew!X>rEYc3>DyaZ-KbjuS~fNe z?(ftAb>F%b?ydgnuk?RXD8x`b+CPjI8X1wuPzXuxnrHr0vbw7v_|*0-#{vtv^2f)1 zrlFxSN(K8T=Fj?sGP)}WMOcz3L$8;V$;f>Mf6)|=^5EBYoP8Igi% zVMc#%K(t$AmDs4V&v+~QSH&}7o9Q5LLh=fPEJjg*IUcGX4>#}KdtDQ=I7rsAUU zJi-?v@H+%AMR_r#&-MmkRb#~Ih3|ea-!WobdYW3TS}v7{^^hvmT6$-%O#1LExl*nD z1%G53C~8q~5CPvI@EfGvLa%6i2`D+JIf{SK1qhmp;CUp3SRpGK;t{?YDM-tZvj?H4 zz%=$3tc6xZ4)JEKrBnD0;k(h$f?-?4)jTv^K?&8;S$qzFw>oXkg!BSODN zRq+U4ku+g)(vW6L3royFx*Iq$i+I$}fv2JiFcNAm>f8}N8L<(j3Uog@K^}U;5%Yfo zd^SBQnnnsv7HR`gb`3$VBQ5_#@ zmTte9-prNq%KT35TK?^VB|j`#xM=I;*n*BqXEickA;7(QI!Kc{)|i3sIDHei*$Wxc89+eVveKAAJr~M zUJkDfXlxxS3Dqtc9tc>Bj2o!*LeVY+t^u=8?`D*uDM31tHqc}^1(q3YBV!UJH@x-=wW5vmMfG(#L;NK}9Pr zl4$ZFGoRcmqerI7LG?-E?u@eK$u|!Tc_Hdu;J;%?G;=T`lfi`HZ)Fd%zeMJ!dYXf` z50=5S7>}zX5hhW|#S)1`rch~h8U^*2NJN=J5(zPn47rn$h(adOn@t+(E)DfjBofK! z`7yl^fn4%VrR4MB!O^FJ2wEp1rkG`~aj&JG^JciAve3UAQL^+y&GxDX}eE((-4j|zG z7_=8$9qrsa?JVjZ?WWQcvUcRHL~_hyOnIsS39}Gnjl19D-XT;Pu^E3P=+8w>JUBf1 zMQ9<)A#Nl?eIYX#Sb{>Ne1)WFi0E9D9jJA}{afhc45kiw3mWgE(g)4H@R^Ogjpydo10KNNa>H zN1Pp)%_v$!8jhaLbfkYJa^jG-gG7i}iKr{Y2dw^5KPsFNx(o$j;3-Kb*&B-tYlN*r zo{xc%2K6-Upk$%m3E|cxe&P}INk@@w98*t|YE*qhEHCs2L|7wy1>!ED-AsKGVia{| z+}OBr<5owntUgXf;Lc4OmM>djy?WzzpX^S){%Pt|T7GH3>3x6eR@m4c@-Au=Kv3y> z-pg1iIMxp-q$1X{_xNX@=YYN+sxy4oq3_lyq0JA8_!Nz8fy@PjX$k8=a;`^d& zd9CU0+t%Bx-n`qds9&HWY}gdDZ~m;KQPmv7ofPBs#P6H2aQ&HBhH7Nthe5;XF9=Rw zyDobD`j`zHOu~Qqby1skCS6P8aUbv9m42W}yOAFXrNKvuwhmcG5EnSy>G>l-*lY!o zA|QSwn^FB``7Q+SNB%j)93diMkD`fAl$@qrc^W)n_GTdLLpkN6LQzUZG#&#@(q7VcmS0WyNjW z7>8}<==j9u&8Tj$8Y%0Du0{T36kS06HUzFj@NC4#>e);y1=9y%n~-)IMORVeio{)r zIEbz~It3xxA`to+LU*AKw~?G z`6nDxPm_O*@&oW$jJQ*z3{*(5L)alSRGTOcjRm!YTOZ@(yk**}UoCdBp1Whm1?LM_ zT`ylcw_~f-h7%z*JtC5bS}SSIx$o<4x9Hs&yRKclfOgqoZGf(h5g0Ax_-J7 zA84tJ^1O7_?bOaC^A~(~H1grRnMTZM>^B_050Z|NVont#= zMwEXoqShjtYC6K<(FRfxxfR7p=nO=Z{b+1P4-zQjo3h&bQW3TQ2~kiO+$6Cx5jct1 zQG>)w^_o&PB0oe{GUUeTP;6F!z~!T{nH+^X5q$u?10)M7u!9i)1In89UPp}*=`OE4 z`0lCS|L)9xeVv)tr+l_&aGynt!!~~c=5J-s> zhM)l98;}|Rkzpc2QjY8$NOng*?aNW8M!lV>%843vhfQ<=9ysCLYq+-+jrDXZ)GWd>lR#1E9-rzjVIUCd##-R&F7OB@3p(0Q$L^tr#dk^Gq;szGJfM0-E!J9 zLKlGZpzz3yH>Pg#s^^P%<*r}7`114(Ax%OOdPVh~QFq?M7L2r9}An6`VoMrco8>%+_q8 zAn!!x4BUJlAr8pCfLv!pZbESyWJdnlsPv0ABjzG{`QQX1att<;Gf?k}n9T^?h}cW$ z?j4$p5L6<0F790=f`ycQCd@(VPIyg5YBFTTzlBGz8OTCI?mmRBMcfv|ZAE{?dSqUQ zP&1;Yn!cL46JMVG{r_=-3jTcYFHsj|ZXBn#47G#td0Nhoa_%19?ehd+E5fXy`-Z;sApLKLn> z(lzvppivlt5`qL|Iia-HyxMAFa8b)6O4^MauyXQ==PG<>d6Tul7YSq$&xwJ#6=c*=OS$B^p6@sn_a>`~8cV zguhgLQOSk5Q#QDSR|~ZinRUk5S?xUSm)mQ`bQeVeWUrfACL1Hj)k=T$FQunRK`jC^ z2*uaQ6c*JiwHmaaN6=m{nT7(Zz)i;eRVYb=N{+sOG1v@HbfGl>nRbX=jC)S#HS&V1 z6@ndsaLNeWiulcl_zw5&5U~Ua;gA@+xqKv>$r@4air9n5Izd8$1M-7Lne3qGQXs62 zFFfyBax0x9Hm8HJz!ZPxvsug0qfds-v|!yu#0UjCSqn;S^s4}J7INkyB?x@eCW9JU zfi9d*#vDD(6YyC<4P#82FgFWP@1nffL?CE%1-c%jd<*Ych&_aqy-40iLdt$5TEmlW z(Plx?))sp3y*bx18aYOfPp;r59Qt^@b7*zHv7Y8Uy9=T9#K3z-|@*+gQgb&{sDb7$I|4zK3Pm8^(8R=ckFmGI1as~X-wMNGlLLuvL7=?=q! zed>`DIez&<-s3mHjiIMmaU4%1`Kn8 zy~)UN0ApaZy=|kH%mOnp4mNXid@>_Vip_!%{@G}3W^2S|-y1e?{4kIm|6Hj|BD zv*>pSn;Gv68p}4zo{u}z5WSDgTMvajNW6fC3iIkqvDtt9gYSLomfgrP7VxCl%>JWw zXYU)t&W9A}nje|mk5!->tdUlia(v#5b>}i0`#Qr8%v*o*Zb83!)qt|K#e3bw-~Q&{ zZ+>&=x4$(BzxmC9-~G?i)6RD?%$YaSmD#I20gbn7!*winTn!p!xF|I z#%42JEn;>c?#|FEfV3DzPRK48Md`peM+?S}r!&&bNA3zT(o`CcG;J1cNyPnKsK}=87-X}ZMtYhW)Y^ZOWlfWj<_9Qg8_I}`H1EJ?A!)FW zA8Bgw;2^TSG1k6&^Yk>C?RR&+`ugHynT#PHsA{3C=K4IV%fUq~Jz)>B+3KH7Pt#DP z?#$Cmrmu0k6MD{ik8B9O~TP5>BpS%0t-bv`D335 z6@h<;lvT*^g2bSwNl`(H9TM+jSZ^t5Awpa^?r3ay{I-~Z0LnOPZ+>mTX z`ktg+2%iJ@kKpHkmWHvDP=R?JAv4g*8FeHG4F?_0L;|OaHSEHeY^JS7^kJk#88+qW zpsq*RWhBPyRl$ZHjH>^e`A*dUIRN zK;{av3J{kFGLx(#j2E^6xp9yhm_*4y{(drx)kkZFYgK4CgxI}c8kPxoMTne?;C1L9 zoQoEbeg5bEj<7vo_UN}139^uAgYcl?@{GzJqNkZ14Uus(riL#?NZ*IF+u$2na_WCB zG$o*=-n`n1nar^5|8K$@ORZ02GF9@yviDad9NWCqC9SMSsqcujGEIZe4;xN;CAAsf zJ*aYG^u<82*V%n@osxS^1VK3sg_mt-IA^icS}}(jX}+_@qmW7TG)r%-p5$=9vPU{t zA3)GqaBlvbb*mPC`o+exw~K`1v;u$V`Li*C`6flj1tgt8t6{$xBN%b^XdbrlMUD<1 zT>2dx|A>HdCi}`XV)Q1W%!f?Q(?T&&w0>P_LnrB3VgV%oqC_ICB zR}2{1F((D7yHM6LY)w-q6Xd%Eyz?Jt-dd2I&?>jE*^j`}*`c9>xE5&}5xEU{7f^T( zIa?5Di=Zj+-b^S(CZ&Gd==4MMcBGv|!4(u-Li!%W9RaK1;Y2!Feoxtk7<&|6CQT+~ zGj6;Fw~vq&fzAeUd-xK#%|L&_M#StQTS4+qB4H6C9Kq_N6H!A{it-yMxQyJB@OuS* zHbmLHz!hc55Yi;6ReT6%m0R=P&GD^!B9bOV>NNP*E;jz7T(qT+%@oLZ?&p z)#XRux^VH5%hluCm(2WP!i=?!7cO7C;OZTm)6(DHl6U>U_BrppJY$DTKuIIJEoA-w zowRh1ja!uhv2@*-{@gUHA})(Fsf2k}c0bsD);<8VgWGWgk|yc`PC zL?|AU)}z)7Nz36e6_MA`*QdWEsYk^DM6N-S3u$46$B|%-yN+n>7}~xgXQTNhdFxb! zoKs}iV|I*DN2r6U1GRUMe-U{*aP2+Zr5ZGy8lz@t8|^?g*+73AZ%^78RoTRSNWBX2 zu*DrnySiMhF8^s#kW0Q;@N|T<{^jvBch9z=WGC4@8*WW@&vx~o#RJh4^W21pmL{jh zl1v{YuSb|QB32>N0jvk6NvP3!8*!`1RVtBecU0d;64gA zq0&h@f?lzq|5Sg18;_(N2&YqsT0=H2k)+lkks4jn79eOLJZ=ioH|e8ASR?E(z29s+ z3Ur^W^{Q^l3)sD76WRW1yJ7p;`&D}DN~;jIC0}yfX>GmAcJ=Djwzf8_DA=rC>F6C_ zH@F!^D{s#UySkgYle%C-#agqP#Im+tx9{}5(vJ4Rpre25*OEK8*qw~7=;d7Vau*-sqMVM--t>osJMI9e#b$d%m@8X>l~K`;!+gYlUG7^JO_?MmBJ!CWF&C3KQl&;qu8|Ki>hHn& z=*WNh8L31pk*hRXvpM+*W6-UHgnpWWF@0!|I3n`SMm-=*T{V7rqaX96U!LB7g^08a z>dg%u)udYhRe&KM8lx59VHWBUo5YNrV;DCewXru3`rMtqnF>fV9l4q*<5q>neKs@3 zyHIQq%lpxID!XTYU63-nVvl~b+P{jyf7*XVvEW&SnBQDbbtIPCFSh)|emutE5y;|6 zd;HMIg&lc5w;krc^5r(yn}IR$`49TUW}G6j;8zC9URJ8b3Z2Ct>QBMAJOWv4v++XC zZHqg%XwmoId^>0MjOnxIFFO)g!IoHBtOXYQ46xW{KO=}kAhldPFfhQS0)+vdP^N#< zSRSGU7W^Err~_MIfd$V8EVh{i7Fh6n;2BXlvA_ZgEcl7Ar~_MIfd$V8#xZZ^;9#-M zo;q|Y8NZLs>gCJEr3qqz1-}A3Bet1F0!{_GDc_N2E~ebXtY5m&JcdEM7YSmD-p!6v2Y<*V>ciF?OgcgzDMujV$;%@f2+{ ztpd_^@LDj?0)8jN43yX+G1`dDbi}8Wu$@F0Xa%p=$iJNm5;pl#!h?UBKBBJTLr6tq zK+G|WRe7kpgn*rdD&^h!j0CI^j%R2n*vR~1GzB^kPaU#eeHlnmd!RJi`IJ_z6!uZJ zPdl3Kj$~tOkA=XekM?9p-qt&S;999RTrIpduFHvZyaWbd7qouip%@scMaHEv) zyW5*vT3TCMnXEpec{6{VS|R3kwK6(bEDmpg)!N$D-YJl4l;Xa22K9l-m8w;0X@7IX zuJ@*IKINBQT2bG@l_)9OOv+(As4gn<+BVl_+lkOxq3n?=j#TrI42as>`J)DAhpeQMMc|!x)S0X zgZM>YA!jGt-a_<6bjzSoqtlD>w>3s%EM%~wx=DOmGPp8hBvGafUsil*@_wO;S?P98vkPCR+K7o`PZ)z0Mv=jE{uHUPWJcdhDU7b-U z{a=6m>KkudoiM>9yz#p0TOWCCywl4PJ+_5VeAj|#dlV!Z+{sd}vlTgq5Op2qT4z%9 z$HR9odb)px+$!?pamN}Bbt7iaw6(#BYo=a)XF-a0f$$lh7q#H0U|jpnp4d4}6>-3M z|63&ALPsIk`Dk;8_hfi}fjEQKxoQAaN8rB=Rk37>msO0abGW+-b(ys3B?rF=SxbmA z29x$CB<}$yA6YiIyK+bupuq)KKS9iF#9l>LF<5_@DBp|Qi%?KD+(H|R%~Z8WSqAS7 zsLTMnm@F35xFBQ=3Q|VMA&v&EO2%zSOm%&*yTXxPpsiR-6fvmr+v!jbAH+k&+`JShCkI)6^ugg99 z{lrD5lh{%T?}5*fKfkfkDWhA?>n?x2Y4w>ycv+WBtw=rf*{XBFwd~$TAFCxxK70GM z?Jf~@{QmUw^R^v#&0r39hB_QNrGnehS5nF@EoGOLnFR7pMNdng$_z!@vGg>Lk3&zB zVzV|kcpO2Wk#2;DfyggWoIAq6Qx#mfH|;NnUw9|a>;0wY4v)V0mU6+ zjk4m_s?Y6i+mT1(#?iO>! zno;K@P4OhufeD+rkHTgVqp}$k1AIn3yR2ErvA8dJt}%{tn#Ybk8QXtM1C~GTkI>VU zwxGl?Z$@!T)=Z>@n2!6@(9wFDB@yJ4SqgMcxV;v`=IjS@5c?iV>mf51gd0^)vlpq~ z5RL9S3oq{TQjTPvAICw4c z!6OZvM`<>lN_nW+WaED}Oixp*Zi{!Eyx%)5{l4?Oeb=HZ^TYP-y6B%8>$`c2iOY?&(f;4WB;UciObuBZBXYd3Wu@I6dOWwh$HMW3yS`&%$OF{7Uc?=FN0OZ8i3v zV8~3_tOXe$x64kc0K(juSc7d(X5rS0q2+8*rTfaQ&esmF zU$Xo7^$gZn`8|ZPoe{8q%l)O7PQ3Ke$>HHYkH7SnOAD^D+aEt~rlI?!jYtnSQlMuc z=O7}^Lu|@s)H{~o8LmzR1VXCqijm4P|oS4>`JxT zay0L`##6A(s9v-jMO#r=2f5LX3r-CDCm|*Rd?~a-Ft6dxQFJhWhwjqK!MTU9{irFU zKT>SA)0E8=sG@DNo`>^h_PF>qGK+>}cC-St+<@15a0Mp6n}=*BG-g;W7|zJ>0E=r{ z0WI0jX6}YBNe44z+h6}NZBKNg=wW@8d~wm`Z#H{IR`%&L)JPQ-gw4#;(>xx-GG(($ zn$1$Wqy{!~Gh(xUz!K^qX?jXMR(-X1>+-i(dE77QQ7CyCXMWhab@o4JA924|{rF9O zTB)?FrY$PEF*>>_CdMR0M>obMv=%euQnU81NRexU40i|ytFDD86^VApNF2T#$uC0k zd<1VmL6)gBfEI#MM1GBidOdgPG-$g3e|vOxnxsIPe-d_o;OSVaZ||Q9XlJS{vb)bS z#^rnVNzI$-1VkP#XemkyA>l*8hbR*vU&8fW#6*F^CvB4&c&2Seya#$&dUXhX4&pWv zc^@g=QEOFbIg8kRXl$n=@WBj%_n(Q19Gg$8ob;jQ94@|ru*Ik>gG>NLKf1hdcOEiw z^}8(fDklPeh+2^TIWj^B%RN*%p`hqQ{&s{P1e2*R2KBG75IL7noMm2Z#Y|?z&cD3> zj@3VxdgbK0n`~34- z2b8LT_UIE|e)Z-nZ*TU?X_rw+a&ynDnEqcczGizduIZQ6JmZHW;WR2s$!K48AYls%lOQu~qH49QEPv%E&M!_3 zy_CRzm07s#xyHC`vnQz8M2#h@FC%;=LKYxoF7D4J;$X3J;WiB+mm#DHjh|0+-|j8I zy+sIFguunfx(T6Sd`I=VvIb;r#hvN6w-_PcA>0OjvvKuhgq+5&_^x}kBYY#*eceLJH_kaHO>CEM4VryFSt}lD*!!N&I z;hfag%Syd6^Zl3KTzxC8RZc{cl-)6QGvD~P_tv`QuzuO;ajggsyb-<>AqzCQ5J!2w%PTh73e-*<5SIOEV}D|$J6tcm)Grp zgfg~%+^JQ`ICY7UL7tvoKDT{+eSEyV2yS^q=2WxkeIz=qn$ujC8tg$ux#i{UFeWv>+S9Be>bYKQz&f94fONB6PR4r!|#2N85ZQ{7noMh z5lg!plA^+5%e%OP&sVEpSEWV=#T7Mke(3{_S}2%cgrU@vgqC7RMw^nAv(V~`>Tq;2 zM;X}b6c7}n<_>wU72fFS!^ln1T*gi78&j>aLh39>o}Pa^E!*tz^B2#5Ku7vePjigR z=A}ZhS)~1kt9&b4c%vur$l1ujk*0Y$nG4;p|A+tm3*eW@PA9A`TC+L&#Jz6*Gk*Nm zf+qosp61VpK^BrR+3}7auL-Pf8{9ni4AAti2Fl)^#FCzdKC=(jTJW!or>1rO>wr?g z&huEiZqBi7l3RjwRM8)+qK~V()^00xAg7I|95at#d{uLJ#;X3cx{(7M@kg8015CSw;2)L+vxgYM9vLF2_iOEVfY zX#6%nTbeXz(D-fOId%bP-HZke8oy%DCp7+PLHplm&~N~KLgSwcW@&p_YGim)X}gL( zL-o&#-{e{4fyb|ZLN~L(z(;)`9^FJ|2Mn*`*tS6kW)ezoqWR&ovYAxir{j@7O0S|K zm_%iK5njh%5Qe&Y`@Z_%!>K!?I$s5~l^yg(>uZCxXSHo;zC{LE>18q^3E4`&dz^61 z=HPK4%C6bdRg?vyA{BC(V^-@kjT|tdQF?`xRh4877GoiQcf=S`sPOCckZUNvjfM)C z`%Y>zbj@hEhlX-!v`&wQ;t}eCtZli5x&o+rPge^x9caIYa(fX}9Ueu1D{y4VwLM4= zWf{5ISaO+MCTywg#U5mVnTy77@)1=~dmZ|Bs%gM(HuVP8+096u1;4kE5JMsYy*#w- zsMK4{Sp7q6%pvQ`pwi$C|T^tK=+ccGSCID>sMYa8xNky+4P%%+0>bSV)F{`!GHME z`$NV}{%YpT8PjLZ`g+DP-$QpFwn=Ea^)*3*s>8Uu4)rbMUltka4-lH1c4dE=*-cU+ zA}Y&zxQ{J*G#|mWWoYOfG1v@QIbjzIScaN^3g=7untGz@G%A4Q0^AVnft$y{?iJlvUyr=4h&cncHR8F2gNjY?TZ)RxuHqiHOn* zMk(5E;>PEQIO|-xwZUlJkMK2UY9SKLs6qKTWZ#7N=jFn4=w|!&y;|MOC<8YQjd5sy zh(${#BrT47nileYw5?#IkqlI}rZOnI8>9xW5DoDpR)*GOjmg&x2KA^!u&SZARZ~P5 z=t4HYtc3U>8skwPi?&>7o)WF$snSdXVHp}?$P*gkNKg)WzvZn-D`%7^C#R$pRI$`L zVcq?dkFJ(?_9ZcToFW>Q>YQg#(bqNfb+>f+3pnAn2acBx&=C^)S} zX)$qe@$m`i`Hxx!I(swB8X3DLJ0T%6H?O*>AvZB0B`vE}tW_`{r6t8Dq-50c)HWJP zlTIcT=NuR_Z`Xz72A+_DfX~bE+dOTSkN^D+BZ=lAZhw@Y78jq8S=zu8wmiijSwNLbW74yUc3yI)schXa&{zX^B)*;}epS%NUG?k~R)k zZr4W$0V?(Ahv{)Kaq+P+vH8_Cb+t@J15ZWb{faxQ^AZwL^DA2TT9bubr)VxoNQjTS zpIy)-F7G>Lmw4~Vhq{l3U+M0uuq2pE*+>aw&79STI zlTqHx(*XUm@hm!>u$h^j-jbTyl9uL}Qk&D#TT9zC%6{or?MPjR=u6hfq}DMl%SMhb z3d;IL`ep4->J=0JOLx6Z8WgWU=vH+0iYa4~p=1kDgeYZX=ANPk zabAeMe?C@<;z=JZl|Q%Q4j9=nR8qbfBp40KlJ zqq-}I^gyr|Zh9ir11VR3kUSU3b_P0&35v(a--J7#<~I*Hx1bbvEenM|;_RPr zdozhWOZ6oy9Ep=~?ytD<9XK{QAw=zI1TI0#b;QraO)mtE!;P`XiHAtx+%ZpMptGpJ zxrH!FD<6wsZ`_=OzLf)RuH`>NNMkAAY$t+Hc2ys_|b;_Vo6iIO%iG ze{8;%SS_~3YPIOiqWmixmrNZo_|0M82ZpCrNB;EPoT+0yhkmheUvQpKXt%Dk9Jglk zy6{>Og|RyI%J<`4J{&t~XJm)U3`J*2_}*z=qdpk=$)`IXsH}F8Ss|#oyLHBt@h(ID zJn>LjUTW6)EnZW-Jw06JY`K@)sx(lVsI0Z}md_-w@x#V?Px2y|yl~^;h>~VuUuED4 zFtIxme!Td9Z*S~;;|XcU8^7BrK1{8B<^f@#qeKMN=v!Z*;67wrD{FZILfmm-7!u+k zRarf09mrja+rDV8f{G6nkMRFS&PQ>Sb(J%bRib<)64rM`(xwb?%33VOZ**nLl#s`Q+ASwt&y=XimSdY{tAFA}ZU}R$@GpPATT_bI;70`~C8T z3)jqAcQU-Bg`FR|_xy#RBDQr&HEPuo0hcd-tWP<;bL|&<;(B-iOeVdmxiEEu+aHH` zZH%p`t&iF===bjp9=R{6vFcI6{s~{7%C8kz-&|j5W;UqG0_H8>c{r|yuqWu%a*3cS zZ0o9jd@*Cmt|j05980e4tWLRh>B#Q5HmW3kW#kU8QL|QEE9l^Gd3-*f(&hX&&i`V6 zd&DCVd^$X0AMSzfnLvg5Q!C zxaS|E=l^&in?WXoL8ofTy1IYW#2xoKlx7lCQZ3`ur(fGUcjW$TrOh(2m<(zuyP^2b zRu`|8`&Z8Y_NzTHH4J8B($ViP-OF!(R~j|^lmm;Vj$V8wxu}&YgjBWg=J9z8)*in1 zxIZeDStKaD7Cmvobq`Pf2@|gOPM#iq6D9<#4q`Wp`!^k0E+K6#;pS;cBdKIRQr4hD z@hn^H8L(&}2tnX{lomMHs!a!wd5ZX#xH)J^K}$A-oG#kMzA(1q@lN>rI8wuZTZj@^ zyc+i|L&_#W{Uf;R6as~$qy)~Ku;KXJ@F0Pa6x>Ol@~yPj?1{=i?)`YZlDZC z!7beT5!H{Z|Ln^PpvU7M9r-kO;KYZ>%Qz*!ivCcGd7$Itq|JBy|E*C-#oWJy!-Wus2VM0 z#E~%G2A$Smw&S1vsOqK+H=9-5&VW@*&OB&RSf8m^N+WkKS+wQ!z2vOi zob0UZ+?;BLK&mnHYDZDv{&j0NoeW9N&&_#|mGz*ku8FIl%CgT+UPzMIU83i?=h}S z8cJ}VIdSZAwx}OsgtXeIRvVs{v<6FmrIA5^@)LypI>-Y-<4LIZhw1%wnmyrZa+EB` zoxSLAB&I1{iRfiW@x?871dPXZZ^Rt~llf%3T9k*RX-G!@@AmI>ra%w0*l7qZ8NbgmUv;uK%NWO%a zDF_@(sv7t;%5%G>C?(Bgk+{CeQJR_XfRbjXounD{js)d3=U4iTn4P>gPM|he27u+n z0$v=FJkY9j-tL_3HiUKR9jBbWtsr3Um+tE>C8niQ z-?bq#DwW&xsQ~J=|xn+8mtSE;V&!0I&GwF-K{C#wrRv+(()T>%xB=>gp3(!FCAv zZ!xGkV>eG+v}W)1gzT)Inr7TjIJf#cpY4|({=DDQqSs40xcT{=d3l}GPluG(LH(>| z>QwzY&0|DIDDtkNwG~P((eInXk$V6V-3uOzq2@-6Cz5W!Y2zk$HSx2YpN9Ns$b^uV zAa6T=5gIampMosth(PcNRC1y3MP{a~#)G+ty#=uxCNWx1;I7T#@7y;;h0_S3tU&%s z+}Vz%PWuG2ko{1t5L$)3P#K!9B4`acq+x@o5;xu=j+@XegQ#;6>xhnGFcWDe zjUc*NV{d6@wo0>8a0--8nLY-CQmW#Kv~n$f3Fj~X?7(KQf}g~v*=tWz!^DHh$O!Ah zr}>!hX%_dNPxAkzE|^w_au#*7*@`kP&U z!RZY$U9UG`Y>)HZuyM`l94Dm^hW6snZ6p5g+n-Wj8`BG;++95;Pd<_+RNDK_Y}U#I zTsDgWv!yo2f8~tzd%}xYy``g3Ef;Y~1~#j+Ch64Lb&Gt%%I!hU`zOt`g4(EEZgb97 zwmMlL1~ofo>%=ib{x)R9__4hzI(oE!+t82Z{^F}Fx9-I18do{lw3YMh}X+DVehqjAc3i4bO?n6=43;E3qP^2Sh6mnCXX+tT&a%>Qi zL#?}nWG@iP96Y>$vKr@tEMnB}#T75G%)Mry7MuWFdKcNLVAg<>kCOGcxfwNo2dtw1Sc&-xcUzRppa z8By))sGDuaB~P>{(QOz}58=jtAk@lr-n+F=mSzT&FG1#6a70$8S?|=B1yMGLHFDA{1rFqn2zVDfY$1H(>$K!H&BDvN{ z1tZdIL)bFSaoeemA3nT-BPNOB;4nV zji6?RhsRL?v`dIZprOqi~35l=v{8# zo~v?_W-w`GkFL&Md;EG@y+r6#Q=V9^*8jW|G7I>*7w(Q6dD+eVvb%G-ICA9GfB3N) zMg5Rwrcy+2L0WW|pPU+hs>W)Ro4KA#d{Pk55nnrnKDM3VxHD~R5QM(dlTq*=8O5`Dn1OEa?w#j6mp7(CmErYW<^YbC>S*Pi%hX<9PX35Bf~qpU8G7p7%KC_#&@E z_n8`#Lf9I;@#F6<<+N(Lq}h+ROPSUVFjy?b$2}Jx3dm=FKV2^{GU9h`+OqC!ejjOO z7FQ<*`hIgZjUiC??hcbm%wkKFB)?81%s4)6#p&dS4Exe&F(^eLKTO+tHsX=c`r4Yp z*KOEyG`LvPtq~eE5B+v-`C&^`vyCxWP#W^n`pMfO88&HVF)13;&h3~z>R_JQ;9zOS z?sot7d{vu&)Ts$3t+@E|;{6wb^4krD9+6`)X(R%nK>EZpI?j(Us>Sk_7D;o9q{TUj zsh@0#QP(fssvYSEkrrkbDHdqU@$fKl<~q$LSvkVr!x8QY5|f0U<++bE$#9w6kWoj2FG*wAg-1Ocic~ZbM$7IVUR%D22lfq4b&UJAcKMljoSW2BaF33nvST$5L*R}Sqn8AN|D_wNR5YD6d%Byvyj>K5|a@1 zhY|1{7%bRa3nmF#E+QiaQtO;FtC2esc@eO^e9ClX1tEGDYI+~8vt{H)9}IVU_rgq{ zvH}Tz(enmmPm^!~ry+bY(gM&~0!|UyufT5vuDT)O3R!lH269UO@lHhSL`^0*WhAxu zBXSvPvg~a!f*F7$9~7m4T}B>KwijoA55E~`sE0yCZeZl^z?q>){0y1FV3mTMLyr61 z{024c){dk!WghsI??g)O3UR&2su{ zX|^+BHvQM=aVy+L`CiM-C@L!}EzF5Nz4r6vr&F7F2C|E%<~P?>7L-Qp@}B=t_r4`lnEU88#VLiMTwBhrA z;cKpE)l&LaOXS-Bnzr+1NTdm6lhOxA0VYn}{)KR>@fFj6<6IN3USN>O?OaX*0XwArWzHx!3|hn@c&msWtwdy?bS2x&Zm+>w1B zeeD9ukZAWq^hy-Ok`deyjTFiTyiN>K2dAQt9N)eCC7Pdd^nwzDIyN}DC|!>mTTolo zV`*|i5bcSSOJo<4v?UQKb8%yT6Pnt)ykyEUWPXG2<)|+sbzr6SGF-hS_c zPlmd?xs4d%I%LVAkP>SpEGBh*!nJK*4RLXGcOO3F!}s2K`@N5bxs4d+GH&M5OAi_w z($9Z8{L}aU^2fJFO-s^{q3E1-+O<^NU9#gU53tDw=c0xrMI0) zwdhsC>csHv(?^V?>geX??&>;xwCCh~cQfmSMw3l9J2vH8-^)7|edRrR`0x>~ZX;d4 z+!~S5ps;B~lr(F9yt8`kj%{mJZCNy7=&%uPBZd!|@ZHXf=^U}PyE_f?hV%>Hf8pXr zJ{~%D>X%D?+_iS%JA=p0SbQdrtrj+B{4{mqm|>rO_}-vFgNF`tB{d!GF>2eLYEG9H zZZYemjHX*V{yuBmr>;~*sV;SO{pg$Z`|g$TmBwH2Di<|>OeLs4j$0qWj~a!;5Vi)@ z)o|A9ERYuC)*o^5Jw#rIqL1nY>&nWwfE#PkQvc+FC=HvbOHQC_+i?XUGV9_m zfaA=RO4X(&;{KOIFHhT7$FaK*2Szuuf*RKv7GxbH$=SqO zXJ==J4GgYWZudTsT|gn5%3=MoHJj~MHczTC=v7i~rxh$VSFSZuMiPrj{Shj3Mx9c` zWihFL-<5jmS00<$(f#EPj!2<(*k(~ngdB#gfUZmo27}EPsSLf1PP0KL<8@b)G=?kJ zcX^sECQ2(3h?QEoh{Nh+*s9Bw>I}U)-JlXn6-t>z!e?1q#9*)lGNsefYtpI2+^#Ax zIXsbEDdSU3Vsj-LBROp*VKK?4q$}*zV0Msy20IKKTa0O(=_1){{XgaK540olPgO&bLlN`0Zp16Z2Dl z1*LsvYWm&+vrwPj*>%f%T1rTzzI$*Eh~MmA3#v9otnY{=H!FKikJ6w)<0U{zdsg$s zbNAN-vLw15(LaE?*}noTCZmQ^S`o6rW$uNHqDCHHqSXJAW)2M+zfl-;La~aYa8UdP z>YnDm2(-f1#DkNjxWD_>+nCU za?rXN4H`6l8~F9`0??pAgT~9?1^F~Bu$ZarW~1q8(Jg7vph4po#dGOq-F`EFv);hW zE&Gzi+*3I+^dB&c=!T)Fb|NQgKU19A0#Cf7Yg9eS) zis#@u-@UurZ)VbK+Y9Q>tqS(`*hudV(4awMfbksCte0+oW&<-iaq1@r-`&8Z>AOFkW7o4O)<&+(Jt; z8Z>AOFkXh`gn2K4l4k$UCC=}GOw;$9G-%ME@eAT*?gB`wEBDU1_@Dplq}%idVdYX< zpwXZ~V*v4DCp2u3w=|qya`ls;{!`}U-pUjx`hJ-P4H`6lDZJPT4I4UtqY}Rya&XYM zd5MiCv-uhH+%#y=pz+%AGL|O2r%8hbjb9I*LpSSn>)a;QxQWSMeR}Ax^Kug#=}18| zXwVp7JeO|P?Kd+S_1x-?uw5a;-`Y3$yTbG~+Q_6qgT?^k#UcXf<+A&`g9iWa9slD$ zFDyIX+VT{hc^Wim(D=oF@M7o9Oj=!2)cxgO2h7=9RlqRNm(FR>pfTW}BWcs1LF2c9 zm$?f-g9Z&6zaI2onmt~yK$xB`&B~$^o#;fTUtwxov7(>Sj81f-6P^B95-rW>L?=4^ zHWDq(=tL(v{Wj7QrP-%%yg{YL$VgUlvM4J{mXkv#I?;(vzw(5CCv922VMTp?y-uea zfIUsK(Wv0GG_^6sY6E?*odyjWF9Dl0V=x$Ux%_#~o0$w6wOXMuyqo~C=wzb%2WEK9 z*%DgDHoVlMp1*9fQ7e~;g+i%Pr>C#g_Zt?A$)MG0DCiAli$Sj=ziag-^FQNSWU-j3 z*63`!v9GHPst6r_=`XF$U^JTz*1pr|4D^AhSB@9c&CEt-_W48mS6nDm<7EVaMJp4g z_)d18wl=Vs`O8W(lTOhXwQa@c@BYj^uI*{Bk< zwKml^Hc|iI)X>h?=zde8(rnN)X9Zoqc=G&}lrpxoJoR>ez`37J2c1JjlBlXah4KojCznnB9mZpSJQ(4=}SL%P+waQ{LsyKD! zkw1FP+ITj9qUyySqF}fBubSdLYWPU+8OtsgiqvLnb^p-B zg0$3xQ+UFLC_MQc^ADK1ey92jkN_iR`8MJzpNWklV>QAb#q-wiyYtgG^BC4fAi9{xq@>wi_ zM6NUFHB|pu`&47il}e=`KeT$i+L}veq!eDAN~usNlv;z?Y&L4G zA82$sjhg(oMsG4vTC$qtP*XN6B~xygaG^wMHaR@?-|Rkv2r18{N7Y^^WYinMEVvWuD)<;PbH_ z6DCfWFn;anpZ2ZtyAx8(rbeoXRT6S!wdcqo?+kkDKi(bY;XRSSbKK}Tt9@gC8qH?% z{>-9|hXKncdXDv&Hh*V~fYa8JbmEK8CU|;JI-bm8tH@i@DdhEFI?w>6?8d9Rr*?b&iFqu^UpS|+{YAd_< zf9C(*Op?u;$^7S^w{MfYWM`9qjkC#aHe0+d>y9zFdl#>5Y*UO27#A=$9bCYTW`i-k z3sFRu5TaLs0MR=_fJBoJDxlu3r1QU55*XtGcGj^;?uR=JNVlAG%lCeNzjN-nW8H-z z$2V`?zIoH;11C>M5~$@7=S;Tj+Gi2nJSR{sS9zUQ)*XNRv}agWM?3a^zT<&!H*ej# zX}yg{SlOr?Ih*v`flqs-f<-NkbpCeh)~#@9xBOsf;qD*lelEF{D}jJ~Y?9>jXH!S- zgMZm^ySS5$gbxbdM7I4#4{X!0*svY#V6MC44;!~^h4 z@B4b4<#|U>PoE#wtvl*}D@COg3-bwr%U? z9lH;>q_z$56e}7PSfi14b@`o3{`T9L&6}4_o4$=Qu`G&eRLE8m>}ynWeMK>$_an>b zEHNZ#&q)ZolUO;#Hd-^dEVCVi?EK<9^OBOVshEeWWF||X zV0Ts%aj@US*Y!<^G(g3sHIgtfv9Yn(;--OV6@Ud##-X>6l49dxqto$K{X8U{DCdpT zBnO0q=XA_Uq;vGr$Ooa}1zmH`S~Ex{Z;8cQ?upsq)K*P@M_Eh2+M37}b>x_{ zU+i~%RLfX@EIu01M1OnqrNd_qn(R7t+x2#QV-qF$uIIt;ZTyQyl={1%PR;7b3UK<~ zF(j|Hs;;3ZC+Ygdja&Ac?O0=dzo2|bpk99L51m%tlX&9vp#y8TINJFHrIN_xI#T2f z`-2B;1MnRp!;M_W?=1{JWqR21W?WruHJMB<#3j0a9QyFHzi+r+&K9YGWRy|hwbnAI zGWp8h&5qG^42c#in+-~n+GLD6?L_B zb!9|YhKAEy@4ffljrZQW`OM_=%g-@BrBccAYeLo~8mrBW z2*EY6xN@zSR)&d+&TSbN7_Uuur%$)!oc(?e?}VDcJ= zCuRifiR!eN$H8H^s*XNtSr#_o;e*tIs^SreCgIyKrVJRf);4lN81-`2@$0v9qr7;B1s3m;XIHL(4mqKcP zttOS>@(A@E{e$(zxRTngDVbIw<#dr!u&G%!gM6`4i_}GDWq|O2$GCuIAH8&9j5PM>0Lk9R-t;otUN%ce{t_bDy6 z{*lAElMXnBK6aa;5(3YB?~~doG!#iCoobBtIP~$~*ZSf|1S@jsdNs2${nP({erp?F z$(%JLWfi=>96u{Z7Y_mh`Byzw9(u!Ozc;RRa=w5n;UMw$Ws6+_)kZbT_gs4_rKhJo z`t;iE-WfwY&)PPn6c!;*=A{d~1bC+NsY zBsCAsDAme=;*7-flHO^hR?BY4ib+VR>X}gi1%rYwB-ReWj+oceP@J1vL*vQkcaBaa zXLPic7FG=jmGc!r!Gq^#4Nk( zcE#det@OpM01{?Xr2QX1vAI`1BvifVI)P83wt#KNuP^at`ulZ%Q~2f6$Ii!4X65>& zb?Uxs5BJk25_%PoPBTqO3_f%4266I9!E{0zCE&5POoNP*{QA@~T))JOYVGIPrvmjGy_De3mn z9giqHPCq`%-rOC}d`hJu!FbD~b53b(!*lOea$O~wX17-nvavC6TwB0-9lJ@FIBR^vN&v64@a(3LbILu z@kRACj!dQKD@xC)=$e$m73Z|%;fST(ldwc7Mw<%?3#)0fy4k*p5u2{6yOPk_<~4(yQ6Nm zvbtuW`4r8H)J)81NVxXRkr?{SODyxt)Ql2((bdzhXdD>xtEwKHo7?G=iG8q|LA1(8 zH;(U*ZkSm#Fs_C@jK6S2P{waZ5zw&=iYQ_Rh4 zhp!g0#LDNKo5)87HM36Y9GR6&wkDq6Y~q*KG0eoB+c>XgNN$(ggY&&;X|i*dxw)CS z`JU}x{qes|9Rn*SfKknS+|D~>jq0?zX>ydG^PZbT7NTa2Nw<%fJZ|Pqc4xY8fB&;} zJM_zc8-V{X*}8G1HdIsi{^Y>*)<}N;ff0HaAaMGMSks9ync=*rJgCh@E60 zDVN0<9Hb4=hg$1P^07%I$^c6_FKIe8ySphDlTpKztKq|?1BHETlDY-mo)?kvfO42ep_V$-k- zq+yd{BjS?M8z$zx;!4y^tsEm`(@Hx=`7fxcY?xe{nN!@xR>304A8aYh!I4Lw{nuT3| zyykWj4)~zwsM%0e_^p%sBI_5cnPR*@&3ntbo7r^kioIF<@jZ^$5}FqaE~Mzmyn4;i zI<`*-WF4t~o>pfwhJ}h3oSjBBOYDThTa{q6{;u`TLw7OF;WnGyQxG-NsikwRDL$5m z4qfyMN=i@9NK4Pii1IkR?!=Y*WeaM5=IiR7%os zp7e=`PfbrxPg_KGKE8!HCtoJi)IpG_uFh(m-%ozx`IDb`KQp=g{7;GQB&m2Md9znX zBjpX%X5$Kqs8h;?U{=j%v=P#ii2YopnAKK|Ng;L2+Yy7BmG+D0)eQGsH7lrp>YXyG zSuUxfm!;Mi)vSs(3-|+7r0f(TxwE^sXED7!gCk6?biTcNrD~RjtLPtjftmrGlGRz7 znUzBx6U%vh<%QVnYNqO4>x=SlfkDj}42DD^LA;qpp&cdO3eBzQWE*>T!_kjMRUdfD z$^9;o2@IcUAZF=ZH)o@o>08`?khXA%OaVRV7y)}Tj60%c%XqW)z-`BGgx4~kQM1NJ zmt5U%7Bc76Ox>I1?taE9sUKD|ouaoO!R5&5gzg!AzY!hMtAkC=aa#Y$S6*4e{1vJh zk~iD@vbWMuT> zaL-JcJ-H=gJ=4(2@@6l8MXOPkrKuz{qo8@}b$XKNv{Kecv^&v%%7TkswD%3-VUd3M3u6n3z4R{Ddxs8^ON@|0=;P$ zjW^-$Ik*O;wF&2&`E_CjCDnc7>68hsOlM^AmJOf4$E+iG`-z(obz^F$#&hb(f zh`udD0}Yp?xbFGCslOu`#@ zGL@7`#a+5&=@MNxJ*PD8CrHe0&+&1?)Q<9(>x{B8&-EkpaDruis3J8XGQPNTN(dRZ z3<-wFrG%n?2D;>_=bxb2iMGP{pod9`iG+5(Vj;IGPr95U)Y%Gp4DnpvUHIRzkURqpO+9_Ut=&hoIPl<+fTxCCF78uUj=ha(2 z(OH$75Ez`4o>w~{T()n}^MKS7#G>tMZhx?`2-_+_(`K)MLCr=-M~&VLRPO`& zje;|OP!sET`lQ9~jh}q*(Z-|4t>HPW9h@8!DTbIxr;@PAalTjWt!->hpWgq)uYUL0 zI`hLe@Laa;v86pTu#*@eMcg|2#V2e2{Mn`}u{m7=HM@oQ_{{ph{Q1M*e|a`2zIH;Z zhNLq+#5gzmqeo8J*xFiI*`0E5xaoQEhjq7q3h2w{&9rLSc+KOxc58pL?$9-tix1A) zS$}71d&<^wm&H*lztq;Lg|xMjPp^-0yI`?zkDZ+@Qd!$$);1RBJrXiohB@Q4QC7C5 zYku|N`h!R8u7;M6&q!24dYw7RJb&|r&Uk)*2Ra0#^Af>40(BfokGs1m1k$h2Hy)$EhKd^=jM7z;g4gJGOGus zg|K)>#>FOQrAj=~KnQ;jokeC!Ud!V`3URS#(kGuMIcKnDUP}&9 z7QC5ECPTcLR;}Z96RWyLTFVPCkM9QrAtaXdkBgsLOn;-}4N$U!0)v8sg8~D?QwdEh z<8x=Kx$&-|u;Ad3kkIgm@X(NdV0ez8fY8WCC4EwT8cda@9J4Vc zC@?rMATTT*S5BdqhFNX&%cCuSI=~_`(}mBB4|#~G9^r7t$#@LBJbh(Y-AorP?o!;X zrMPQxX`#5g>p=<}oT9-B#VPLY?kI3rs?C!JpM#%eWbTiX-h2phC%kNAbw(qp_gu=JN>yQ~bwhhD1Q+n+<afcPyHpOV?bWdj9o?ivqhX`{)S0mIr4$l@8Nz(WL0gy; zC^}TgyAvAnrC>)zx<%Lvo{r}e6HO*m%LC|y_vvl6_#uWiS&hhMt7Bn@`T3z^FRU49 zionA8dxnT4*%7#qhew6sqB>;GXdv=NS3O_7?wPbMj*Izgq#4rsenM|pRZ-C%$dJG)IS|%6sRf?IX zkRlLMBNS~>?T$l|!w&l3wf8UZ%OA{-B!_*3(N~R>rlC9PJTa%6LKMsC3)ZoZX~Z*j z78ZR65G~$!5k}t!eE|6gCHdHw`Tj*`WTi<-&wO0Js^ZPeni(lmL$-bbIWxzxw?eEmxQ z-D9!`8B@9#H>#P?Tut`W=VOChzg-uT;H;~ajh~lOAXqTpD>MaHwbQXsT}5)=c`}pNWmX8t>g=dyF$bcfK&!oHFGUqU4K2@tN0x)I;J_>J@DwE}1N115FYL5ZRZ&sV zqLz(x10mjd#6$MR=wAO6h= zdWoiT4}WfVgkJ2JCZ36u%)NO0_Yt}r+4z-zHUD-w2UL9w)`WBx!sS7WSD*x?t+qIs z+u7L-Y1b!sE!+2WKTzMC7n8Xx8FOvDM}xMwJeUJoTU-15`Ln#2wZb0J>Eq1XGIJ)x zfX5~zFz~9%T!kB;qN1XUZ{1-IO0#!9%)1T zr}?&9e)-Q2S%~1K7DaU$vrQ3nzE0r2xLf|NPZ65`x^wG)g=6=D|u%X9Paf zE3Gb8W@ctX+Ukfh*iqHvyaZT7QfRI|w*QqQ4N7ZlZbnB4{5Wni#>b}v*rUEy8;d=R zw!zNR`Aw2SJ5OZ|k#K-tohea%U_vFLZ`M>`dH&&LJbH?_?!rFt9n=e!AEDhdWD(wP zhT?VfaYV3Ei}TO118Jr8w(?l+xv{i_gl92l2}zW+_t*pIe*+^l`8)T2e%0(V1BZ0g zqeAPrty@UXJqP|9Cc2$0epYx#kpD&w`$78{bO^oj>U_6~hrZ!EN&Xu;mObgRg;P|9 z5LdO|9|O~bOj2NZswba6BfGwvklb(+jQ*V%kbq(CxFspM!YrgtQ~whH`)N7A z;$6cJe>r6pGWeD!i7^f6nB+lHV)R{|P0Y zZpd3O5o1@bCKK&yQEI~AB19l|(^6uW^F8=aY-0O#mm>LBYWBR2CKm_tj-h~PmX*Ca za_r^zRLxXu!;I@+kCq=2z9*jocQ)!P0%wi{bQ@XS*>9QNvQaFpI<%Rs*@?EvE?#iOCR8@2jDKlXYDxNmITp5QTUBLyhG86 z*bLenHyal3`OadTy%%tSNT5Zrg#kHr{0P^j5_qN^?XN?%;=m*hX_w3h|q~ zWk02)Fhf0x0^+JZBmu)Q={XkCiZGAGo$%}}^j7#*nkFIOtsE1199dg=*o1eQq0iTI zemvdhVno@45{;pBtb^jH<`O#{+uPvNuE+4^O6kZ2h>b$*+qZLoNMGpp{6Pc_$$6hA zg{Vo}c1u0p=L3sMZ0vqsyo_`_x7aHnD)yW@KMtI|-0a-eXSex&Z{aKd zdTZO$)q^IF1hYt3FerKqDIj+rDE+(MGvk}9tR*1T7&aZ%~ zl1}fprq^Tm+*CuB#IC1~CZD%!!YodKKNpG!Tl4fQb*t_>MyAcbt<9t&t3tKOD-7`H zG)xw~Bb5sA8{8kglZ`qwwssm^+k9&OQgJVdRC*$Ui&Ej$5py_+HGaQ7u;gIF&#JY? z)zHVqi1-0-Zx86`fiTF=Du|#jDF^i#=G3o# zZ)BnuPbDc)fQcCVapI2DSMSg0RcZgnHp%Zbf|pFWuqkTfop~Vb_Xb<(Mabttu-Wk- zuVAI!JD1m#bg`z-wvoZVEPiFkj{TMU!&Cb%2u{KlAP6q`_n!CjlvJ!9s?9C>A@T@Uq=^KN^SgcSMCzB;Mgik8-%)}ahL?Rx8 z@a3C7H-KE~;7^Y@zH&gF>Qj(%vMc$CO#0ZeT)V>-KY_nLkl*{WGGCaNQ4Yvw!U0=G z)}OyxW7tWh30;FuR2gCfE|K{(HR@{E{o-|q0@PBX(4)P$XJE?Y*EOWool($XKKbbZWmW`u{-;brhLr6m&KXYZM&18<#-DFQU1lpk9}W8@kj_>4)ze+x7%Y1Bhf5IRxM|2hd4ekSAO8D z5}`3Y#3x!#)BIyPW@{{BUxZk{>+ed84+>bcLZX`M+!4c1X!ieak8XgB6z5>qRyquff1-o+{8 z{_xySF4(X>x7eM+sKu5K5)4cE6{vp=be(&jd%kTEjVqkD0ym!x-Ori#AbaJQ!L!tl zFvLaqS3jn~;=$w(`mNO&U*l^_`~mn&kpHbzg*5Sr>M)3f)Pdn$h_?mYXFCJP-S zbv%GKRDQAEi!07M`B@BcmyV)@)o+y!giSL)bnRDNu;<6QrH#G7P5b4YbDX@uHhTYr z4NUjwdEj^>2b%FvIp9eDo3~6p*Vln))e<{GsdQtGUub#%#gS)lipyij^(2&Kf3P7* z_Mj1~novd%=BzrWoJ`oaT0I=0vasPKlIEyHBV3ft{|XDbqFj!`H|Rbty4(mZ{HVqW-ob*w1zNBSeR6-?1$zPMsFru(l0V%0{+k)9VtsW%u+u1 zqp+ijnsT;aB6}5q5xMRf%MqvhZL%hVpVbruWF80pETYnCJ@)6jzH)MX2p4!QB-_|>8R zDkD{hqD<3?CM|>v7;+UsyyUK)feZQmW8azFil%GH%3=V#oAel``|wt{hHtFHLchsK zWc34hPNq>zN>E&bgBk!a|3L8xW0;ViCT930GcrMY7Mu)xh^0glE{G}&Fnx#$h{}!QA55nzu!+GHlGa=nNP+Q_z_p!d6scQk8UtS4 zao==6NYc=ep*0B^Ck7f-oiacu-WA%j1<3818ey zgH_lMTU=Ko*hL^z!jO%a1>y52@lH70E_nOQ>nFY#Elm&l$Lkm>N3zVJ4>dkKBK*u^(2XHXJyF4ff2vK6HKL`J zcpb^_6Qqx|CTU{bOuWR(us=Y5N!1i##zE=?yrZhL|5rJoT6nu-GdcDt4=*=AKQ})wr^r6l*DSSC9;8k+MU`tf<Z z8#mc{a2jAb6!`u6<>w`B8^ks4iB=c7Dm->)XG}Z}+Y9 z^DgHu5#zT;)!|;Z;S2}~Oa}Of1q=+GC=BmAL)K_egX3b?$YLesu?v2!c`rlm;vjcj z_4e+dvGY*}ohg5RhA-pkopzy>(Aw|aTbo2P1idRnECmj zB&>}C`eIs}q^Hp~9%n5HtmouAM#?&lQ=;llHd3@%Jb)h7~)Ym z>4*%g*nZtakR#Qp|kV1-7^XlP&@xZVtfR)Vkn_1SNaC5FtVq4r-jb`;fGu8b7cFs34&w$y z%s%dY*_YVU|K9L?>Rh8~iTjp-jkyR^0UoUR1*+4da>-U?Y-m^8eG#Ihs$uIVmhDK3W> z+}(KKXloNXJojyvtPwC^3;nYhK09XwhUfnFMUoQTZwyo~DD=pcx%jG6 z{UkyC?lZh6Hv-({$Ob(LI7FQKofshWH=X9)Ph%tpaL5wm9ZFvf(*M1~ z!`tIvES2P=WPue5!d9!53Rqgu@uPm)VdhN_bMb3qRhhW(3ROSUo^HU0l50&NE$ij6 zo&K$>g(W@8Xdo2YkjKiJ-A21ryMrZ!((`Kfqs)J{ar_n$y7+wwV&nC;^pwIPn&rVk z>AQ}WhXe)&etECjO>)qt=F;{3?FRgom+3 z?+x}r^{vK=>OLRL=Y;5ujI^9WWB%u}>*#hO6O-&BT7p}f_wRn12FXJ{k&lUk=|=vh zav$N7{^#ltM5u>NQ}iL^eCR^m{Z^U}KgB3Ly#af-02DVXXsP|oHQT)^o296M_QAaM zht)NrHQ7&T?-TW@vXG$d3wy8dLe|zI8gy>fw6a+Kizd0?M zjonF-wu=D0YPTE%^O10b#9!3Y=dT~K&OaY+oB)(Cp3#)Y8js&6jlJ%cf|&r^z1KAK}$9D3AU59ZFRW(9IeeHM+q6 z6dBG2+d)-NovA=qEMMBZ(#^tX&{HCV)shgqUREzwmGKJ!7Rt>5aS1KjHHq8QY+;M+ zs(!maE9sfRrZQyMQ+_Wx=FMD4Ri({Zp&yUufc zN5&G(eqVkV=CS0qju>OhZr+oTtH0T2#VlCulNGD8KkGK4?B)~>y0i%URFP8B*j84T z*H-n5@sA9y3Rb(cim|q#ma49%s;chVUv87`64ZY(E4{Q=FRdUsVD2NKhg%QT`(H8&+fT-{>W8Dsx7NSCaR;D6kY{}>7~O=#6n8#Pp;vdjTt<`m zWWw_^mPsbDrf}X>cE3LE0=}QzTLCiVXV>}{yIgWD-P_rm>*9{Qa0ImYnoo3n_Xk74 zaZ0V%ZdtUZKr+wnI!gC}_ZmAjE$&f7#KOWsjlT;{SgPVxaS91sbImo_XuQmXfu&{D zA-{GTD{tJMq)iq%db=;)pafq^@F2KSg`3?NQn|-WrTS$9DYzn^jai^j($2$hx*)fm zm3f0!qyEM{Q%lzaGI$($UT7CG78v3oY6+bN7F^H3sIz38R$}mo9r)az;|o(_o__KC z6kSl>Ns1bi$y(If?P}V%yP<;xH?d>p-JLt1am8V+$3#vFzQF@${D;^hiiv7-G(x=B z#Zn$THukSLSibz({r)t>3P~zO=f|6}^=%P@w&(Bux)Fmk+-gnz-IK&~>u({Vru>Yp zRSzscl}gkii!Em;>Ng5!yi4m3%Bp)!2bRZJhH{omoQbisXI~~Nx$e8i7|4nUr=3g+ zu&|PuHEk`;qDUxtSi8&E9A1EKF{fd&Y~zYpCVQ-U=~4SC485b;9`?rA!lotD#?ZPF zDIdWXEGy8WTIEQ-ihskwj-;3JN8D76UK=p5?>?kR7$GrMd>=+Xw=6O4r-HS@V9rV6 z%5-{)0kTRS6V))sKu_(5a~VC+sMmo{QXY5{4GY4KU2XFp)xZr*jLn7%1kak_V zLvew|nmV_Mmh;(wI6Im8dp_dE(F}259o_G8cU4;dO@>2=u+r$adVPV`=<7GT!G~Wh zGYSm&q!>ue{OWb2c^>SUobEd*la!QHkp?Z>p&zI3vV@GObB>4CayI%*udu0?u7=Z?_x_F@cE zE4ZyU%b9C5x+KNTY$*?CDU;^F8U?5MW77rKuYnUnoCrO&WZXKd$@KiMe`L(pGG7lL zs*}%jI9}|2&G^IP8OORi&g?(K`9aqv>OPF)FwK8!O!KXup9fk6Ao1)*ABd8Q!4vsC?m3)tHV+bomwy5@jM)xJLuU(Hl zgV#QC7#gv%b==`H%)a6h%{`Ry!=y#pI z{gU){4`97HY4rXQN^xS)q$&YLo?Jw%Z6f-lhE4FT{k*x3X5PB-n?!RsVo_4+Rv(+2 zPIQ8Acp*ft86iph_~=0b$h8DY4OMm!kW&&85>iqU;u3m)tPDgx*SP;DV96^>Hf8oc z@ZSsj0O3%fnUsrzhO3TB4d6_pZ}(ev3C_KFe=QvSs@rjHe+BW4Iz{EXj}xfZF799(0W)SOP@c zW;CX1j4}|G!k|5ij3SEvGcF-1vA0NjRYMcY^-|-rElBfHZp()qp`eLW5yVQ*f79Ea zGm5qCuTRH<|Fn#pC;f8!004R^D<)s&PMw^Z(_1@9IwV#WuKQc6J*0MdIfx_glJXG7 zcc))D&&6G%`VJw0!mxv%w@u)F2-xae(azkxqI9_!sgo0Uat`wOCbS z$lR6YLR;HZ)k7vuS0x#JG=5@c}w3QI+(}lJmf^T*#vCHnxENY%`^g_tq4t;FZJ1++l4VzBx4Sx z|4N!WASf4mJcv?Vclea7vM|+iU_FGk`g}Y3n8k@$mxUqAgd07Y+H$e%Zy=3~(Pzyd zCsx0;3v>#-I##JezW>ul7B$$^_8jrP3@$9LOYuVH5SX>&*WmV5rj0=Is&AsKU(PtJ zf12)x5(t6Zz<9z=g9Kmq=VIV(q?!HUIo%s!0Q{#-ooAP-NxP{%?|-PX)oWtaP!J`XW(#9I9db=r{6nek}6e z&eP(1ZoYyL@=#f|cpRdv*@B4$hDdF%51VpI5nq7$@{>*J5)er%0eQ);mzIsLu2Vaj z)}kF~GqxB?U(Q%8(=6bAEz|fhA*BcYoSIHmv5z0{wV4^k{6*oz zTPYq4$?19G`z7&t&e46T?nClZNh)`6C!OoQRduxSq2|P)oeX_#$U~;koFCqJFcHh| zR>ZKcT5N)V_KM5kM^p+SF^k*3fG2s&faiDfQ;`hYCg&yn>QS+bA&$Ef$}nc;-e$mV zy-T1gQK@gqZ{&F6C^45n?N6u3$5TUI?QyUHxdsh?+l<{?3-2Xs)+qFZ(NQ$Zva99g&?#QHrCGQxBVYYahsq$T5T&z4l$~>rtz8+iXsXq0fnOl5Wi{o(wihyJ2!`uen4zb`p4h1yR-|lkgur4-==B* zt-{@#)%*!C*J(8#u5j|B{8r}Rk)o=3?L<AXr{istX_)k^I|JF)lAG*l))lCM+5eSVklFlbrGH1F1mG6$6Sn$G`LLtncZ-mdUr z&E5Wd&21!qDJKo5cWYw0eD8_yCW{1nn->X8{L(XNk>o5RVl|ewS7#%yZOCx2%BM(d z`@Z>HubWd9<$AE=u=8y>kp|+sWQR&tbVyh>dc%9D!5uT}q$teWeJ~1?F-DBI}=n(FOUOX~h z(2G^E?#m~x^ z_fG<3kw$`_8Q}<7Hun#mbNOP>$g7F1G^u9A74s&^Y_CHiSqhD(hxhC3NIy$u;e9Q! z2E;_<%VJi#zRE(?0rw&c&3TD}{K>2XpR3GN-sI(iTu5K!Z8lIrc4>`d&!4XtAx*dA zUZ-P6n18GEuqT!75uEI{yn1HAU<=ww?mu~Sl%myk@N)bYTB`fwZBN8I#tOv?DM00J z&O&({`n6lmO%u>TOpa#F##1XgNNo8$EGu@s8;r+K`4y7Hb}bw~v+}(3@nq%ZPkS?4 zm&!IwTKL3vJ0b8LBo~Eko9I@$Sav{HHNXPy^fOud>TSlngdlrNe^)}Hft#+XL0ac@ zSZqGvD}KEhn!oP1i~aW6!*7h?HFI*2g-NE?f-gHH_c{73I_p=#(nitY0I4;#w-37Qi^`Uh8jeM)l1U&X2*B?PA zwV@ms(Ie@FySym8q<(JF02s+bhu*f`o0Ua4kdBM%J(sE}SYBb0+8Q{U!7F#qLSc!!$>1#kc_?|G89Yp+(P`9w8b|$R zE)^acspuP=c6ukAG)AQWLGg3CDAjZsUq9W3JSc9a5Bfc%tl2#cH@^0l8ByU4ETxOL>GQZbzn?pXaX6J>+FFNTs0R()P=3G3xVaKWW3E^{l>rDwgiy_ z^I?d#rol#3m2-X& z?hI#kwcHYQE|j!76Uy3#U5nIcSRG<*SRVW|F)VhZ3m zIMa-6P!((onjLb+hCJSxSYwT!v@|!eobTjOJS(qvRfDo#W=2mTMaE3pX&RA%3#;gC ziDA#tFok3mC!a}V5npIR!WOPVq;=J&{R>r>dS_&!K9l8gB4j|J$@YxO{AZphy7*d; z<%G6+QT|;y*pV4?fMGZ{o(CYLmAWgpX`5lG)ez+Y-^5(QV72ew{u?h5hc1 zM6S}Dc1s4{i{;-XTw^u0F7eh^!KbqsQAYXMrFz+7D~%)V_gqVW8b4qx;;nx$==p(|xW)IqQyV$%eMfnY3o)vx2fzihuXM@H+t?fN{QBqaS zYWY0Qq%j(wqcF^-ozOaPGW~#)*0udD9n=5X$Vv{IJ&yM?SWbQ1O%kU?l@SO1`-Qp0 zTJELsiLh^F2z=0Gzg#C`ak}|!_*n(sH@}4j?k?5B#!oWj)AI7Yd|-pNiRub@(+2p^ zF79z)IqgTNy3hj$_6jf;p8m=_pp?n=XWLOw`_>vPjq9E-so~|eb~&&X^vfe{ zBN}DF!yKDcx9#R{6lpv&W}q=~m-#>_dKWfp&|}bVH&O>=`;1x(`|qv2CI@9zF{@W+ zlHEePr)I4^(fYT&WI}`8*H7oKE>hny2T>xLI_Ml9t@M?o@aupBXe`%$D7pTpqkDD* z1K&@Diuu#WJazxjh4`urNYt?JH4I3dcR~+^@Y1BbJ`{63EfB>kgE+njM#LE&)Vu8E zbzaUwShBdOe3ZWJVy=IT7_;KQk0Fn|x|R^Ila_KZ>Wzxb;|uG_nLSb<^uiB&E;4`D zyi;V%e*7h9+SMlJS8xu9zZ;a@1_= zo~k4*ST*Ca=E=A!D2VKkuF@*zK4|p91GzO;tGgB#%T^bPCD++rReiOblb_KOQRuU4 zYS*fTCdt!99a_Z1O_fIed;pD`*PB#Jh|^gqDy()3uQ3Ir<5kg>f5oYiC&y}zy*t1V z%+!j}HMD`L&k>}jVeHH^L=&4o+&L-wr%w|AyBRhlWtTbmM2tPG;!Y;CIq)#wxvrUDg{CNCMp27cK?%AP#rNLqG^onVpwnuc0nl;C| z5QfX}K$!+FyEo8PjZ)UtYx&!4a`M+mQlVd1O$T4p5`zm)?6sr)gl-dw-kzq!URxi& zeE-qQ#u6#U^Bk4@`cy2|$!FEBEf`vZ=l3Nb@aSCKsOtHpw97Qz9B1CpT)@bv1!WmDeoORVBl+Ct^@2u?zWUvJ=wg|v})m9)w z{G$+ftnhlVEs%YV31QuqDOkDLrW*f#UP$zM^OS;J%zo7|aK;u_$}J=RF~Idn5??{4YK(2;h@HM+W7fd9(cVzHm0~^ zFE5R{&Ugv!jxy{JYHDcR9L~Bo`tEsEr{8Y4=@X!DEUFb{2ZF@!~)5Zp>lY#_}3=QcA2J*!$ip&ZXWq zY8Xunl{ck^FJ15{<#;Lm-r?3a-KFq zaKOH?JMraQG_2n5ks8u*@aZfa+cXV>4Jk#yv@D!;gP2)81`$v?$xBJ49#{M}tSZ~I zq1=Cc!-IF*o1o!hlPry!jxw zKB1acyw)76UdNY{eflI>Dal;NYtZK8^uz!TF%le{Y&D*sO>&L?`>R`mN+Z@Y+=v}6 z(=Wl+hiJUX%A21`%Hh|+Im8&92JhKMi69w_Ol*X1Zf^6uTk92w_VzG?PSWis$3J?5 zMb|6wei#}7%31K?!^wJzwT%F;a?=fBuU6EFN3}53B%eG z(Pm@6b}lG(Bt^vsbqV&_sfzH^yS7|fjN6D7>-=DqMHbV=U80@IMc*P3kISjRuzP^r z*$a$)x3P=Zk6Az)RPdz+5c}kp@yfxCXSa;x;~UV7T~Y!=#vcfs)h2JED(dij_Hd@T zH}t2cCdYj5C}G`CU@9w3_LbfdAoAHGVBVVCJ8bMD^Vz|CEZmr3bi90@splt(f`zoU zwy^;ln}L9f`#S)B;{o*@4y?2Df#O&;venpx=W<6XmWPR0Nm(8qDjJ-A(?l;K0he$G z{mL9`gF>aT^2jPBp!|+l2CS)zs+5KB`s&)!EBW;Kp}3e{Mi$oTa^nK$NjYWcgr&v> znd10FS49OTnxb&ln_&UcRyH-xhu@zlQqzulDU)^i4Dq9_88H205CePUDrY*I7+){? z`eg7!hJV!3^8pSK(-tS;Cmy~37q}J!y}=DQ;P5C95%UNM2!frlZR-H;DN3r51u0mC zzRgdOqCl1*=_dVXu}Mf6NKgA^nj24UCR_n0b{7zSYBsEc+XliO`&{WBd&A9~l;4iz zSPRWDNnDiJKl?WpI0eb$WkZ9|;1SDmbLm&w+^E@Ouslvlby{&PEG9M`R`Y;R693J* zx&z0{%a=cZ#9`1D(vOCAvYN$)913A56iJOcxtT-R>&Qf4|0P#%ZZ43f%QAx6F{&-x zT+M7;F~5gnXJ`$4*Wr(yc6v0)8gA|8}Q~QzRw2nbf+2NDZoIa7)FGhBdK#}FHmYK+rT{Gg4|993&q6USq zIV+sR&^crj<7pjh5402>Yju<|t*t+&;Xv_Tl1;Vxn;X|3l9S4i3bo5!_{-`p#|<&* zRl)3PZ)uV*)bD=MKyQIZ#&T>0R{ZjNeC+w3)lF5QL0P zx#Rfhr6ctLv{&Jwq_8%tmS2>?uHvcX`Cm0(x7F%DhhklR@9FhQ>9q{m*XU?=}4O^F}SAhd{K_!Wy7c_#L$P`9G7kw73r- zE4I=LoPL@wblBZu|K>a<7stjzN7VwMQ2jWv1Ml|rqXTa}iG}WeyF zCC2LlMDeHBwHGSMzl9C_M+Dd>Nltr&e(h=F{A}qUqfq$z##>%~>l-IQ2&K$ds1>|t z{BXCUSS#q}`qN{cuicN`U;X%5=?iq;Dx7~p&HSAEcJjN^(L_hxXRdc>|MgW$LZNU| zclX_YFm#|iBv^7&9E`*e-sd!GJ)7zXEMIfy^8JTPhsZ-x6!ygbM@#tgGxR?eLIAO- zaKS1RjD`Z(|DUD+YSf#=aD_tG4_jHg2>;#2S@CGI43XL3fQg4&IDz3Ef<8w!eltHe zX_WG6x+>BH0b*4(lHw^0z$NgEbB&{N|GoDVrz$@Ni`ooGnP^`H5_BVmScEcRsybYLzhek%x_0bofqIlhU5F|^aKJ>BNBXfM3^i(N=(kY2^lHUsya+OdPZ9=cd0rM2BT=`WA!_>j+U#>cYr z^5QMWd3PrH8MYV0PH&Ada_7n#f)Qu>Zp;f97@AJY81@xmw4w&9K}tf7mv7?KMxz~ z4cIjkH;P!hBE=^XJAWL1#7LVonLS1}jszhq2`fz(8loL32X1&$Td~TZkr_Z_!fO@} zb3nZkc~1;mi_^>LILg(MriuPf6dOx$u{R%E8VOu$dR~x47)|i}uk1ILa8;5}@ujHG zy<N2XGS=u)qu%2lln*Y~W5{UP9Jd0-VgxcL@9{ z6(nqO_M0R2$1~q%|FJ89-2a}>3+LvLHx;shd2k+l1DBq7RpB|>#c+{+pEv$~!+Q->v{Dwv5u(yLB_+;`M0r;9R zB>OWX{;z-)>MtA#oY-KM=)|)m+Bhc|523rc^BDoYLj7ikLg1zQe66f)lZ=YQ0D^4m zb(APiZ*TT=k%PCD@KMB3FxzsWqvr{wxY6B7c=J;X>AB}k&X4}Am(c26jK7y@IE@7# z_c}TofBZ;{Y6XM5elJE0Dq?3~mICK?EZxBE1GZR7+9^+c%Rkz7!(cN!{fG~T!(JyA zP>G`uezWe1^RRXg`jf@@Pv4e0g~rZ|JSdPo5xrR|;2HH{ zejpr;2lVCamyuLx+!iH&TA)3ieSz+C4Ho#E&yW1RnU%dZ3`pOeGS5KxZ<{rR4j)>bsPK;nQU=Qde{zCJs zu*H&A#1-Jv+QTHuiUZlVe0f2Ga3o`ifg@*KXxKb^pQ>d;7~ z*LRgQ@;SZvsxaR|)6dD5JU@n(`D5}UU}&PI$#@g#uQEB10e?Qo@Xq0Mn7^zi+q?WM z-y&Vd3oT7$wYc|nzz#|updkiCLE67JGv~y*v6oh!ki}erZkD|oLRy?N+jPPJPHIoN`@r_x!wRD zY0f9zSQl~*V5$7Q6PR$n=HS|X%oC$0awEam!{d#uxn>KNH{`EA9G0$eSL&J&_jjo; zoo<-31d+whSfH}S>73!oE3#$n6j5v3Z#VbwGJG1&fbYDAR;|>_llEP&bIapqlT5O~sR ze_DQOEm&4$o(%6_X}N+F-IergWdhXTU}hRY5!5vi^)-c3jV@I1og^<_z+AjPF6scC zF?^{d5F}{;d2f`THq;hxpk;SkY8pLm(3+s_X#NLBOpO9r3dzjAlFch#->NGDH=Vrf zu0f_l2Le-Mu1UXGy}FY&vQfraY4K^qEuw$6!9mo*4yg*X>|y8^w<`1*U&X&MUMb5- zFnNI{Pg>~2@UgkEU3rl*bKtI~KZKX8s~+VXpwNc688ncp`d(}9pTrl}ot)HJDHbb% z4A3kau*R)Eg<;iX`5#2(SiTe23#!}v1$uY(lJy}agd+Is(12~25lo=RSOUL#sRnp9 zon(fE9sz|G&jm{8zol(sF+NunW=K0^EieebZ!_l~!W70ZrORB~KBAcAiJ>89SLHSU z5D`RX{q{yG^TMC|CB5b@Z^{_w~BBJy!BKF=lW85az|oY z)BlbV3qU}QJw|bk_WxV``z0#pJvxIG5VQDUCSt?a{HPt~ye}P635rJI<<_HDpvtBZ z^nZWdo^@h7IOt`WtsR)8uEJvo2E2o?wnIs^0UxE0=0!#qMn*1b?() zj$PkHiq5j;`KG3AP8Ovo2|Q#jJ|0|Ycw8$YQ>s4E=dQH5zw!NHHf;()`i_(M7b)oN|&Me3my6{Vk0T*T)&sGf0 z7YkDdt#b3lbdb;?e-OwSCQ4`za>iEKLfA?Q8U*F!5|<>@4>LVx+zignuh>qfef*Lm zdm(yJG^;QPf0Y#QM8{EXtAl2J2l(T{4$$?>3&Djq``1}>T-P18B5kpV%Rl#JPti>r zUgTEw{3*?G@1*&TNx>cwz<@!7UkWTS+j4?z*|O0 z8`{+fvXs4d_)$2Sj`!G; zs+Y)O*H}4-`4k|wSS=Rbj2um019E=aF|dy9{}vb@)f>C9{zTE8&$Ml74f(0YpKO(t zt?XsV|Klg@EGF$&5<)*O8w_(bXTG;T&oRvPa7?sZTf58%=de%>lJj!_s!&k`V_x{= z?cGYmAdDIKM)8FTvG6RX7a*HB3XsF34)8+}?@gw@K#s*jvcQGG^w%#ZS6k&E_5Ji@U-gB3O}gLbdQ zq2AtMQI7nP978WMq|0=3ss+6h0lWQ!&CSEy{m5;n^bbk_vaAE(4&bwSWZTVGqqFEx zg?XU;Z|`0or!pAHY`)c)z-IYn z$KHwK(MA7Pn}*3SXEl&!_`Ir6J2%@|2;T;)le7D$jR$j;+lv+3yQP3ZSbD^Sc9<)( ziwXRO<|AWr4tR`Ne82$hdFvXc-I`Kf79kVi91)yH1QQSI$M;tRli`l~{Hw|a+|~F2 zvffS>BBrHyE<&5B_$|^8D~VT6aa0&HoC)_JFL11fl5rgy=1;l-&I5W?#u6tO{Envh zoC6x-9pVBzCEoZ;!Ku|ugOw_zWVA=a!q=>-ySw6(@r+l_4j_Oz=(h!?v@UsRRM)YY zmDTx%<5JIA!D`e2T!`(F_Rn=y($me2jg9YjE05RFcg16dcMicY?d?Lh%B{-QA_d-K9WqcZ$2aeR+T1{*!&O$?kn-ZgTHAb7sb*l8$Io=upaB2;tjt~Pm-C%*28@Q-O?d+$Rt?qFK-Vg~I-(Fy zakj0uSb@cR*T;||eX|ueetlJ*x@t$QkCq?#V;nYKWvFZ|+wMqg)XYOeHRe zFN-B7-gc27gMUBsne5>kmdOvp#h z1r{>!@&AsjUGClrpH~&%U{G-XH)apWSGOEN-s}{st|N`G3&LxL2@8sz>`+iY?uiQ0 zrz|;=WH?7NoMvvU?`Y~qPO@9N4x~gx0FeuO*7CHju6M{BuPhl4b3wjmzJ1Q=iV?UE z<}D1^Sc-)H&nA0;%3w$bnqB8dMu%cdM{=Ux_dB1B7$MnfdBWuO0vyQD(8u5l(tj_V zSX_f%uF6eq?B8>$u-|u-aSX+x_#pQ5%t?D>?5>nbNQkeyMXpi2TfjlV2llYys3F$z z8Jn&9@bzfsrN5jnnbvD~EgscVJnf1`+220uMLf%d?pA^C3#WBDhAvV|Fgz2%6fid77c=DYD19{T&2Jky z4c=M>1hmnJio*q$W)9jitY5IF0MkVj6ScMW9+Wmzb^!#7hng*MPqE`P3trds!w}FI zU~1SoSnTl;^s+5q9lcp3;Bj-3X;d1uq@|uV(;woWoN0XII-U`3r)Aq;>+C5U24(4 z@$EPp8tM)1nvL`(SM*d@M2`2vG5*~aJ7kq%5Y%vZ;{>L{t}|PJ{YE}-T6CD}mLxU} z>bYE^(j8)T=sScSsZ~yg0i9ft!UpbFPCEOF72*`1=Zaw9;b6pLv98(%jj>5}29!AI z*bd&db0@pIyTe#_`^e{x?H=1;LuR9TbK(6Ld|&ExTjJ+4W8v3RYG8NnYR%arjp@lM zN*X#lJ3r>|g@&5fc&CeuTsFSM_K$r0D@!cV18(q5G{{WHCdtao2D0O_A=2b{{k3so z_Ej^g)xf9r`kN?mXG=%ymS(YhA1p6pX+>>`+UFvhk7c{BK~c$O?~y6K&?*dJt}JmO z{ws2VZoho$v>jl)5oyO5+79>HpEauPEV}M&`Bc2x?(|6Ta!2f^^R_k5Xqw*Z`LLnv z)1N<9%mJ?sz|)H^FbZE)pi||YnY?*o)Zuby=>MK0+hiw<+qXHgSA75tHIJkl5B=iz zns1{e`niUS@1Q!&!Iw#_G>e{`5Hx+Il7MMq;^Zf-82M9PcD#xN--k+FGI9Gf#Q5)= zSbU17kT}ixn6w<7CBBLgd+O8LL&*=xuM?D?JIOeMLUm>S0cU!xSo(`2nrJh~y@J(i zk-4tnWWg68hm3u}rQofpel1;XdOBKKN)Ad&#vB=&>XXBBVs$(dIn)M5!Gk^C$f}Ia zhITx3;&K{FS{AN?To;sq8+9Xk#5TImIfQAk`s}%(WNVf#wq{zEFfHb4C0sm?;w2z8 zP=6>qY*=stVB&K8Jd`+7LJ<1xrSacQYOInBw5e0h!F)}bjA&7;RDz?zNRoOEq#-%@r8{Ze_x>x-lMZ^qj(bv;+W5-6g zI#K1ShHA;x*jAOX3BF)r{=k)%QYg#6o5gXvROiD^0NAy)nMrCEJFjy_$M1g$#876$;FKT5W8y(&6sHu^XKtPf_ zHHJ=m$^SX@*C+SA!T#bs&QG#r*ecl*^9b?Lf!8u5^I(*ZRO!UTj4|WNNDwv>L z6o_OvVSOAGt?T4y`U!_J`2_Ap;C=9zx_Uv<{HWvAWHe3E31x{BA+ONatp zmG3|A-Xr+ywd2mG8~(6v>pj z$rTsd&GD}@-g9DRPnU5FJm!8PWVGelvvEJWEd1)SMr?zrPMyY%VWGyZ`y8nmM9!S` zn`^}$Wc=GN>9BKKD8kNm%FMPfskW8v{5ezTMzAw0d2es!Ub~8Y&DU{;ASWK93_zs~ zO-)O|J!>a8Y;}LklN`|Bewe3&t$f&K(35KLQ`z=bf*W}LcS%&d_t5!=WyQpM^$=ux zyNTCH!x42wd#-Qz=J&TLvPpMI*T2c6ZFk*toLdj|?c#O*yzyjlH<>EYh9#hMAWQqB z!V0dhLt`JdLs(kN?s`yljEQyH2;jwoiW0i3t}ZF>3z5__biJO=EzLNr`ZtjtsdPI3 zOZVd~RhUj8@!$B`p2=A*PGyI0jAlQi_6Z4P9z`tiM{?yu|I568#9JHBpg$CL912JA zAf?%y%bYb?9Va&%Eem;Zss4`|MFyhNYMEb=NGPZX%wHzAwm#;^-*B6kPyvI%0~0uUS-d|Gszt{ zr<-a*tozwQfmWipweBFd{A^(4q3vzU>c;6JinC9At)q$S@%3!ujIq}G1RcZq?kVjM z97Rkde4igv_28UiVbFzwOQSVf_UW>oo&P>~S`c*7`%M|fpsWI{$GV`3e$a8XUCp2k`_0~W__*87vd-+vpK>sR>{jGd}#08tMqPf z(+4!!;Ki?>etrxsU!g$NVbZ=hOhMJesz|ej2~>X__=sAZp|Jk*kiD5E_XzCm=?%Ug zYNr#Uh1y=J-gKvKVFq;nI4&ji8so!Y2Z`aQBrn0#C&vNZ&?&+YO!1vzfctGXkNcjIT z-c0aUQiQ;JX+Tgxlk6%6#uV zHhhbmFqD%SeO!Jlc0&}Wuf`A>#ujQ`Ewcsu*QYm5xo}>%DU)TPH&DF9Z%q zd|lg-Zg+|VJf4%`IoAZuo=Dnp622H@$nPC?OP_Eg^WV~yq2YE$~`0+6D^m#&AW^*UTXB%VPgyXbazlZ{SE zd3ro74S2rg)Gvs65z1z@LL)x+t?+K5ylq_1!1CD|+R>Bx%)$ri!*eO8-(9NxcvC-k zySY(9KeIJR6=FurPRNxzMQFepU!R2Z)%avd6tHKadTuumRM}65eVeY1PmRi_F5XGQ zanvFBNk_G&^5Xcn#cnq(!MYee&S_Z&vzKOe>_g?3g$nK4%~9`<7rJ(J-@p&Uvc0GK z6#zaXR{h?PcnT}Fj_cEKd6A&`)Xqzz6IGOChFH>+(|4w)167(`m$bfZdM2dVvGS-N zKSO)UTxtEc=d9fxtg5=g`uKbS0bw)E=%~HNK|5C2Mt^~RO-w(Snw&HTo6Od#Z}eWO z&CgRrHVaj{P5#?^=E*e7gKD)!Gf08GV}R%e@;>7Wed1!D^KXAI3YCHO4lTZzn*pnG z9qCMs5&55fN|doG95?b%H`GaLOVebluxtG-noBa<-q}?8S53n4oA+FkCl4gQrKzuw zB}34EYgSJ`IqH-l$))&lGq6?aT=1A=A?CN$C2?D)(2=~%*hm^RKkL7q7I22|)yktw z3pE++=L;9>R=^&pf)x*GVP%(7JUklA4$|?1jeMnpAm_P zfxN&wphk%W>2FLsvFZUM?}&|*^eDqQ-YebuQJO!}kA(>3|6-3x7oaMk7`sI*qQwC22TV2 zR}ROg_P8!R5E`x2-?o|JbYyS?c)R`cx#D7=M61PjDZPQPTGboYCF*v1A8dWBVAp;d z_I~knP;gvV@_zB)Y853JXKmnBmr@NM?~yW4h&?OJAAn}gIgh&wXb_C;KIek?{;~-2 zQa5$d;MI;PPR} zWoV)(<{$WA^u~qP+P}$I?)C@0MJaw~sc-WvFv`ZzWacosYd`g5@By-DL<%*W`pBku z(oe)*_2M&JuXwD3X>vY+O11w%O2Z2fHR)$))VZPAgqVN;`TPmgrb;rh;4zR8^yRG= zyLUzmk=N2y?PrEw3&l~fd6F??tI3y_UtBQ%Ja)g+fM#!_1VhdMT*5^%YNB6X{s?z)I2KD>EXeUkGxDIZDmu23xBH zB=&w9aG4-{cv@?K?|>?AW}k&(cZKE76963db0H=yTysx1ZjU&v}3JX$z))6QAf*SWR)cZ{CJ& zs`P)&G0}N3Z~FvVPa}G5F*KhhNT*DeUtk74$Q`&HSTP0SMG zQzSdk(y0i?@h`4DQrA{MifT3DB}%8e8j-iQ(1{7zykQ7w5JL7tv(E1NE?+Go}ywO_7)t z2e<#`q?z?WCCTw`v@eZ{ka5-t36gabwrT?Tndp*QRYq#KgM)?Yci~1I!)47kBXTOt zexhI&an5OjY$7a;k>IJn85H@L9=O4SIIc))SRt-RTf-N_%{ttE`J{aIvewSV>M@(< z{31Pe3==<@&*BBC=1Z;H+xVgrS16SftdNnUB?)K?Z;pi0Bn)v>DwbWQk!PgQg4lsk zpTo~((y$SQ0m1Rb_B{;e^itA_W9t_l@82_!?9X;bGbZs20kur3ti! zo5Rd2s=#FB;NW0Wpds!4ntPoR9 ziG(mU^8G}?`xDjj=u<^j_V=V{S8sqYY5m)Nl;X_?qgsvrv%|ufWu3#UOA8!3p)-Q) zg{YdSWiZaL<6L**kGyrQln!{ile45NiHmC`2CO@ajoRPq4ReASJs4Ij;^69-yIOXB zLKPW@A`cEtCGzTX?FP5wMu)XJxWT=%Ju!?1%Tn%9zlz<^Xyi_JL5~={#Xz7bm+Ngl z1_ZD8kaAOQY^wUmBrTLo&42Gj)3p7`zF_9iZ2&Qw>$vh)$o$2CX~*}Fd(?N+=Z5;1 z*0Vg;28{wd=FZNy3Pt~C;X7FFyU~x8U;1wC!q!6I%aVvrZ@36JdnUa0e+a+ZN9?xb z9%1Cg3JWB9&do3PzDTf!F_;4C@cO^?t)5HE!-Us0NwzxeBCyJS2h}999FwmCwe?*o zs&nFY1&4&wYWg=jSIm(sO9>tQ=kT-wN`{#?lx!70mcODSJiIiP$1jElThm+od56bh z=a*5z`e`X3l=Br2|Hx_>=^F5SH})Q-J&T}5I!ydGDCg{`^8I|0#Q+&dSyDomrKVYM z{uF_XGBrH(okGAGk(V!8W#MmMWYn);KPi#G{VWtxOt{Drl8;b5BD&@pzEa-u?<^!= zDX^vI!ksAdM7yg;WkyQR%$+4KlcSu&S{bGjTnIcxlcvte`KT(`_zr%BDeB2@q>S5r_;j>}?~ z(-IOER)YGdygvD#gY*(U>kD0~w$L4`+glSqD2us24L%Bd*|Z!qe;fXOB{bvl!^Wm>J@z}y?Yx4S9H7JhZl7(_pMuL6^?4M%q? zG-~vI`(`Z}H%S(;cEazcaQ9KA#Ch#X);ZwVw#CM#e81%Du=x8k=^>f%51&WEbVYD6 zxh2YcIKK;`3hte%pMmj@FwqiSl=%@T-x3F( zjedWwS*<8`H(Tes+WpZ0pP6sn+Ujg?|7zW{=jYCPD#KI=Y)uiKFIKMAdWZZyntSNf z`E7p;x_W5gZ$hqM*M@`M<)dqNo&yr4|w zOS77dchhr$?u=$kzpitiw)4)WU2326_2;vdHoA;f#5`(r9Vi$n+PvWPA7yZarl!zm zcq^$U+eYc~E)LE2aA%+I4a}t*e=>33#&Jw1UV|uC5SDs=6fOGh4^bjm?QvMW?E@p3 zVhvmXB^33mP{IJn%23IIWvSAC>B3LaDz83fX25Jxlf6t)Yiw(#^|>GEQxX!SU*)OE zw5v0$7=nZ(^}*R}=M?z7ApLvmh-v}4a~TIq=|$V)Yvp*9VI$L>lsSsrs)NM8(!vx; z*uO;LN@~2bqeW18(En~#d0B@UtK-p}-MoqbMPru-l}~~Vh+;*4jP$q5wrp+Q{iOsY zCGI2e5AA3EbbQMv8c1c3p7qx&OLJe&u&a6E#oQ+pD>9o4*GjWpe8px^wCL;3=7dJG+0I4e33%Zh?aZ` z@MFf7E_D7}o*40+{I@v3#-bi8Q|7q?Ne6q>YAmA{B}-5;jklGp9Ixee`pd)+~ zDfCFz`kCwP=S`WH_>(w?Mpf{VpQhnbipu%(nmDy1cAT`Cn(n=}4Vv6^@{`e0C3*?v zR&WPY?7jpbH}kO1K|>SV+;EV-)C4aE;QKE1TZoa?pd1?c>GWujxGzl3b`DVUhOXOM zfBQ#}X&?}2X}-66P?AZA16>#U@*+D&O|Tnrv3V21-0 z*zP4~=Ku$hnNr{hA%B3ps$#ube9Ywzf}G(VfJxCI-Azil6J&}Uh2;@o*xc~-H&DJS z_X%bk3~@EczDRS@qY!XIE|lTlg0@deB21-B3l{!1e{!F*0xN14pg`oU2Eu%t$Os7N z2rzJW$j0>se4hJX9kL$#fc9BJuYU`PA`sy>D^gba((*DJ9tt$)@#wG)_vrRHgUa~e zZT)@6a@H_J;=6-CRhE{JfE78wro?XVyIel8hPyPYX`S*tbPa@#V8+H?4$8{Pg0mi! zmC_Xi`{k+YKXxC>5d9~m9aU}DcCdb0#^29PhggKJr!<{4Z46N6oUxCm8m&dnxt&i7 znRko%-&N^}X6s^Ql%y~Lz5Df|jjmIl9n=i&o;S!tV6L7ZgD5B{@RwDsLKi}+uGQMR zHay?p@r?urZKpv-G0px)8*t|!Vfk`}mbI@tpM2Xj2qOxSI4d9cum{C>MmWl0K?Ta; zyIO-R0E-1k^`eVRYHlIB+x@dhJA!iY8U{DWV@wz!7DGiPel}Az^xkVt+ZWbKJ4&8h zSx0*whj^qAbW`R6^9?1NPf{xinY!ui)X)}Sr62}D`{#VMUMri<@^t3h=c&ir0Z9=#2SpX971G;O{dLtKtvhLqPe zil`?|2zgiE)p~w@9?paJzqvv1s;{t#>I(V95nC%X(a(HHi38HuvPcDRYg?Of7d{MB z+I0KsTA))d@dr^HCE6{~Rfy+yuT+LO5Xp@6VLUovsggvl^_+{3VA%j6C1Iadga*-G zn{pdVThLuWdde>EhEl}5xh%Ar9%<=E!8wshgnn|7_PnK#cDnXiR(TbK#gy(fs@(b` z-nq&-ShE~By+d}xa8!4kXIt&7x%L{aXV=N3KGu)dppO@ys`{#bX-DT=Z?%6_;t-RO6zKeDzuW{gj;pOn4jH2pEM&atWXmqg z`=n%MjAD%u^F*W3Lbf6}608pqW!T}acp;*BYURqG-O}^9#{XI$6Er<6FCUHE=n~KK zHyTzK(aIt@vuXprq^ZK;o2fcvDOSp*PIid#l%eF|ck*Q_RT|`Ki)^qzw|I)xNHO_P zkIa(bfc$1@y#ke}!f)ha5~A$Y?T9F1=nZmQXMyB0U)Vbv1l2xF10S@va+~(coK!eN zxm2ix8pX+CH78`RKqJgb?L?~?&@aV-{E^?hstjZkU}OL|&svPtCj`nhD54%x5bQ+; zs(m$#TbfAKyv_&A`j)`b!|r|IfQ7E0WA^SW-pxB(M;ihucQ`SEZOpv5#=#te=3^Br z1?AFP#nF9#R==mruR?E+Iue4Czy7tJk;P9AKYLg7R=U?b4Be#FSxjVJF5x5)`82lh zuF$wc*Yg7FOIsIbxzw1O1RD0iO-bfoi2hU-96-uW)IGlh=2id6ki-G|o@Y&f08@e~ z`ndSSaMWbIjdt%dpZD`^?HnRxME4D|KQBROT}{!_Z6u)I$8Czm;7oSY`F;MX8jA)* z3=~V3$O^L)Mu*5b5&aHtH%7c+Jd)QsG8$esZo^1MN!2jQjozK`p zBCUkWB%j2A%eM&lhnYK%oFO7&NH(mGobMjMulsGyZ&Dut2`wNOI=4gF2M%$ED7WMT zHed^_OekWG;|Jxp1O1IqiSQ7HywNIO;<-D^UK46 zO|nC#;L6|#4M#_9Z7B=)zdw)j`eD_edOF%$>JMF%y~cBz$9HWKpZ8||(#lHQy&KwcD7LclU~_c=u@1}yfn z1iA{mN+@gsmw~D{H*uo0+oiBkMVKU(qI%xKU}%h;hm-g5BMF_z za2QHHEk~=cmZa-f9A2)z@ zGQb`dR<8cZc>fgj{N9g)lIV9K!TXZ($0@Xszk_X+y(}g-L*AuN1f5 z2|Z$@xm+d|X4-)5S;!KRQZ0fs}+i9|VUl;h(1GjK0S}xk_g<*hkkh^*WE& zuNlO6s&p)drJtq08J%VP{#GhN*b z;&$Z-De;1Es*YXhJd67!A#7>tM0S~?If62ADx4TV>T~MvIyD|T(g#4_(E}P`714V8 z0|lxYUy!BdBn6A3C1vQ}haXqd)$O1NDd}!9s9_sPpmPaQwO&z`T{U(O4Nf8vX*U3# z;hREtq*~p4>df_mVWk=JEk(+mnV~_;0!40NMmL|Ry!%p{;A z*+;02slvHP<}#V+(6Jb`L@GSYw_v;4V+0x#pT%5_p1 zUe}5Pjdum!4w0$9Q8$Qgf0dunTx1s}5GppW(X*Pwbd;3h7s+F~N502>)$|em%#96PG zC#P?m`mO#%M>6p{AfC#lZ5)G(hv2U7!-wW`ptI;*gSa{ z*@br~d?wNDoENB#WyhqXE}6BRJJGiJO4&rdbD=~Z5%*H4ib{NEERRrbiQ<0g%9kK$ znafR?g+3iF1J{S``|Yi7JhA@QjcaI6T>5mjAr1C$6a$wz1?>wy3_tW?xI2c*G5RfwMAn`#DF_AnMGpGkCmJc3#A6gtijXa?I zVBb`#{Bat&94!Fbup7$~Rt7p2HMZr8*#?{mc9h1Q+*kBgRBWNbAQkBk!Z?MM@J08B zve~H8n|S1v(OelV2ayfzns1o8eMh*FAwRNz*gOONEUd`PCR1Q;%mf$J)w@dV=35mL zXi3I-cdZECqCjGJ`7hPG_g1hW*$AOh1JK~Vfw*8Wc|Qaz$vk58^^&W{TW=7tgC?GD zvgA{)SH2fiiG3;pEoeHVwmn>bw_o@}_(Z9OO|J00vg6UXBp1Ge;0NVw{`BnV^Ie*! zga&Yr678CK%V8G$VgkzPk1sVCOVA$lYa^J||`qL9QRjZOLa)(O$h@ye^fJZzC#Q#5yB1T#Sky(8H(L&Y77%xc7D zAQd_`?jn+lg?9vB&KK+Q;RU$Db-b00#TSjqI~2joy+A-nN6zO8EX@(Q zfJ65oaLk}-w6Mk~q2C-)V{Z{9B^jrW7;PJ6 zV@|byavHe$M96KgrTD7d;x%Dh!oReu-XJgXzeKYP2BRaZQCLuaj>wKT`XvPdgjzuQRGfps zgK6sjTwwL>>=0Va(M5E4XVd%ySp=XDD1@7Z4Qv%rB0(V_7ZF1!MgHKHmsd4|nc2EFPmM_%~cM~G{`A@MFvMD)ZR>Z!& zRVY5}_p$I}3rUT*Q960m%v$Y&GhZ!ww=@uT=2%;EibeARe7GRNqd*&_kp=qCQoz7% zbYx=-s1{D?Re=-gbD4E@4eKSsa4t%%O!O2Qr^2Z}wVc?^g$aGI9wIQyHcV+Un-RTs z{DqAbW_l&l7kn4IGzI;9$N0PxiAapaLZOlzJDOn=S}Hv9Fk00fFp1Pu6g{>Hp!p{Eg{g zYY0J5%v@W97$~xiB4J_K-n~@!9~wRitg|5dk0EGYkLq?pOt>a(VJ#9}MAP(z)Uj3# zoGKZ=?MRbg{>n>obNK$-?|GE6OYb-4(SI=UCaMk4p(u{kgxybNym^~wYS+lIDhJlV zZvSEZq`WTj$?Z9UL(UFIdz0mKEBkX>1_g`mHx3BCU79kinlh40$VqMVPJiZyRNwj! z({~@Bx|(WE?@>)!-<^%eqfo2;hlQ7>%Cr>}euj(CgerjBJ36!(lY4yYI#+!Y2C@Oq<9UPodA>Nf@yZYgWX8`*Z)j}%wYDoxwi!Z< zmU?-%8&g7)8S^jFKoj%7n6Jsn&IH$zvAOZw7*C0af z(9n=aYrP3}E%}=GmcNd_ej5KD_Y&yj0Z%Or zl|)Afh1K;ud)kpjh5tXW4WTC>ebG{IJO})rJ6A~FT;JeJ29J6cG9(~0N?NMZGbD7Q z>_Xvu=3@_Rq+)5)X^PrF+(#|A?adxfsuWR~!8?punz%Rv4M6w+$O>A@P00Tr{ue1m zSM*YVuoIAz?O#?9(qcGKtOTU5udg`v-;iR<236<(cS6@+${qCjAL$~)-ug8_rOfx! zD~R%&3GEMBwdJs7<0c5{;$=U$R%c~0>|`JaUkDdB7tFKLygqV<=RGiZA$=GM4Y@m@ zCb^M;zX2f%p+7}n<5@8Xhq{bUAP^b#~(9y%Ea<;H4E8{;V z*{*-6p=al!X00eqFBmj>zsUG|ed?xQbb_L36X|x=;(Vc4w39cl5~ZLeENnx*b+COb`zY3oQZ1Tknrs6%OO!aUxLQ|GGH`Xq1HLEK}ZPp$)Z~#Zy?Qo~5Bw@C$bQ^L2U2wnd9n zlP+{ZB`@Y!z#E=l?YyLk#_O>a{>|dR4g`aAAeStP%`$>{y z?G>Aik)u67mLlw4e)ILi%t1FxCLR{=t8U-y&tE4#Q!U`_GW^fomI!KirawqSq9iXD zP6c00WtxwAe*Gy$w(x^8sd!RbOszf0FGBk0^8y_r_YLxYVaA35z~HO1e^FM?SCV zdAdAp>a5yBnKJFZ4x;BQ`{LgZ=9dd6hyAH(UT`H%1j}@vyXcOSnG5#z#?Q{kB6#x_ zT<}$>P!luPJbS`p5$c6K1UAnSnGXK$K@7n*OhH|u1AjLbaJ810OLIeP0?YXenb_~1?Ck9L zUL3sL8g?~ZCR(6Egc@WL_E9<4zfWcNCth6-&r~hG5Ye8T+J1cuO};&tjY|AfZ?PfZ z<$C_~nVn0&Eb7up(5Q7~etOwK&1PwT-E-L&6w1MYrD$ppfEHY9zGsE-IdHm zi_W!GlcD%7|GMKu8*g~>97nA{l{$&{Eckn(HJ{$T)#;PePf7a6`abTqocD6oyLo*D zl_S~9j3mg{f?@Jsh)#*JG8HoGmz%u@f5IXIdUZau1BrEu5x-oxT80c3n=P|^MEyvT z(7X&i`gRPQCyzH1EvZENC2VTS*ST+ zrG}I;TKe9%y-!vPI;Kk~pu)#GVVjM3_SRBDGNLdl|0JsU4|C$1hFbpHQD$OuaC2tn z>gsCy*jQ9*@a(j=kQGnm8-uk(3mYO(!b`I%EWpgg^p!gWm5Pp)sVq0oMoDoaDKq_s z-@sql%a)4He1U51rkzN0y#l`=JvbHYYUucO`o4QtV<^P9S-vS=L^r|%sona`rz`#O zdf*H5YgK$|d=kEY-=(_@XNo&xD;(y!=FX{E+uAe6-EmO5jJ;d%ZWuf8;B^d;Eg&C$ zDVIpBAKDl$-wn5%;drSlGO@kXZd}>b`KWvDPTGK^bnMV|T&LLiwsh|=FMLZqoo&+P zH|pM2|Iu!j{*duP`1ftNm~YCRJ@rnEw%E+4Gl86N9a}91SMD%_~POFy_gA z+NxdUFkhQ{PjbbQ0Iz*6$n*g4v>&C%Drr++#-yrEe%^1INOPKO$~Of6y;{BbYl!ou zU4>$f<>!w~U~y-IHJG;5x|b=X^3MhH4p!f8;kPS?mecj)%ymAV-v}5$aQdh`BAuJt z*P9DkHlFboT)oa2t?p^Og&gr*X9Ha~FQ2dZ{n8E16=lVpVx)75eGp5da#@s6^{2S0 zqRR2kYQz!Y>G98JHRLdW^RAwZxZ&qtqmyfZrE0i z#U12fl8-NqXgM@8ws#qs8koDS9M!%b{+FCb(`gKK?Ctn=6Csa_gnm)s5zyYY>af9o z&Lq5}xfm0rXJ5)T`#hJDd?IjNm~K^|l(JF3+U|M1q*biMKP>{7fLYxe;XPnE%30zQ zXCZ2553FFn7~+2)e1xgVAo@`o)ImN~8FPGl1%y{T*Z9cH+Xv;Hji|LLqA7Bf7q zNDEvKmu+`nT5JO>+@bA;w2QjxS|TC)8T%~0t1K_iFl?hr$-we+M}^w z0xdlp?dD1VkAh$~(*+BE#_HI&ZkX7<4%eL;k^+m@Ya?raJ7-^zg6W2(tmP{yd>be!GUGzqlu{Ztwx%wq1@NK?lH4O*x^Jw^4cTt2ETs9x8wH zm(JKps|);ln7p^d-ZIWwTf`fJe+)h#R#uxz!*G0?RjxC|!P%2+B4S~^jVL|#^W`Tj z0iDG2&%0@2}AB1l{A6v^pm$YsCA3X zbmi|9C2h4~gzY+<8P_gKM5-LK+3xnQ@%kRJd_JuOXffXGIz3aJ>A{;eXZH4IXJ`B4 zhPB+;%B8fUHqCOCAkcsCLIGY*QXmR4#8p6|WCHKL8E6A64gDN9uMCTX`C2!fKwCRtv% z$~F`L^@GE0pNU{>NAo@s!XglxyVJ$t<8x5+tKy@ZpgOpknBVKkmd)qE!l4wTsqg;g zd5p+8bK~0YQ|V33Y17s9mw*8j^sKD5(_(8GUXP`|59 zhn-c%QJGRD^0S;%91>&8ctvC6BdYvwzveV@)<&e$<@O9p=qnCGBjOVL<8!-uzo6qO zq`|(gD)~#CRr-epyXNQ|Gu;aYr>^_!R6s7(?u+8NUz`1TXHXcLV9)Oa8Zi>!vj6CE zhAUkevijhhyp7y)cl~|_JDd!CDS5k>d@GsWk+{vk|5yaNwTkQEhNi$$Rjp^|oQ^zh z6JIuj$Rg%(3cnX}NTbZ!<~9xTa6$*eS^1%3f5G+@7Lq6IB$j^U9Q(M7{1?`2Bu|wc zE{Ih?EJ!IK=#!P#C)=J{7^{82ESD;qI=PX!OkZUGk7HEUuG5J3brJb)X?mQ_&8$)d z$nYHbtVIkdv4A^KlPe}Ncgk3i`Qi;j*^ZMfZYl#bJWyp=-J{4PJrgYxT? zXVK%OWsM@8RUpZ4?-|x+!T$ze3L3>%$;G?{E!V7W5vMP(`!>{eknh~2YxCQ-UwI$) z_WyoD*MxVu_C!^0txwN-xYUy%fnvca0m?7Gvd72LwpAC}2S z(b*d`>FZNt93_WX6#P<}cFgkaK+LSv10!{UaGWY9Oj5%D75D)y#v{2fgp>5^aE_<} zbf_Yi)lOnMQ>Nf^UCT;`uYE{ZSV&0dlb06BpBpL0UFC8%frNx^-tWdV?yt>T;U1P+ zo}T^kfMS^6amp7yTs=BvOAeKf1(bZ#?q|WOTgED7)cxezGy2Xtg@ec~@-y;p>D-an`wVAl85F z>-BoJ2c@v~!^}b1%e8=-u1g~ww4}7eCr^)wf%mSCYt+c2vHOSDZ6Qb&f5)>x#@h3V zy?cT@SKIFaY(g1Mf@qa~QS9ioMW4uy{K3WFq@}dv@*+wjAIM8di9*-mKnEx+A!)ob zE01d~AfwLf(>)YplIQzEq za&J3#ucumT&Q+si%rR^9R@M7eZY37c>#A#Y*28a2ANQ9(S=Z)=!op=1lI=DhAey09 zo)l}`B(xbS(IiE?NHzPF*MbrO-?r^jKJ8;!kKdaN#q=xqsj3QqPHK*eUC1p0e*1m% ze5!0^BEC1a?_SHJo{yxg<jQ)$z5sT7TiTBmeEqNN#^TTilowwwaph&u+of9Y`myudlD8 zvLQJ9x&@oIU%?t^8&_KDqo=2)rJOJ~8-CWkgNyR)EmXq7sKNW@glIWakF^vzoQJ%Z zQ*x;EdU}p=&@B<}gOZ@om-JXZa&}Z4*50{=f7;2E`-4WD4!25cK{wIsE=-4N74QAKqxn zm&baEmg1P}_GqdY$otts>)e@0nTRjuTT147gUw!*YRL%U$&J;!DYwr-9H!U zh$$P4o)eY4%&a`R}$10H5H**{8K&K2uW;DMQY)7}Gg> zlkbFg+;u+QU&d`QlIJ{&0NZ{AUrShM#Q=aoq-=LGV7Hk0qrpCKWkpq^f##mP*TDA%BW|D?_@ zIvEYx0R({;hne>sgEQfP&~0OC8j>3Xa;HnuV$} zNQyeoxOII9$L=5Da>zeWZWF6q%JKqb2ag7#RH{%^Lb^Y_)~y@yLR5@eu=C>L zW-p!0gqXD&h3E9dMD(cpA@Y6)b&2m2h8Iy+F~v#KrJ$j;o|%?5stE~9J$S2FvQmHc z1$csG@>KBr3K#@81GJ>KDc^ZvL&QqvXIdk^sk}?uTa?bzz*5r~dNU0qqAw)`*^qzh z6suBdG7j&V>);-Uyb@VZ7{wSObKz7E>tPr1$MY4ngd#j$+O=EX+s3%`EMx7wN?ZV) zH7n?@Lu|QgfbRV|vU5b2UKPLKP)~})0HoEu3w>^8@Vy(UMlI^t^IUrHZ^NPr%}4f> zxik}TN_{slaUagC=>Et7jJxY2Tay>=As=BtRYMk}Uv9Ril-s0Nxo%;g?mv~S zA4}^&9*zd{Y2d(s?0f=oZ}bL1SCp4ebZF{oG`v&TE%CtD1w*KELkh)Z8>#$5>sq5h z%VNKD&A4XRkg?d*fv_c*gd~JgSc0>7F_R~f$ic#+BJWwRSZW3n2p}M~-I?8qhC+hq z6?yvoya(*u{gMp~#=}Wq=J<4*GRne>SCo;fK0M9@KF&JFtC1*h#86DG=ZiSz%SgU&~He%U|wnGeHj|88PT9HFI=yl}pHpV>I75 z6^MOs<A`Qw)7Yrnwd>*Z7UIBXS!>VFwjsUI7Y zN|P}wHY=2)pf=omlyYhxo+?vCRDnf>6!HpGoCH>Ensn$nDlEZa$s{Gy^(wxeE<)9A zA_&C^MU7@CT7hU(P(ag^RLzuc!@UEG2M zCJ^C^%$5vDN0CDW#pJ|Dg#|0JNQHX4h2!fY3EgKo@avG=-~FFrbJ)m(`JYV*fcNRv zxoV`k+a*(Q4_k0Z+)q(fYO1Q=Q3miI&B%zy9(!5=AtSib*E@9vs^BBuxJSQ0wk+X^ z$yg)+2Q^7Y?r!%@p8^k+l|OV&ff6YcZ5|6uwJ7(B(I?$YS~6APZ%-U8!r4mhAUmAN z&gseImWKfsRp^U0N*#hzq|kZ^V2ynVHAG%|_5R15T1d6+xX%(@z!MlkHf{9P<(H?x zT)-e7X2Ma#KoGOB(b17f1QYX7GJ{pG@@(%K6lE9H?n`pq;laG}{rp(mt4ni@1G^mi zX`7QSk;sMDKwP+w`uZb6?#LSK(M`}377mYj2WPRetxbzG-lEZdt3S>Qn6Z8(5?5$| z$X^yloK1<6tZJb2sb0*7A6)cBWKO~sZJ~R;=#1YlmU*6=+Pg(1?tFZV*Oz;CDqjp{ z;Kwztzd%yIcKf_f!=-SB_#KL(czz}$pCA=~_o&Q`O*x1eu@74)l>$YHJAfA3D06q} zOX)t6!*0AjpBNhr0|QVGY{^hS=)u((=P_eh%?XLRps=F3K(c-lQ3Y>c4Ge|8msIHe zB*#61Kor5sIwTR1%Z`MmLox$4*B3x2t{)+#rvIs&sO=M-B3{$7SFN`voxVo)4R3a@ z!NA}Erb7`SK~k*-w-7E%T5ous!GOuZAvX4M-MF?2$uu(G^?Thjusrwd!_OgbarEQf z+V>f}tA?Lq$hTng%o~wcc&K{9FFjQ-K2`PWk^-hxr`n)#5t%@V8(;Kz)e*+G5&lTZQwAG1I=rHpOKyKv?%&8Eq1?@bYO@vA6+SJ5v{JoO}s>z{gzp& z96d)(z}u{gPquOlphUej;d}CsB(ylpy`0%0nF@l0hCzm^y@?i{Ta*bw!Kix}V&Q@j z*?DlIG)mW(kuMLfD&oqd;Np!DoKFc=hCD@lKbXW|i)#YEk`2w+-)Z|?XcAByluor8 z*8<5KCUO$n;}Qmqv}21%q%Z6RLy2i?Nj)W)imCIApZP%pcxVO2(rwg+tfL1wq6MdC zV+wzzLR`0Py|%ECI9NoyHDA-z)LN6n;rg)HsV9xEt2&ZCO9FRuy*qS;zZ}+HRnUmd z>b7{OEL(4~g*OW-znh&6I`8gOE~Rj#mJ9r7wbd3mt%p&Yo4jn&7RGxDY?G;`n;+`@ zNQp-`w?Q%lBw>EeK^UeVGnY92{%hJYn0onF$UM0!hsmbpvMq!EO3%9c-7B!Du`21_ zWBJ}LfJ!HROaq~+fsMmq`%hW_@XCtPho+{i8z`ZpC<>=JAC3OWZ0Xt)#6+C+v`@U* zwiXkmk&LI8KYOnw?=ph|--S-n4VNh3Sf>YfpY31{P$Xie5zm%Jycz3?6Z)E~T+<8u zLOVn_HGctx9|liX8cMCaZ=Xqrg{7=Y^gf-H=7ZHG3-_?LG~rnN5n6@&X6N8de?Z>c zdD{qCD%!L0DK;6b0uRF{?&d^R@~*{OMIb*a=5HIWeutmvR>8osp}%S*rc=?N zzfIX~q6zD3YE4FU)ji0$!RL`LcB~y}OH)*}W-5tUNE*wRceIlEj2|0wc!^^CU=^*W zJe^RVN+6HL0j_04&8or~F#b3ZzqP!q+s8an05=U@opOpV*L_;n8H*+Tf67R&pZe6) zoEBmRZ*>6!iM!25yq|EMU-y5EN8u+YXRE2{9c2^^S3-Eg+SpbfiY|jczxFs&!6a2< z1VVD*pC#mxqLE??HBelCGoxydQrwt*MgMF48+aRX?%l0R?rO{=1-?NIc+yvuX*`ZsZ`jRk=kumo!OhztXN}JNHGQG&8KHY!bqv9 zfIL!|T0yalUL-3qr6v(_tN2m`a3QN;;KDy^DROFveGK6t3`E|#D^4!I;>%JmCAC>D zGu&Y%;5d+&#W9bEi6^r7b3y9+vpWY7w>R(40u>r&JA%zlH)X+AiB-MPuZt0TBRlZg zZXq0T5q310UY%;>_BJTX3lY}(n^ptS;7L03ukJ}vpKI$$PVg-BE-#jZ?%80n0VIwg z|KIcm>U}g*u?to!vy$3onE)VmH%i%s=M5X@H&ki{61t#HDi<)tfGc@~O)tW?$t~a-iIY`ywZPZPv&MX)VP7B5^p;H$7mT8=y>J5Mw6 zJX)e{1jEm#WZwBHRxKxQ>b9AD{OEZjVwLX{n-pZAlyq}%{QICKmZm^)th%Ye=K6kr zKpn`66{N&6{8=0%@Wjmv0Z8RaK`hyCH4X~oxmD1xOh1WJgbNdzk_R|qXpTkkft`YM#g$MoVtT7%b?X*GRgfE|s{2|MxG=C9TH zVOR*M(r_%#MZ?wg;K0jO^#eCs!P)3WTlhW}Ry(gUb%e;HZ0*)*yeb6;5wjOdWYM}0 zi?$w?2=rW`^Y-QHDVBbhN2=yk+M8W28`)-RXoX)81W7WfN2g>e&Vyx5}JcKduT5xSk4xS!{kK_nnF^a*K&5( zk2@^Qu%1f7mSO^jJ9U2<%s4$k!Bs@;WFr@RGLORn3$#L64pb5DtSkFXg<=}l1k*Pq zhzU)J`VDg?9Xh_Lhf}_tZ9crjO8(k8*h2ti*}nx(10X`N0GqZGX+|w_Sx@m#a4}yj z9mRql)*`%*Ft4)$r7R%+@Fdw52!0c&q#cpy0lQxchOIxw^rsPenMoH)Aq~ z*>(UM@Q#5ZOPtYkfGgl#s$TVZ^9z*_=R?jaze^iVE~ z9*)u7QvYR8!4s>4TYC$MAa{JoN#^xC%tCww7U-+*DLtJh?~&Z zrH~g374!)de*88MdFF=deyKdxYogZDG}@8zk$y0vM<`bN3UFRgV%DybHS1318MSIl zKodJVyIQjG(XUm2Ca+S;fc4wiTEi;^)|!@f)U(UM@W@Nm=_fU1()CGFZqtUlzPpZ z^v1%X9w8d{kMyj3?Wb=3g}S4GgoNR0-j67n^9z-R;25=f^sbvsFzR&%0O>xAEJbYz z-F2_`(NAOtv=JDvE)p z$L88-QKriMg9V5Zu68kAPQ8G&N$uT>CY5?5Tn(eL&T_(9*2 zO&&;M54~a+N;0x8w7eBXCYdEyHCN7Bm_6WO2)g5w7@KkZDs$Sz!Q`D4A_w2^xtkVr zAy-UcjDP+Qx>`|LnK*t(ZeL7JHXZXE_0<1&`-A7&!~>{@$(RQv(s!vHn&NEpWf+*S zpG%Uro#0m`@CWI8_) zcBaL@TwA=#Z)~~y_Ld5=fs*eUW0m^0Hg2iO2{8*0@)0yxR!d;R`F}6O#i0F zdLJYaO7-qT-#sZ%$8xxd|1XvU+Q7ZAyqr;{X-(w(aWVe!xP5Gk)d9nhn41gA_ESA& zP0$t9Jxv#*6~FRTnvris*q*LaJAfdZZiMO|Hs#2XZa9|@UDi@EMM#XKpFmxhv^KLY zT!^}w*RfCljmbYhbl`F@14B2;ULCkGGlKtsDu>h*URi1ylaW05yr=!fA3B+M<3n1Y zu@B0kSLaeh&mV^N34OQwu-|HJIq><;<@O1Lp`82+xibA@#$8lL%jtGAabEAnl2gCP z>4pU|Bfm^D6JID-L_Q!@t5dRQY!9kU5g37BKxATMkTA70w{Rih;N(cLp8+!i zSeQBa`4QoqU7Sn}Z4u!-GB0QIQ2hl_dU`6Nrb-_%Bfxt|Zis8Oh0K`ii6Vy5D9y_= z%bbeG(y0Ge3c&wXMgJe`0sfcz@&C&F8Sn2+*iZlZq_~ek7y&)UoWC|<-_kYP(Vq@w zl2}xyRJfG?a|Pf(Y3zTn1^fs5`ahUg2L5wH{XdyM1pf0={%`F7{^K6^Z|0NC{{MFP zdvN;gFoXXJgn?5KiBJq;93;%_2{B-rDb~{vfdCUb+rLM_MqOKbg4X!Ic0C`4aq>#w zu^H8qP%iK%gK|zIN9@+bPCcZI4NVuSM&mKG6srJmk1;ws!5UeprQ|<(RhoX#Z*)^e zno;TJ=i}@A{P*p0^6cc~`DSwRd0n4=tIE&o@5^mUHy`kRo)UR10Lt83I=H)A-+b=h z7MpYIuS*1UGP~Pb{$8~&j;@}bJ^$8kT@0(1&p|k!O~f5`Sr zYgBuyAzZeL!mLhI1FWT|p}gGKS{w7=qW8LYXAL#1-+Ea>d#jQ(ajEmm3h_<^-no~` z2zGD_mbM&=(BEs$18P8u@KJZt)fD5?c->2H7P(rLyMgI(=a`8-bO@-RVU^tPDUJbE-JK2-ib*(}^L2^eeX?n*rxJQ@V4xt1a# zh;hMa%`<+L4At&{utb4jEj!m_dA zM`_k$x9^K6x=O?F`&01tLac@r>4cp|MZB~j!3a3TumT}RX@O)Z>{4;#;gVzt1YabP z0$<^LJWmz$c=7iv|4t>QGx!D~UK`|2oPx`l6%F>}9{`3-&8W+r$tUf8K_=3LqIjC3 zV#819$cSY@(Z(h`B&Icv8Y?tsh$c8DTM#thp<>F&Pzc5x3zB%nrDEwhtcM7z>Aey( zGU6h|C;6KYbh3TH$#)!iIgsf@583Tv=;=fHsA#-0gtExW`lD#MQ26(Pw)o=`cYxk@pW;47QR5mdM72?y3 zFyR8V)jpkh7Jm!S=^kvj;CaB)kkd`&#A z3Qw!Rdx8wksDWX*7nr~!>Klr?Q;H+}J3Jdi_WTH5WG6DbH^ZocfZ9AwMDVXDZ_+HS zX*LiwoY>+?YlOS_sT`ITGwrC;ZKcrgjEo?fdptTLKZR}!(!nL+%J?Bj^3#Gomj$-e zXuuDl62;0nqM!`iJ;MgxS*5mwiPdn2mXSh|J%sme;EcPH78f5XLkE$~*z(uS-O@=M zp~gOfyFadGIulYqR=y(Fkf>J(M6Mb|N|>xQyCh+1$SM)y%!QVG1GNTNIlPVF4^JpO zow>%eRBMDdae*){qm|%q`xr_^w*2#tcs2xu zw;s&cG%U8+6scR8`bR>|8^-T=>>5nCtr5v^=tTlO!?6=dI9ANFmO7Vizuic2@hoL- ze{_ygy!A2{$tORLh`wZ{`XS~SXUY9Q7i?s8Wh5n^V-9G}b(`joep03P*)Pu!{kP04f3Cv9+qwn@*KXT zI~kmXhW^+w^fO^+)WhGW!?Qjyf&uWM<~F`~zzvTz%|cjSCm#Qz7=Wo&NY`a3W}LKM z2sxFVoF~qUWG%UYCjMZo<@_r#JtwoLj~b%Rh$Br76Pm9Nw!e=OX>nFW`V9nxHpe@S zX41vSC{6gN43WaY#-E))vml+5`k&HG8iYwe?DN)rMtsALs*i>;(Lgp47Xe&)dqlh* zYMN~4H<&fk;c@)N2VfJjP+WymN{!PQL*1@Z@K^ zx=as;Gz%q;SSQnVtn_)x7rG(n=M2<2(Zt-8EEJLcGKGSQ?lz$w;m=q#^3xFUfSob2 zR0@GBO%NfNakS?pIV&>n2i#gNt}&swcp>DuaFehR=3Ljk4Zc^z8w*h9E)*qpj{;&+ z3W)fDY{OWq>-Lc>hJ6K_9gY(EMIdU`^a=T^bSoJ;qF-JTBbj~FiMnGad1waC7)lVr z;A}SHmm6B~f;+}qB=Ir0tOn(Uj3d>^ZwauxUr_JjfI1WU8dgYhmHJpBpW%yr7ys$u z6XQ`MQg5DMCAR}M@FxHdZq|ka<`v`IN~$wlX_%>A+`~W|$;m?vjlN}+QxxuY@n?WP zVxAf)_%uI$JQr490_Xmi8H^MY=yeUN#R(5qdpp z8f63w;>!?t-VZakImeLQ{8q(Ti)H#}ticEfU#kaJYHGGpPG}&%ihIBzx!jzp^>g2^ z)$9{{jH+B~reZ+^oIQU7S};cwKFanr!U*jqsRgJCvdH`|b+aWJ6HfiVoa=OovQo7L zA!l@L;z7?jGCjM{*AuAh-AeOLr}SmvN{=wyLz%lpg^mLK;?Y7e5vsUIt+%br z#qZb5Q0bkDh##1YG!c;BVHiVFi?PQ35F-x|FuLsH4us3Y8a!8*K~EQsshq&ogGQx4 zzBFs#ig8}Rgv?*CH}Zjg{QTEFmx<%%3XEuIF5|Di!#d#5BEhH=zK#vE!iqhKoY1H+ zcoDlRHKIlM3>lmSGh3=S4b?ww#d}ELEr9Mp#CdL{!rdFoY4jS714fTI*uF`q-nhEcYa_N>kOvGbhINqUjs3eIu``h$kxYG)fpF!y8tuk}j5 z1R)|ZX992$MLR{M)*dZ-7D^y(ycEBQNU&s7S5Tk=**znYN;|CQfz{uCZzRSU13HU0 z6C-5P>bEC*7F;q`hR%pFXcDXF4@)!+Qj^0ANRFG~l`Nh=HZ&E7g(YbzvMjtw z9PO!BOJYw0AJhYrf;NzI)l}~<@ADJ_gq27iO5rhY zc&L~LzTYxu{mU8W;}!kp4?F#5eL>oFp{4CHMVGlchZWl9K^Lc>gKcKJX|Pa}GBGxwj2`&(oj z@VU3!rlH9Kl177W1&HoyqNjQ!VyW4*Nd5HecYj5u(Ez;kv`g z4qpgA3m|Y=an|Es-oc`Jkc*b@_~6g560mt;-0Hic#8qqux8lqq-zG%t%|x09V6cS( z_*#Ep7pPHCm0XAXU&hNr)8Sq7PhS3Y26Fw2S+OpKI_7 zQHeS5IHTEtV*3`qvFfKr$~@!q6Mty>pnxDGatz&dk?;e(q=eyc6NUF09GYnCfBF#~JOO-!O1VZ?O0JZRG8*3T0tkH$Q@$9-%7>TSdR$;4rAZI_?fOh~= zRnWpv0Zs5^zPxI*M2VW}HxQX@q2g^FLQ{Gr3l#g#+u~xgyujDC)|S6Hk6}kUul8|1 z!Qw5V9`mS+tbOURp@{4`B7UgPBs+&}nuKNzc>q4)nB# zU#-M!+KVg35gc9K-D!JaJ5>A85CFB#f+d9hM1AoSV5gS9NJMizt}f-F8K$+I#~HG< zy(I{U3%WyuZ;tNa#I1tx)jzs6ZRPNh2yain@Q&yh2gvKWtg5(c18KG)Y1fQ9pTmNb z5!ZEU0IyIcj*cr%PTSZQkv77r=ayl*eAYi^>6NQdZM<6wJNJe^?gLyf{{?Ym>`8X`?D9rn9(zU9 z_ccjqw`GxFe*N(`=g-ikEtef{m}y0qeXX0?d;qtndK+hJ&=tC6SSx0yr-M5BWO-UW z#h%BXZwW8BS}(Doi4B{3hi}OWvP3YFW!GH*I8ql-|IOHPyxiU8`O5Y8@!Ky*v=;`& znV`S5nXprxZD`vK53?5#+;Ib*>GB*)Z{lle_%ZSmI}5cZ0(ORNVH-nzghMsaEDY6C zI)JBZP00Qib;hNh1S|&v>ykbfGd)OKs0t5EWBJV;hfljJO}eDfZ@i^WkI#d1V%J2J3}_G81M{ffm-D~f{i71T(Dv#&b5>!*Uy>dLMg!w?((q{ zy*)f#L+JD32PRlJ$FJ87M7g$A&qzXG`T|U8F$QFq^Xl-_G>~ z`YPztpQS%NXFKrYL1(z@gr+e+Q%-s;%{Z%!q1__uJ;`Z_B7R&__CHS2L=ZGDp}<+7sCU%F^Z3B z(yISFzF=^#Wz(@8Y^<|b5Rqy4y1up)k*BMq@O8=-YTMXakMnDNh1d<8FvUOhoqDIQ zYu)1<_jq#8r4CL=u<_aHb6H?xV*EI-+NH;kuubn*zwxGmg#CZtxqH`gEXaQ^U_YYr@RKw?o5(d2DxTuv>G& zC4@F3!_2)D=qM$VAr1=B5YJ!)w`Q1HUP)+DZG$;D$Eut7kDL8vSB)I_%Ur2x5V2|h`mR-Ifr z4l5$1C*4zWK(8ejLM$PXhytz#qVADNSU*SXW{-kgP31%W-ku+cW-YQ|M1#_?kG&#b zGg%9%qqH$v^9)cNkE}`gN#}?Gwx-A@@wjqO-sQ2;^TWPET56@78k(u?3dv@t!i7`{ZGuMf4>`a}&H>cyiW!M&E{L&q zXwu(yy)(#=5U{FnjO@o8Rm3kFJ!GDbb{>P{w&jq&r5C1T+lO_a5DfoXW&{EKZSe&3ad z^_Wh^2umw~>P(fxc@7sNhZ+ZYiSa1h=v}s=Htl6n<0)xSnQ-nVc za2v?Xb$&Xe9L=-K%~|m|qFd%lrGpwiMZjsxqx4uB5rBDXndSUI+fNn#YwF9pOKm=8 zFW|bdNqCm=9iE59k-0_9JROPT_b(=@Cb91_BD24wkJKkEKWP&_Prf`)`;4GNToXWC zKfD8Z0v?Y?@Uc*_io;(_*jSs=lJCJZcU%jQeU=PrZfbg$?fEqDwH4s+`Ti7BHzk?6 z0M9yR;i^CgYM8<%LZ|d9o1wwxt|hJWAp^f`6u6lgs_a zBq&+8*=!p#Pc1h|A|{ihS}o>LG3ZS=5=i70gZlpVyuQd|)a`@1S4V-Gj1fl*UJM2B zYZ?)l7pw$gImZpr;OhPcOG-Vq!eyMsy*}#EVgOeb@y#nwg{>%{=W2`e?2KMMCp?(; zO4QgU)r1+LI_mKiynJFt)ROn1GV3`jtw>jvp;I-bQP6-IAw9hzR7u-Z#A|gk$%Ts- zs&e?sEVy-*MP}~i<5?`f5xFJGTaE&t(f02blM=aCF0v*eFWK&=62U>+t4=sLdFN4i{#E!IUZ?VU-*tQK1AnVRs7} z2!i2Em17giLr7HOj`(5s5VTNOD21BPgJUu|iHQ^O!p@32(a`DG&f@zOBFY-vyqOl| z&+O|lzUk7fc=Gyvi>b4v(kWq9)kQty+K62rJLU< z{dn{;$ew>wH*>L+50`kaasQ- zgD4L9#gR*yjr$~C#yJ;Tk&N{ZjWTIHQoO&PPBuy>HcH#pscY9^_Olu za14-VE>SI(9T5b7P~~5R(E7Do6_*>H1TJvuG$Ww#r+8rBPBA&A%l26|=^hxRmu8P0 ze3sl$PhD-!T6YI{K0^!xj~J=}h3ThJwuT`aVkBJyE6@%monq`^RNX4GR@|pNk|hHN z%8z*QPfPjBsSz}yGbE{LNkaI=Lka^Z ziCYu?l}H6)4IoIxU1kmUl>GJ*pJ#j43tfnW)OVli|F9gijeGy#8oBxm zs}Gg^^{j6mjt^@WS61=6t$VsmnJ1^tY9G5tmBYTr6aT_j+aX6z{IIENLn`eRB>m7Z zj=W=!m#lPaAOzP|XAkUV>kAz>n@_0v#zSJT<79p_@&i_fTC2;0mLj!xmD8y#LT^=-th6RXSC*1I#gg1Dn%N%cl6Mt}PT`cr%75;C#C zwhLoMD&>`4I7EqK+84XFss){tb*E@&*Tyz#yGV4vWjd~%zWESu_&8Ze>b%F#w3sSw z_}3-*#v7V>qr;%AgIK?BW#-IGhmR+>%tNAb;%AnPkP3WtZk`^j*0uWIS1LB~m1R{z zWY&^6{k@clqis6e39gA_Cc5;UH@1q@ajva4Am(V-w90S)ElTm#6@PGSn&@@|OPW;` z!b=yYF4xw(?SX^ehVpoxd?ul#y}Obx&N%q7Ns-?$7jXZuTMi$+NVM0|sa8~cUt>Ao z)5pZPh2Mflsl&!lS=|>I7zliX7}##mhbnc10&sIr7Oo6z(#{fWo3qk$i0ewR?6?|z zE5)_e_rGLz<^l`gCFEvA7tk~SPov&oa%OtA*z-;ZWz_7RhJeSHL^(M+$?qlPiCd6h z#)ms03heisWm*nafvk^`DCRSPsY0-Id?jKD>W|!PO!_9`x|k(LdCHe1ji>Hb0z@&; z*oO?@mxjrG?cRpPb;e-M>sf*JC34b6So1!h4&?`!)SfiH`~bLwnEOY*#Wrfc@x2DHuJF2qU;8h6?~lj!yM=zwEI{ocdTV)3I|B*( zoIm{l9?Us`)w=HBQrpJjipRWiMaAAPgp3=0r}`s;Nx~n~Dl}hCn03BZ4gAiZ;U%8G zc6|zeE(){SUCMg^O~IKBcP|YV2Z6P9j4Fc=z@Zf2=ARhr@<`n$7yT)=Crh_k|9nOk~prh?QBDFYT&C8gQt{zzA3@n|12aZCV>Uaq!qFQItS8*Jyov6^xip|a1vuJvI<2fC!+dJ~$3dvHcJzhPU&+E* zEQBUyZuPfmb|WZr_CA_i zrtue;^VCyUsF6=0)g(19Wkt|&D;IG<2OmwTpbdGb*ylLXa?U%QUdR-vxD_AHWz2}! z6YH+K7a!Ku4r?x&no~^# zT>CAtK0A2iMUZ7@x>mWUs`*Okvt~i;QKP`iOlh@QurMUFZ8|fu9R2y+LfI1!=qFD) z@10t$Rcon5Z$x(OKUix^8OwGh^PV+2oAC45lT)dtmOiK=Z{~tw`D(9-V=Uh6yW}Vb zax~E`N$Q`?3SRpc8xN>ee1EXUiis#>;ScB}oO2)@q3FVK6G_&;+84r|lmC8klW+XB z6#w<`{px-O1j=$+++8iM-^OAC45JZG2R6u&3-Yh@qPWPolL}2`TU4HK z%?~byW$61?1!?1P$zcaBkpm*;kKV-qU&GnXA8YyG?Ge{Dj8x)3=chb=P@HTY87K`_ za8^5}{*!k<`2ax%?aC7aD2hL9XV_A|4-y20U(HF3*vP%kB0pfR zm#(e0wE^KbtJ4!>|GL@5ik|vOHNJU}m22aZSLhqPPnGui_elS5ZCycfw-++TD@cFg z%iJqMv`so=T}75i&ZczJ)Zn&|{F&7ssq04;TiSQN{Q^Z+qzK`(it!>Ab@8%^#ltxO z{}`(XTs>tR+5$bEIlz#!BPPs-E5NBjvz~kGo7)Ur_^|Ib*~wGVksn=#Qv7tTCW_ps#5l_Dnf%EJ z#j8l^?A+>dbVQld+N$HVKc26$bL6zTvR`<@%m&}L@Kq=s1zzbBnrM3iK|S*0Y+b5K ztFG$dLYz=rK##Y$_R@eoi-7*et@eSL!p-Z)xd9T>@*iKuy&9cVV;d(&sml$Zf6%Dy z&`mYTV0AyR55awJkI0ri28B-ekYa$*ea0-^&+=l8*XD>Sz{(V#w*%RwzrSDe`YePB z*t3<7jV2Sc^&mxlJgXh(PnZ;CFENxHLX}PYL8e2W!O02t9gaR_@-H>qIHV3eu6H_y z&e3+8!$el*xx`PVdC|1euX(d%v~)|EtT-Y0P$B8{4I0i({gkxl>ZK{)2c=A5@ee;B zNIdS{|FwOn8S);&8Vq1(`hRQ}(y_MR7{Yv~7yJkyE&?w;djAylX{p~bve3dB^E*Cd zfKfGJUVNs6Q{dZcwsTmbnlzH6qFVsQ(bV}w>oLDsaz%kUhkMFzhOI3&27RJVkR*r4 z>->@K?dI(Buzr^S_s4$9cQLw^kO{G?@Sm$lT370_$417T-FZX_X9)t|sp z6d5h#uKzgtRVh&77&%zJT{hGDZXvx9QB3`p@o2)@bN8tnyOuyV7=wOX?CB zdm(CXeMD6dY)v7uunr|!02^;AYifj8Kqo=AO~#C75K(PiTQj*?!*#|O`*nblR6f7M0;8Km6SI8z*EP{c)L)r#2OG{bzhPZr&HVQ3H z!!WEj(<}7cSuV&`JOaFjWx>9w6^mtD?+`SJAR1l++jGbtimAB%xqCS9$oZ7g$A%{; zT69e!X@UnP*jM^1i`N0cv)80G#k26nHfkH;F`qGxAhwO*Kq7T0tV3jgVycMwOjA`D zU7CU485$)DVrhaw%g+#sHOd0U<`C=t%jnz0lKTJ_Cm|c^1W+!9%OKR>muDd(li0&Q z6l^pfC+d6+DHdoEEW$p|0fvi=5O4vvd{9@D$+DLo<)ud^2U1xWRS@h^M-><~A3?Kk zu@A1=55Nt$Kc6<>oG`w)%xF)W>FGz zWIy`y#idze7nN1MV>+~vfuE7a20HdOPNG@U#;5R#6W5aN#yDl*ywpfT!PO&G;KR0?BN&UEii`*Aw~?)q;WnN&XV|?PEALdY*P*>M=;{6BE+BPt4LuGGY*UY zNMdCpOEfr@|hN;w@1u z#1_(VMc_jyq9thD##k^Ul0C1~_9RY{s3Hg6yXnnY^(_{_e_oAAkpPzxofr>LAt616 ztRfG`VbKr?8HXBlnP-BX3#53YPpAfAZjy=3L~lD(9Qv0JL`wd_n3;)AVHk|LQ-b4; zRFLRiqcjffSxI-h8ozKJ7y6ib`ARYU%sYZE@Qp8N=X3SjmA+F`f{^d$mWoG(Q;c}J z{Vk5*ULo9&6n@|GOAk11~E0z53Hk^tiR6`a86Jr{Gl_%TIfM6gpiduR&8X+|rUy-R1 z&7wYFi2JZ&f+43OLr-rQqxo6*nJ?z;se2`;&Heu3$(RlC^HpP#JW-I^V1k z6cB9iix%K4l@G)aab=V6qaGg~P{#eS!#X4D27#8X*bRrO-q!BbW^O5}2+@WUVSk`=JbcQ?00etjVn6YCPaC+4 zK=mwn6yy9xW3sdI3{3P2#Zb7t))Qct&ZCp2+Q9m#@2*dr)_I6NFbdF+F12V#2r*zK zrGp9+bYQD-q=r+M3Nq9$b{SRFzkU$h0uh7urHTy!iyV6tZ<@|jttL@J&x!I=jJ+T% z07C9p6C_X;oqT>g89kKQd2p`KX8RC}afsCyZ=9neKGXF!uuy##Z^qagAg%-APVPNm zS+3F6tfE>6B{xjcL`f>KE8KZhPfJv&j=f$kLjyK2_dI)sx@j&jn`Zvpa)5YbfkAVA4W#r9uoWV= z@|K|mh+M?ZBJ|g^;iCUaWF1ybzsM-l?tz1Yf{}`|A5j_{B-s>BD{h(|#*#Fc5UD*Z zR*a1|%V$&!n<&(|^_ zf&u&|G4w2F82y!NJZ0I=Z)8c-eG58iM}J6W^rBY7tW}4LyY3OH!%}}>T8dWwhn%|Z z!Ym?GJQzme4e#mBpdn9w4|?lWCB@3d}G&-$)|u{K`KvUmb9L zuUsxao}rootpS(JxtxPF?2JkBgK(tX*Fqo`^&tSroq(tN!rf|aL4=|+BG90Ka#s@VbErA9i2F}35 zV~}4X(}Q=#jBoQYD^*YlbOf`ZW&{^l$U*0aO`eIC36&;wSVt-LX!8Zn{U46I(5l(mZr)%?mgfUO`3nFj! zAAJBNo|?aRHrSzfuz?SPJ=SH9xeVqZYP!giVl_XsyssQd+g_ABYoc46ye}Y%rO7Vj z@s&oH!;Ork%2-W93?#dHE9vmBjFb>-WW!Z(PQ~UgG#q6wk~V*+(@^HIooEy+cAQ?4 z;PWAG*RST;+txeGnPn*=2vlg%S1^#tJ3%s&iJhGDb&1=lntIP8_s+j-Ve3{Zhu6B& z>fTE;Sy-z2S&#OQe}MJ`6bprkoa33Pa_*9MGNZ=tqXsz%N7{&>Fjs` zn2>?nvA@vgY2=~*RAg8zRwl56xUJLPw@waXU+p|Gl6{UUhB3eQU%ncpVeA?K_~zj)?eLKdt{D#PA; zKkhHRRIyw^U1Bx7)m67cmvANGm!ZQ}SfPNR1i9PESeF8o`=v;D>u z4IaDcdW|ybw<<5u6|}zlRT%(=5hbOa@_`_>ILwn5O>^3EHZc2iM=`HYiSa=&iIg+c zVXeJNP;gA&;*dq%hGB)Eq~1Rrk9d=~RL16mg;Sv8xXPxQpmb!^otH_?13IlgqGDnF zx?sI_9uPH%g3X;+~DHN-O+;UtZ(3ok4c4 z9}%A~J6-H|Y@5#ZE(_e30&Otcx1km!EiVU4Z0&oL@oOwKbPYey37SvT3I8^~?-NX< zX0~8_`?+}84_-fOUC4MtKqqPdyaJy4Ta9PQ5Js;79O>=GFS~Jvh>NQuXqM-D%JZSB zNzpiygs-kwW73#Ku95q;OPDJL!*T?t*<8O#=aQ>TBp|E%kr~(b=?#;qmM8jGI&XW( z7s+uauN$pp>NZmiHb@rFW;Hq8t?Zw&@>Et<%n2wIUz{A&@CGA<)#M{FQrb2{ro;bVCl3o8~ z9xRc=Cy=QBJW|eFalqI3)OxgcI9=jg#!J;K0MK&h{>GkQ@-pESeh0SdzFQre!pmAa zb-toQd@RQcxPAxAwLo$`_aqY*O~2IykZ32C6=;eW4@K4#a^xjO9-+}W{wPwC1NX1u99z7JaBQA2xn`BFR20m?C4^O-D%RW7sQeTJoLIc3)@x8{5-u z0J!*}3b@?S(1|EpSkf%H!_MaWYLQ5KrH(P0vZh3_$?$Ma^f^r*^@y&+hk~32vruL` zJ)_VrZGGd|I;~p&?sy>F35hgIdd_*txr4S4@MAj2XO`Q~yb}rgi$V#n|8e8!7&5%n z!DNLr@=kV)wD5JkiAFl5_mUH^n}KclJqWAiq1zt8h%C3#^ur{r7pdn~NAFFVndC0- zUgAp<@k)at3S3%gz>Asx*wpH&wDjiax<@4*IlnTDyfIFg`~Z&LVFKk0I>jrRQ_ypB zy2NpbHx8>7w5B!pO|Q{AtG5fI<1XBFXe@MRuieSnfp$AqS!tcnfXRkKRIt&s3;fa2 zOVi}0KWl_}FFkIyN4fuk+9p0;rk<-!*|%-9@aR)<^IAD#pDn5 z^^njq|Kpz}KE&oY3tcK*T-(`mG#_L)LUM2Pu=zd~JPKP~5pq!ITptqRMLZ1V z<`$8AW(nD&Pr!VY`Zvd;hFo0?sd{DCD=hRur9!DXzS|VCoZ; z-!3I7Jc4QR{1n#p-ljFagkCqZQVizfLav2SdtRVysv2(;R^`2{if7%S5~z zqyVW|m;$`W6BKayF6YYUEEgsRDxGA|1~gcDKB3x3dJRxA?#dq;<_Pw&ya&#f;Lgv~ z;2Pv3vjV7fLMn6Z*=Rca}k z*+E~yrFTjxO9IKB!~Z#bG(nW&zkBMM3P z)@SmKCulCvz*rZ%-Oz$VhqNPpQ1tx`&1UV>ACo<4g|OYJWyyAOMY}P*oAjjbh*Djm z1YJ=(V89VA8()K5%e@eHXUp|%5Br*rD~bxBLRv1l;*B$IJh&zjkk4o82oH&q^%YUr zFns|W@B=eR#`wE2z{jm9cIL%ELINQ?IJ6DpBf3a6F@}g8j95(4!Vn=6W_a<~g`e-4 z(1cNl8G6VLgqE?*GUt-E;r3AHzqu9!Fj+iZzWK#D=(pi0T{A){)A=p;=g9>~AJ1i1pYEI`5!CJ0w(q{U|(B2Q6dXQ?*lxLBFL z6=@tIXoQ!TZy0?wtDztRr!SpS{4v|0!!nM4cNsvC5kiv2iB`Pth*0vb#Fx_&ib1V~ z5GWON^s0np&QhYI!F!^`Qp^&$S-^rxA^poR1qPc#ub3cl0DITpT%<@85i4Svf8|Hm zk%7BI%|sqaZIUFtX>87#LJ15rd)EY3wzs(NdT3P?T@rLKD#aB+V1v}f65ANz4ipcJ zI}CLAVXvZx=t^j4A;;ime)*)CKctw z9Zc_tTuAYY*z$z=q#FFn*c2k@Ns<#J0%|V2mSi`c?1fmzTeK`ipn zgv0+!?M-Y4A*e(o+IWs78mzEf93n9uSyr%^Jv?>LPgIR@AW^x6PXY?eE_lQe&QJM8 zF8Kb&((#Wl429>F5g}~7Bb;5R0xwXk1V<=aJUSTe8z(~$GL}GHN#l`=Ltg+^Y>PqF zZ;x%&rJnpdm!Tpb%wUKe2H&&tjhpxeW>iVSStxQeoXt#vLI`Ql9GU|yJm3Ww-brz<|m}z8NUu(&GSwW82nql<57M^`WV7l z)obA^B^te7}@4LqrAY z%v?};4G}rvBTgfx+};U7k$JuqzqhmowcGGJ9UYTMaf6bIRaE2|TqiyJA2rZ>7QHIt zf85iYaQ93!+#GVk8-=-aQQN|bMR1c=q$j_`y41rJoFvN2`Pmd;S*3xc?9j>O8*rAO z9Wm0mVQj&a6XND0{C$pW)H;#uay~`wO09boC_1q|FXf?NmP!_q7ivZokwoy6`2eb% zz%YuXrK9pu{&&cF3DeRrX`~#lYyb`SJLIkMATx_1WyvVT@+iC9zk-4FzC`5@MyEiF zV(#D-$iIWb+q*40is?;1UQMU|EUm(iqC>eMO@4tw>?Z#;1ucu5#ms=!9jRhh_yy!gDYl- zzY%0*g8IRswn+B2yM@8SQM%R!#yIMmJY(hCBqkORX)R`IGY3dH4r8gj2TIe_67B|y1d$1%pJ2}u+|uJd=T z@z9qM9yA8ZJQ5VS2S@cDOa!kN=wlT64aU{pGCBA`f zK;Tf$pS6vae!=2HPVWWW@Cm)TMXMUs$KFEw%^CT!93bL#2q&q8J)+Do%-rA}f!(-7 zD%=DccjG%6l0bvYi@itGL(BXzZ4Stw6=%>Q(7R?uo&ypoBUt~Uku?oTQIB@QYl*y# z&Q6=*D8zZ&4Gf};d3wnSJ|3bu+P|jQ)7Gnp9b!jKv*iZI?gIw?i3u$O`z@0NAvB!sE26@qQPM-vS76)8=E} zj6&PM_{we6biqqTS>|x}$hl4HQZ=-Irzrb0soCiOnwLuy(0L?qer2sYd>YyiSZmN^ zZDS;nDE%Sjz&}h^yMY9zEIiOTq*zaFA|vUzX~0n|)Rc9b9elh-hG45Q)WE%L(cl~? zc7hmgQ;faxVScs0s4y?zWvIklLw)9&LS`J1o$r_=sM&aH#EZq=hbyDi7WNtgJfl)L z_mcbnLY_PQEJ_&dkRA@{n0ML$jdF=uwPv+v_10O%bwLW&&WljS|FqnBhH4}cohreJ z2GXP4GA=WX3|U1dL^xsG`>_w{M$Fc=28M&GlQj>dq8h7og~<2QMag5DqNIub6%!&T zp;feG;c{v!FJc!{D@W$YGofEwR5Dak6G;S$?GtUAfJ6Rf4-Y}Q^t<+n6ZlnK(ZlQS zx_>f~GM!UIU1O+Cu(`U??e2b^8xm$T7P^qh0? zHriQ)Z081-)^qJA_@Szrpb!Sl1x3M%ewxtR=6W1JVM)e+KM~Bl^)e1BJ3Zw6bgny# zEagqL;DT)Ec^zP8LDu~;Y-xZSe<4?l??B}Emm%98t@`h z%%1_>*{i`^?wUJ<6Km`}VD%QD6Jjc5g!95s#p3^%T5&Vo#X! z#4%KiTkuGSu<2%gz5Se)pw(|;j%DQai$9KYgT_L);E}{i?*V(z$#ZEj*;v1$T?3m5RTN z!v|T0jB)l@5S;2tjK$8X7n&aa6+O@E6h0Pm4*DLgANTa-OrW(Bp1X&RFL=l#>* zXn(el6G|7QnBOF0`8^S0Tmo?!WMkdyI=6sa;O4KaCF)fywT%x}quwW5!!yet&vlz_ zspP6UPkV+vFXAH;Y$b%}2hhZdgXN8^HY$xYGq#(zFRi)$ll83zU+d%d(Y!0y^~zh@ z3i|wRReWw6gca@VUL@kPLhOJW`_PPWFxmlBiA?E0)mHz5fuqAKa$u`RRJZ;8Uc%MY z@Sn@-oU6N6dz<>k)y=L|RN0QIwApJvTNjUc%Ik|l_P=hg3n?}}QJZE*85|v!mNq_? z^{bm(YiIuL8{D1Ut2~{aoAFH0gHvXB$e|h1tOybwXUldHS<($TS2gfvzpA2CTXQ;M zNG%g%BuCBKF~N%degSRLX7y(wW%;;*`@%;pLW}l_j*51R4vY4Sj`vvv2dMTO&G`B~ zgKi=AVMoxTsc{rpa*g=LJri%uoSX>s&JLjO_!$&7Zvtd=r?^TV3q_{5yzBrYd+82$ z>ud$mv`1N8EgadYw0))q<8?U3eV(l@1zhac!u$46u8W2LH})u5I?VcQ)s(1_tH-MqkJefJ!`FV4i4J6g zo|aBgRoG1RV%ot!2b}Gv*yc#n*1gqgZg=_-)#x%DMb=ysKH#)x<}JrQU}Q16Y}(lL&1mp! ztM5bd`a;B3%RPxio_&c%$$xfJ+m@@nOC|m3BTt?rj|$i%kcN(|D!e zvt^kVIjYqi))R5cggA{$Dw;j!{9$t9eRahf2QIzvHR-lk*LyKV)wC;CMg3KioV58+ zOOIc9v%ql^qm`JDy*Pk6q+I?3d*GSOokz}HK(4n2nqB@cmL7egd7@a5tOWa$Xw+}A z%AQ@1P1(RrU*C-`{z-3a(vDq@P29lVZ&R1sj@nn-epGIE z61cUi`-e4yjJaW&WgNpR;n6MOkfG$}uz-+LJj3*|LP}n4*Z&~I&iY94!OI-}QJaDK zORT&OI7Cz+Qs;UvGUw#$ktPxHHJf3sJVO>`gnxOz9)k=#Okp3F@|w4Y(#7MgUGHCt znLh6|&Pb88%G(t9r>OZ!&PmPOgx>eG0iuiKcuX+Cr_U2mq>hGGdKJ@ibcvO z3Wv%_!A$3@|8$8TvTEyhwPY9dTykYz;t98x1kB5Ch+IW#Zu*XTU|xHM#bpba94+h_ z-{NX17hHI*P}cUd2}6q}Z+KgdO^QwiUO6mD4St3lG{s<;&+E3EYcP9hsZKV=08uY( zI$~f3nZ8yDAq6^ zt{}8o>+FJyew=ZsooI|_W!~c>ZROs8S?j54*^at1;Q&R*Qif%ymHKWT`?0u~1~r%S zSm4Os!LHU{$dm>*OWR)b!#v=;?Wj!mq+mYJI`6WLc1Bz*H!5{h`|zto(=6!|kMigE z9Ia7pcKhcgM5<pM6 z!Z*|~>$~z`#Qo^u>z-HLr2ayvTXK759WHtD+@G{JJy;q!ZuZYupy%k}doqpTI($3~ zA7dd+Qlx&CN>zxNc?OpGJ(FS9N4%TPT`GNCJ}?^}g3l&fbn^%w4l1xOIUn2`k1p|W z9pLQatAvt|BI&wYs&4<-Nws8dPTJ%lMzh__nQX82i<#|gWSmvFSONe(g&hG^Ylhki z7%^Nue2C4eX|J!;vxjUcnpVEz6C-$rxhicHlR59fR||izA%KV8WAh`OqSw1@!vE*5 zh@=Uyh{tzT6m!|BcoYdM1;U(7?x%*u1@Ol=rYiu|vvm(STFaDK;G*madfpI6;Jnza z9$5I;KVVO0qI}A4$2g?SmCp_Z5?w-^88toY2&-LvE=L->mbusye(mH4@ODa%dP-a! zdDv^e0xvC1jlsS46T+_dnr3ag@VUwem)Df=1^thqr|qpm*BY`s)H9XeGM#ZLC@{GQ$APEU zZVy(i+yd40myoLgdHk;rwzTYWU%o6bpy%Nv@>ktIFSh-pW1@eo64UISaAz4Yiw=EK zf*%tjT(}&H$F%vI%r}(_I<9MIpcE@4L=t!W5;hvDZeS_ zxs{p!cqTG%ZZy<{Zwli$o{1W)$RhTatU# z*}NJ@E?GIo6f47}(=N~F?6?}uzEk!NB|eWNK6lUax+snMn((8Q(r4GI9AungbKSJz z@QGonJsPo7xlKF-hk1>$O3gj^3xH8=gikLjq5pf}mo-$`-s9N3U<@3@8uGC2FJugN z=r&Py8ZKnREF-L7Q7PSPn*I~Qd)&h8qzJdi+pIK?)ztdUIn$=1oDn%$!;mPSL!;`n zcJwAvL)!qknWs}`1>a%Ftfr<{UT!O&F*2nbfr>7Jndkp@c+K}O2Lsto__9ocem!V? zWfBv!tSPyAxDK^*6%TkSksM=lznZnkQfh(Sk$iWpO@>_qaBC#AT7SKa>H@0^>06BU zxcLJQ?Q~{8=@6n`v)4lJf)QG_*D_7%m)++KnUSZ1cLK*|Sc|BphhMHYtUEfjOSg4K zbwTgvrd?@>@&;?9HAL_)h0;j)HVYKFhjEWYp*dF0X*hAO+7)>C4|k+SJP#GH!@#Rb z@hV~MPqe5>FATrZv|M=xBBGB2qI5Y6QHiEn7%}T@CtZj&ZSFXV2 z{SFLG_NxQ_KFaDw5(Q6A6{oTR{=DbUzCDlg!_?Evd@$^9-8PTcnY-^s{|9koB3 zj*hq744qC;=}%=om7Xt=BLyA>6@8J+Bws$KfUSyUqkuc70z&RJYGQ0xhqEUq+q}&5 zn6)xA)e)H43PK+)Q@{y)4H=AiJ9w` zQ3I=LzAf#c%*t)~kE%AHqQd9uo9bTBKm$!@fuf^wGnnSgo8+lVzFOw7cZjCpG{tv0 z5&CdH_VsfEN@tYv4$uM~>athDM4hzb!TlD2cc@=S9%gK!i8jSY#~Vdu4nkI&9mWAK z{{GK*C5yUMFumTw6UNGEMd~nM9UaI8?HqFFR8Q4Jd zL4&%nLpk9^6}%xQ9PI)1N?r3vz~U=`kNM%PghpLnO>{HisEvP_0dP8e-ARzFztaHL zlNUP=`A33A<*&>**1FnrF+Adw&1G4O*0r15K8xd;Nj=p+48;nXiV3{{?LkV*?CzQD z?j4Es_^nEmrd*{C+0T~lWq}IQL_TW8YQM*Lc9L(Tbw>cyw2ZS0z6{cyz%%Qomi<4` z?|O1)4?WQ84|mKH>J-|wnu=#f@3^vehc-U{Fx&GYG6||cRP)eXR1~fiN4k*;4PdLD zsrQi#&XLPToT+r^EYe}wX>N61PYdc}v$s3FCv`TD|8A{;$>|627#FsyNW1hXx|Ae7 zrOXrDLon0lvZx2Gz^Pc~1Nq;Bo1K?%rT&47q(`)5Utu|(%?C`5aHPcmnD7_>ZA<_3 zx)C{CZ_=O_gZ8grtCGL_)~3NMoS#ixcc?6xi8Z})a>ukb+2r&)vBa8jEx+<=u^^SR zKte4a6#d_(HWa(uv=emW+bopAue_bEqn}8PAGNfYuX8{>E;i52f!*x+-*Lv84f*b$ z9tXB?9jO&Ai8@WY6QAd-MB}B2H0M$*nifC2ajy#kQEHc?JS|txD~?y9Jdc~KyQ81y zq$*tQy9H47W}aUb9Zbt#iF(n9c(%7S|FAgMbY54Tk*2=n-b<&yzKg z_{fjSsN}Zqm2Z^qfXcVZ_wzUNck{RN_X)S$v}SD(bB?Jijls-2VA7fxn^#Xpp*vi zV=WX5AFCUyOn%yO0_I*xxFMM!h4u3_Iv<%0H+WjxeLf!6Ccn3(=N9Jc-~26w@V2~5 z=_h=LRIm433)^c;f?&=Jm@>1+gJ;Gz{As8h!|$`=TD2oNps7dC-U5_NA2%<=hz@i* zYco^S(9VMRKwx)6euiQ^zF?~XEid?)Xl->`B@v#?Z_UaXtAz-~TFuH&8gH&NFz0R# zSBa$9uc2Fy63T>(^DoFi-P$!ij<<%E?}eB&^(WxC^Xu%x&|LsjL$CFIuwQ2V!k0*h zEmqKRuloGar*ZFWZ>w5Rk9j`}G%c0dorxAnZBAYXn2Y1T8MwPb_@9U6IzsPNpQFjp zjVNWPDt_oTjQtA_{ou6;*Lz*Wu3(q-OFwxLP8|FiB6b75ztzZ%D0`^vFGOk+gyU|+ zZ~59)AB=OrVRHJBjm-5JU@0)GC-hJ9zjcMX%H4ACmqoAUS zdj}4T*2w9*f{>< zu9xTf!Nc+YqFJi-r{gGB)Fok1BjN%eOi;fsLrzdcc3w$t#*K-wy(%%pjXq6>qtL-Rw8LOGir}HU5RXL&L>c$zs9t;SZ%vE>woAS_MO;`SZX~I0%Px(tHDMdSZfOvUpT7F zZuq08k+x;s%{!2=6TuT+@O#;)jEXIFI9EYCYP@C zkj$$F-6CWbeb$bNhYMW8GSb-L!h$-CP52459|7A1t0hd34$>HzAsb>>f^>n*(!s$3 zs*#TH2|ssgMhM#}qr{7X1i^{UC*vp?`rMVpOOvIb9RUmcRBa zJ|*2|S(8SE6b^_rGETY3BrKH7zIKHA%vN(xPk6}MATGnOByqsX#o+u4T+FHpCU1>= zer3z8h-Q(eL({on7MGKtZv4=HcmQUTBYI|&8<)iYD4*gKenzAs4dD?|fn=bSL4UG{ zE-5yKf%1>0?;`+?cm#*W)s`tO9E9raz%WhW z9lIkpk4~uqm)ls<92$%#b^vAFCeypA>_BP&?lvT_)6@?{a7Ii7Nm&6M;FiQ#Epf`# zEU+F?RyLVsVSz}@^=#T)b%A(B@hPOZ!?1xECJa1}#>N5t2QfGvnR9@mz^X7$fhFi!tss&zzN*l?6DS((8vGA3-;w8ic{C$hq&708 zDdeA0Ec2y{bzti}e6&g@kcp3C{RFUQux2}yaT)0oB&{HMXx&047=?D3Vlm&fMG(k7 zfB_@=Gqu5DuwxikNd7*%VF$}stY_4L_gvLVDY#>p=MM~#Q zc11>)-HXE9=AX1CS^f~G7uGU%wu&H-76vkx2Zx6pgdP)Q*aTt+*cAR{nHabVYk)*c#)ZM3Cdw7AKu!5{C%$n z%0Se>)|DwGt}>;U0W}X!8h8YUb{sBxaReh1381sc7dM~DYMW=J=bQ69y* zIM!z1Hc^MApRW>Ch8Gu-r$~X8SVqs{gp{B0;2&LXvPhB*AA|sWamrw z2XE+-S`p4$_{k~Iu$3OTrtER=q?}?Abn`z&=CsVAxP*o8SQK)h325_4{s51j`DkzW zO*gTm*^WsL5qs05jP2HL8RiF(8t{?O>#8oep&OBMm4%#oV_k}O>5g~W^7k zuTdJeov~rG6N`&8V(R(NTnNvg{*1Z!v(QD-C(vp)!h1n(fXY-HdoA1cY($xqg`!lj zFe}x8n3;}`f*2L{?y}R^1ww@soXcJQUc8wE)zly=Mk44+MyN4yI<%hjJK-_{u`Jwq zaGd$b-`gm@=3t5+v%t{MEH{fBuzM7n(CmWXTN0t#URelh5-Hn(8pxqwhtauhL`$PL zKZfNyZoc9RzQ+N6XNIKBpX->?3@b=HTz?kVNK=di zF3L3qD~z~Z&=IzsW4$_!Z#;Iekm2hb;-^MEb-|3&#vP$`J%F(-LyHjOyFDR?9v^ka zb&wHg=q6-jvN#HGEcWqoFF41$%o$mCe`Nx8TeH)NmTyRo3DgrulT+>q8;wukrM7;6 zoJt=VnaDik8?Qo6{Xw+!9n3;s6~pO? z>h_`nCy9{VHV39>2b#T&WuxNpITBLEjIoE89B;z$I--$@zwtSut-~d@J3@Ov9I>dM z8u8X#U*14|rg|iLK7fr6HX7du6SxdwXqgEf_~`H00_MW{*6v7B`#Q-t`>dlO#~E6J z1B1VexyQt}1dO+qb}h00){)YgID%6b#Du2=D+Gb_sR0qt(YX*LW!J4?z*PYg#@xm6 z;5QaijaDX12fH8p=F23%*Uk_`Y*8<$Wo^7FV zKFkj%inX6Bc=VSMlxWkPRz`JkSus1_}KVcHgMO~2B{%0aX zRF>g4tbp#1?OFjemSGU=0R6Aed2mqGDLc^Be_uDvi|2w^+{1fV)tArP7Jo z@1G1xgJgy`!0P%fNxn5*>1YNdaJ(Ty%BwDF8M(StF+4U6} z2{@Ed3`WxN3qud~6B8+z0`@f;aS)sKZcf z1UY|;bLf7Jp}+okPZRWfEvc1ObCOx#K=^lZb&GFFoE98y(gnZ#!d2Bt-0_*W?WF;N zNpAr1vg1?xd40ChKhk>D^~4@jxw-?kq`Ttqi9z|Xraj84up7Y@(yJqCcjk%YMQ?2D^?i^=8vxN-t!`odNgKIy$M^330n<+ zYTh>5DdwaD6#a#g+-y6YVD`mI$VAU?p}#Nh9HF(*@|UdF{~FMT&$0?MLMS7rnYC1T zQlBG-TWh7S{?KAwo9N4&t3nWm=mI0Ld^*FH5(So9ZSLq38KH+yIYcp$Xg^0*9#^A? z{_#JoYCf#Co=*X7i0Pi+g7(fb`{5KZG>^}9_Qh?yKYHHz6zO#KChRuwS4uhMe5=rj z&km0{V}sUW&Ut=zu_MyU00qho{qImm=w@1R>tLjudi?YOKFaGog-svP0dJ8DPu1S; z-p4Pw7h+C5(@G)ak=K{!bQ@67Ik-s z`gA4qI|N=4N(l~Z+&n(N>+b9KgE)VcJ!7@5kA+HewJyJtb6?arG`hmvL)qyQ3qDUQaun@#n+M*8Ev($nc_a1z~5n^-r=J(&fnV!liAK>QDEX zOrW&#xJt^YF6ULzYy%k3u|EG%d2Q3x(>jbVVYJMZJ=oon%eznNg0=I?nx;% z?G^7<(4(a|AJ_1HTAiVxpUt#>bc(Zt1k~mJ=9Dk0sA^NoD4bX4%XAhsd$SK^P{-Y< z6dEnFG^bviFC&z3-uT_NYLU%FOtj52XdbA_XUDF$mb2xVq;iXDHkPtEa=s zEisO*&olSMT=XanW}PiO%IJv7X*^NQw4WZl&pg^vSgSK7G+nN5o`S=k9k6HU6xwi| zF%tGd^!2@RXlkpzWg9Q4na)&KoiW9aMxYJX$}D{Em%hGbi3OIQxTPho%B{Vrapk2` z-L3Gp0xa0HC%IuV&5m6Tvk8#5hw1{i=S5~l&~j3R5Y3Otgke&nMa`axq0W4}($aaT zSq9lJZ3GtiWpQh0^948m`*+A(&Y)(rD%@JfYP5un0Z1ctI$)~Mp#I;Kf-NQdq zBp)WpXkB_WDVgD#d{k;jK}cFb|i%uF#e#mvn4%#1O!+YmD| zGcz;CF*7s7%*^Ao>Mf~NQnz|nFKMk!tfOS-`7C^Fy1Q=2kBRnK z6PDI?oPshsl=0El_JS~qu>=Nr1fx`qRD z1>y6)Ki=@~_^k_X-ST41HCWiMG#k7iky-j5voxJigo6UD8aYonQl|h%V^VT)Cg8b- zcemD9%wOBYE63EUda|jM_B-#fJ%yGpeaE#fvDQd3#pOhJm+@U=u83Z5Sz9E`+hQz^ z*ReSIVx7n1@fwebUx1spNMY$bd>zLVu^(QZzcmR$VN9+ipPC0?g|98k#Wx{tMcyLka#5-+j@g>BJ^))BSc^0|(FG8hcT zb?%0>n7O0f)jFy(Fa+gIizS#W!<&ZkTGmlUmC$>CGZlaf-zzP%N8EI6lBJzxw&R{~ z;<6ZAK80qRy)uSd3VN59_{9FIKb|V}x~~2ech{^dbh2)>;x)~lI}Wd4150sJ4}PyNX9LIlIfNgSTo3)h8iK9spib896cJlajf?V57d^U`W#-a#+uV0xTDQHM zX6^BEDZHziCc|##%nC{&Ys33|pD8h+p&`578!0bCt*A1`CxBQg-Z3tie&(4Z{9j~-tJYn*C75U<)F?}SLn?MFpZL4JfSt2`^nvm= zjE1Anwu=+U)i|~9#cke9pQ3|l1^cz#3D;?uhM>sQ{h8O=3EbS>?ngDYIjgG0Rc2`R z>^)iGKDkY!6d|hQjCy*S)4DO5TDTO~o@SJ06kJv5 zE5uqMBQrBJxM~B1z1co&{Zv}Z#pFv9w*s|&DDFALhazt zO(<_-+WcRiwuaZzt5fay)7W=`;948N+3d2GRW=l^sp_w?{76;a--EGK%%pN^`Q^Q~55N<53ac5>t0?bq#>5t@G?(Hg<} zwAN~7J1?f)65UxjS_b9Px>$6XNUDl-vwLM_zBa@nYZj&yW^sday3I z`{eR5Y#_5Y+0bwZBz>yWNAhWHaHSO@u*qPVCtVvPF-~RdMkRG{vup4m-8}x;q+^nu z)Ph?zD!xe!IJlYxcyd#qO7RCy>=YOgG6;35oo%!>2jY)e`#6ZYc)SjtuQ~@8CkH;M zX;3PgMWQToj7f}^!VXvxWvS*1Ktqb18b+xu` zmpmdZbvkmLmxAb@tGs~{9>AfRcXBJZi zo0PL4+uNSueA%J--?~Zk$dRAQCK-@2>EsvPf1tPa5j~_CfwHL2z6P zv--^1eR&aZD!S91zB*c-?rTO-z?Knkb@)ID+bVXvh3?6Rmy@6*R=fD|uMOiI8>E}Q zrUYf`xAa-!p9zt@yjim}}G@%Ul%UjIsAM16zblYB{ zU+oXCSOTr~hN@}mn8LQtgGXPRz-&(svgLPsLyl1abXJVnX0cJaz+9LC4QV$=Te!p4 zFWq#%nSK+dFId%2sEr3DVIo`s=V>Qu8siEFUwd{ZtS$wON}sRu2!V znxDMSH&e#-{A^Rkv{zI5)pC`2eYwRAz1h!kGtTbCgmEq4K6(*23$W{c7Q|bqX2W0r zBU}awxG$gaRO~xjKpHB3?i^?DV7OB-X&IE{<7k%BX$)fs=(eg;$o~%2$NaoAZp4X~DMQxO!uG?&g9< z`dx<&Ozx3P0;`K&_Z_#EaPpgF;R;zk8{bFUsV+sO%8ozRl`oYSv&+Zsi*kq$y>%wdWVKWN2>Em0kk=5sM2Fkb`zHg5nQ zGtq}Xi~(uLO_m`?y8@?a24B3*@WR%sXClzwyX{Vq>8qOLs9@>MsS2HAnLl&MTi?Qf zvRi>P+X``ddzo=LJCx`Rx1-DZ_3}PmWQ6WUuDXWA3F`GAp|X35e;!v$i7st&3)B$l zj8m^fL?~89{{=Gt-x|^;$$GrtumCqF%l`pL&CSLBe^QE@^?#Pq{r`c8Gk^d7f6_+g z@0|aIq~jueXJHbzaBy@YW@Tpk@7?bl99;iHOSTd;84Z$9*R2tPAi1wEBQO?z-gpL) zhM`l!3C9~poRJ{H!JXaLuRFB!&e{e`nX(!5!hG&#Gxj$fgn5Vg8-;;~`T8ihL`>pm z>^RZ7Nz?4ue!So~`RDDp)AOQL?Z9i3Tg|y_FXlzFR zmhaEWXv(O$)4BJ@`p;M(TWSp7$2YkMhtd=_SX%UNKU-qzhiiY4q;9t;Y99Z+pnkPB zTn;46f|Q|l>eZ%E%Cz3sfnVPyU91;n^<sdjfm9mLthWrv)I;aWPo}p;YD0Y7HNInAu3{i5+bbX|%_J#})SHF|S6Q{hiU!U)a&T)9^f2FdW zHpAd^Prn@dc1B+)OVP9{3vNEmuLx{HMbvjp#M}#8l9%#dv?Xo%o5dI zINCkphiT97hM8GjcoCEPey9Qb#BbnCHC2+TH5~Lga0Swg+-N@&HoxR#)pEf8Fi$BE zRe-Vp+=*$JhtT{kPj)%&eqbWGGm81x9xz2DAD2&37!uK&CHLw{$pj^>Y^3_RWRsG0|9Ee3sT75P3MXN|FV6UB-ObPJn( zC|+M%>JrFw;c|D0Rnzu%HxB(tV^UTRKhq2>B%7qK&dI(fcGx(y=G3f^I!ZguyuTi% zia;fFjS4FheYsRyDJo?k%qG?Pwj8aP1Q5F-(mKaTt9KvjhqG!OvLrjUAODFCbzS|V zYzV;8OK2%mUz7XB8glnrFey=DU~jPFFn!e~GleW1%3Wdi*lpT3{*xzMj8KPg%P^)r zCDP@I?AT~wxre$gFM|5nWYZ>|Z%njydBldEQYHXxXzk>aE+YX2^f|# zVi4))wxC=c;BHOElSJ0o82;wp5dtpEs8JT*Ld|YOt3oDP3m%M7@R<@93Mi&^*H zJ;awpZ88D=1+Jnym$dYROiP9A@LUpI z!`2^$gnff1KSslQWQNg+;nGhg1R&BixCl}(>$x`c!_8BF2SRUsi{&q0r~^=hw}#n~ z?7y`JhQG>>mcU6N4p+jbPMdN|2Gy;Nc7MtWk+#~$HQ7rLPlS^kd7?jBU0ZawmH z8!hm|zEjr@OQDeb>Tx{<<^5V`ZZ$$rzb;Hk;!#{RG$rP_uVXf&xvnoUi(9jgA zvkJ_1T4tmSn|!(8yvcQ`+?Q&16u#l(pL}<3O@2!HAu1X>2~DLeU>cJUm)T26pLT^qD`S4eY;ShfFXuGwbm}TBiRHU*bq_T~9yR)MlBN z!i-*c?h%nyO|rp8vZ>A57U4iAPMUWq1W)hVWjt# zb&uf93eO{z(XQ8t4`HL6={sEw$UA?qQ zjSe~)S>b$@RtCRIW^uI|cKRtZdb>rdNkyPm22LaJYcZm&IjRdysZ?dOb5}IWcWw8Z zI{t$R97lDh%P%7wKv;HvzxR`YJDV_zaP9qd_EXq5{Dw*b%P#Yjkf6if>1y|K_x^kk ztNTpX`5eRXvJ(a80AtdhfoG+qX(AVsY^(j&H_5P*lRhdL0?$B$ zR_YC)E9kPsra<4$rulSX?xsBBQ+WUCmEf z8fAPkafU_hoDU@K$Jxmvx03VJ_NUC!T4n|&EIhB}RzIR##BThk*yp;Zj?8;$EmBRrtt@SN(g8c zCYbpP$IT79y8Z_@)YlWP54N=ZGGvC4GM*p9`Mm9p7>i$YcDBpb@nZdpqhDM!w8yj% zjLK}ma|Tg(Q8?(jr6FUvt#)vGt$uFk(3bAy1yfKY&N)o?#g!dtcTLNC&uTe&a1;3Y zFaDqc=xtZ0T%IQ~K8c|?9Zz64fs2EWoB5B0Tp0`QOM_lDdxmO@mwaCNAR)O$|2CWG z^Cs{0ilVgneyuy7CJ7P^=!<_R8F;D;Pi>shL}&6uMA@0w3ef`VnMAsL+`%99Ds&x) z-Mu9RNmR~Fc6`NQj{Fhrk@i%yYaSlxVaxGA{tRYg##2p0S$YzyD_)Nay!9gFeUmNE zEM`XOYVb!fQRns5rd7MPkC&$Dyy9r|3sUycyxDWrTQl44DxpLAv%Dv#Jl#&-LK&;j z0sij$+(Z6WJK*E>urU2^`24IdKfK;i&53RdX|$5kDv-My+_F07o?lT=Lw?klUojX^ z0=rHzUBGN4UH(rS)X5R>ej$hDOa&9~ z4AiL3Pp`pa_kJ?^3}dv}+NemJ{i>I9uNK}|95HV|$&BTpdVDDM!Vlc+tiQ=$A7AfW zKRUlPe>gwCeeZ|#5oh0kH}7M5+yWkJ@A3E5W$`f8{iec5?E~nQhQBp-;}1G*3W=W9 zQbtY2J#w4RY8%*SYO5)a+6_it>Cav1pUTD~9u_SI%k9jPH@`nI`RwIK`&`~7uT-g{ z<0NUZ&s}fW8x@JhBRd|C$Jtm?gUpJ^(HrC1VoL}q@AHg3Qd8sD;JeCSLjlWnjDJCa z@8#O9Mk~Qmhq9WkTN!M+1n((P% zM>y$zuZzO7rgK3IuYkAwL@qhd3vNe1gH5G5EF0N9}P7YTtkupl-!(n3DPYt0|4H zt`mKoqVuN>!|G_piUqo-sEdsPnOo#&S(*hD6Yrh9HC4Yo6)$IAs(knG#7=o?$|2F3 z+hzGmg?I)wmKMfb2%1aQ3w&B8ZHd(@1GKYpak^-8yxOCs37b*mu^t2GT*T=`=K9+! z?KDnid&eV*E_AmS!1#oq@|{~Lj}a}+=`MXgo-$K2%l|#@`(;Xl8Cz*{hFW@xcx61D zv#P46^t`9~neOrsPffSC+kvsG2_7@@$O>eq^=s^T^b3b!n|$Zh)UV^}wn-w!q0A~e zMHNE^?zdFb@>EePrX7I7#A&38<3d4b>;zu)W^I&%$?`@SD0cUb*RY!NXr@(x!BZ3Y z-CadqLe;Rl+vSl^v@o9O(#ntd$Z!|BnE2bJFxe)VM|n}?u4$RwgJ%^j{|1}kqw0k2 zwBnlWUwBYM1ACpi^WBvB=63zgpoEzM;SE7}-HkKFAM-*Av;699RbHloKV1waTm~Wc zoxr1H@@0b;aMr~=)VgQgtX)DQ`SJt4&gLG5o}FB0)2Ncjxt6ff^6A(>xGXEF{{GD= zavm}Cj^FG|;-9&z;EzCUTNll_3n9hPNn`|%$Ag%;>ljas(mm2(X#SN<-8mBr2BI3* zMs0b0&8eM1tTfWjsuG@ykGdAs!Gcs?yavG>EloT&VB4H?8HOMsXi4~na+w_n+2{EC zTM5(w$WUoj(H$MtuM7HIod~`S!|EMjpSFFQmuF}TLV74GMJ+Ey#q&gFiHg<%o|}Pt zon-A52gtr}jfD(MHS@}HMk`Avo7RRhgT^I~qxW`BNC?|{CaN})G9aee?$ADDC>~qx zAp>Cm>tL|>Au`O$eTe_Bu=1!Fvdr`D)pWpm{yJ50WB87CmxE?eRI_#$i!F%?cS${z zdVG<(tL5_C$y>p+R^MRFX#W!x)nIfKO%O<3bhHyGTtlp(V*)87L0b8BqGT6DU#9rIogOUGds}uI;g%= z_lN&ss|yZnJ=)TdDQWL2QCsjO`UMy+Z=C8#5?mG8uD=jcAI(P^^`Gz_jogdOO0&hP zceZ7I@Q`zNO4~cCXX<)sqaujkYB z=*I3GB>^`7Pi5tKH8Sd!)^3!cBN$pv*O;>)PUWf{U30f7`_z@cN$soFc`JbZd9N4Y zMR!iac!Pox5B~&6EA5YB{aHz)Dd&2qWeWR)+ z4d5Z(j<|j=DagcfqkAvOlCjM|s9Lz+ic`G>#UI$?A*zB3WhKj{(Mdv5$St+`zeSfGm~+iCl-!-hu|4S ztujjR{I2YX#q)-x5uc#pf?&z6V}pIBoZa>CazPuTt?Q(@WY&%rV)-;}pj5V+v6}!DEZ5=HRq7~V#=p7YG=C(o@vSlI?XlLq2nh!i=}+~ z=lZ^{=U!405V7X4^Fk@@IJ!I#>01@5yeN}kOLwUKq*QzYn^A@73$l9C@jqEAZtT%m zteH2q%S5acDLyW>;;r^tz5k(Ob6AMcbeHS8U!JuES)Dno@dC`}XnWqA9>P@%w@UxX zBMhMETY?U(fS1gJ9fO129JpeSU6N0=E^V7sJfe9 z)m(v35-K&QwX2ZC(=p6`K2o(HFcu+1(KSg;pUQ_ikk2~Ri-AH7GzS4Zay0U}i- zAD06(Qd}Ke0=)eXH{m;;!KyKKL>ZZa9gZ&dm)xe0pX@^@F6{_ayZybM!4d~%$z8w$ z_*>`g+xSjjeEmzZPmIVb<9d5Xu z-QrKcjjN$ZCb0vL9DyI{xlG(aesvW*szF%D$fa2Ui%wDvW+7QdR*38?+~u&-9}OnU zKotJ{D**014$qo{um#ZsR=H;s>z{z@LO~Mik3JVC$2_#)%Phu;MgKe#>bicGlTP52 zrOkPD=oBt*vcLe>HZ0VPd5GNYkpM4n5(VjX+=|c!r^!h=$Dlhx{lEI-H0#`Uno5^9MRw=;J&hWH4CwRi9RcU-YR4O2Gw6Vyc^i3`0 zhZk%a*^~O0t`0lz`BfcG@t3sK2v4rgk70qSaiT+tI)7Byn$4o)e^=pbEEUucL=p^H zClPlYJ~U-Iy<=(95O3x&D30%4zzK-t7hfmKOPN+%Zll(5{oz{ygGU-+OVWc3k#DtM z3m9+c+qCp5JLdaoYKR%I*Y_HN@~!eK2I%N%=P-V2vY0s8CskR_irKW?%Q(igZ4Vr$ zLY=B)!S>n#mN9?(e!*z^8q^H+9BxBbfW8k|;>s0R=7DZbCF}9Vt1T^YQ!N6V%BQ^; zXIjNysCiDx;;SYD?!vRve$UVo#<_{d1E3*ioXmQ$q#=er@WKE!g7RbZ9Qowqu^9Q>qu*%z>4@SD;)4@Bo_@m!`67-H zW0CjN%vH?T1UP5Q@SIQ|1;PJNRR!!a9y!lRK;r+}_JxGS=UQ6t1gbnrwtPb{;9#RMgY$Rs~5(Xss{PnkGGX^SI4;hr(?--|){D*wh%daFSm#_|C z+hAW|eYwE?f)gW$5QArtgUx~GAcHxBl>{JN_FsSvvJ?>rIoEeZ%G)W?t>2`EO=U#NcJDR(>@u)GpW+<&T2 zUF2%?{NKKvCh0e`oe;z2lP}TrGQt5aQX#~{$L8=4y@YVj3RA$0LE9`1+|OV~$th3& z4YZ-`oChd=su*6sF`7f?A;?y=HUQ2=lGxFoAWq(#IW!&_&iPRT*5_-Hh+qsG$sclT z62A<%U0Gs1h^KEuNnyH+xdl-a%wfOnSt8<5nXd~R@vx=;XyTBM5^H5SE5ZZr-*sV@ zS%#8?n-KF&vDpKRaR$cKC7M46+cbv0ZwNj(f2yLN4dI!P!%7^3 z@P;M255a;J)7ryGahw2m3{9n@Ukt&Ee%bE3N%8p(!oD*8YJ-+*Be6SorjTNvm&i=e89h9DvBKDS^^^C84IFtcp(#&`|og2># z$4i+>P-YUQI=vfR-w`HOpk2jJM9T7TvmB|HNENG4@v}P2z;#QRNm7FDc#rUhRZ*s< zwBn?SrMljTq$@u@3V=Icw*Gz7V&Q`zT#q#Hr~4W0jUPif*YhN; zRv_ndl=mf%A6x6y^Gq*POxT^_@3snbIe7ovc_!|;yK+6b*;p_Ot(=_HCc-vR5B`=q zZ@{-7HfzR}R*k&(z1)$0?D!C-p69lw!euUf9@(jW#mUA;%3u{F=gC{7b*8swwYlVB zH}63;?eQXK<~Za*)$g$*3?i^oryCl#EOiEDcIYm)>vp#3p0?`Zwd&e6>lQTWCO7I% zvegL{)qgFhay}&AUz9p>#%wAoS%5a}`GCZz{Lzx^*9wCP!OD@0Y6?Z!3~vGj0}jE# z87~Y$39xf9b1=!8*qS++GZQm2v$ApgkDZ;T-UwcE{f!@~shf60QXI=2oLc&>^~;w_ zzkdt){tkS--bE$!yBs1-k^7@V+zVEzo1j@ZL+p>KR|&7KM61bx*AHzS+O%LsxA0tn zQL$u6Ctaz{5YxH&WFvIA=?Sd*2)s2sykBH(W;vQpaI-q@kL_^Qllx(#QutFhc#De| z*qiF~&5K&&6!WOr)OZ zcG|;`iSoX5V^Df=7OfU+v9`a-Ls7RhGk696b<6Tax!B}q=(A(&BnW7-JX^$)tLsbR zms7Pr8fjYCUv!}WiC9ac&bd}uzI(KvaV`YsWJ7r#l=WMs_cJzr!VYy_`p!3H{k%RM z&mxB9*;Kd!ZJm`yHsr~e!qt*5_oGD zA!!w7vIk=E)*-qHwG7w5f9!C1gs4R3rV2+J971Mp}hS!bSoeGJ+&Lj!u#f z3BgPi${q3;4=ltwbE}gg+1i#2A~ngs2_F$0t1hcZb0*Y*&j4xJeXvKrON!)fIfYu2 z_-gc!USKZM-Du#T?BFlazY{HiIYH?7M)s8UAoZjIpvge@I~q};>sB^si{@)&Bo&^a zz+3WE2~V=gWbfc0Tv+9(XVqO$X)s70(BhoQoKoO2vs#mOSt18lA(<5C_oQCgR&*d{jtbWO~UgJAX_mlw50jxYDRs#O7XzNsJ9z%Kq1V2m>J@^R{7_%#6g zFEI>rNbiT7z9(t$`?|nuXU@vU!z1p0IX>j|(E)B_2yL1syMh1Y6Gr^sMgG61TiLK9 zI}N+#yVnQ$AM;(G6@TdXdLL|_{dd+afHtJLH0~ozJ)EjU`KL(#HdX>%n|Z=(Ce0OZ z*|+K$_$OW!X&Q#TXqC>_bz0P-qiff4ML_*yop#r8;>|YkbscTb1lQ6Hz9l$_R%Xbi zg@`YB`)_?hu57{Zh<5^mi(;txk1mPHRW}}_{Z(_{x+IuzEQ^}7NS=#))xvnnaDMdS zh~nN6;*qWFDYi$|lAjWk6tUZgNC`;mU=(7_I5!tj2i*|H6`%d^cS{e&i_rw48UQN- z8w5l1-SK72Y1i9-_B=Drq})mF&d2`mz7s}#?*^ZahJ5~b79nzw{ip|ne}j24bRbRq z!L2I2Q|eEt!arUlV@|?8jnNQJXh`;m{oW?*n3h>O@x#nnzU|;?HtdxbnfhpcRCQW4 zP3-2DW&FbgCrp&|!fS6f3^)*&wemidy+jcd^m!n<$NyN-dFbZNI;{RM?B9fXlK8eT zje6Wz(d>oPkEEyG%N6||8;Srfom+C?5Gu8>n=sdK8zHNs-sJ7OA(HoV1dq@7@VlLW zlEHMycC0E3E>>ineb*J5WWID+RcR)d#dShk>1@$tNj7)6!F@*S4S@T0!=!Z?jj{ls z{3u>OxC!=?@aUeoHIdo~Df&Q(sOPYoU5Of9Y-q03ZM?3-7)@pX)wP)X%UEVDvf4u% zco|4cj3QudGoBmTMimR}L%8nj3qr=pI2d+5Xvv5YhJ;NSnk5xXZ=1VUeK)G{x-2C#m_INV7EAnSpZ^0|Fy7`q{bUS zzf}RZP^Gt^hE^i(ynbb`c3#$R5B)SpfE8`br`#*+>d85p0rcELO;*sH>>Jnhlrsm|*n$M-%GbVTD zGEAJmZdBp@QMZJ1L&I#vVrMc(3^VPvCR+}7DGx~1$g1&972Bgxi(J$zX$-HzU3DlP zb8!Y;AfBf!18%ts6s4QdJpOAcc!ymq26` zei#!u%b+9Og+@|ezu|NEnF_j}xu@1=`ny~vi(KudoNb_9hxXOYpZqzzk!_}+>G(qK zdd3CxU00p>e1kK2*<%HAO-5OIf$CY6wpQ8saULQKfRf)qVZiANk51-g!E~fRWTNqv z=CLIK0;_L!uIew;0VDURpBRUANy4^?djVyG$1X13(%8VmFbZQ5+k*@u;Yl%hyhBn( zw)s@H3~cAdR*iv!KX&=|yi0rkEGC*EJ)(VK*Yeu3U#^zzg5&Z37lkL4&Yl+XPI|v99!}#K+ctxxnznKpy z0IKKv4kv>o0Hacl8<_c$Ph*Sap_bB(FtJDvutvhwG4>lx9em`~O#gHOX0bmycX29ENoD(&X_ zCc3G4{3xfUmP~cmMd4{`-1ZeKh=U+OeC~#R!ivt`XnA@g6X++~(xYSTIk`Wq?aU>> za(ikPwn}3^QO3W!_5cRm=F#;Q>`13%C4VcI9C#Y}#C6*ychlwp4$d(wl6(}Gdi1LFwo zK0exdalDaPyqRCh=16o(kuDS3eq-oBqO*8q@U2dIPObDf$@aAqMWWK7xT#A%CZ{;v z?0^ND8@GgL0X5Vx$x@Wj9IIaTlr=kT9WdDyDrRR;W9Kv zZm0R+f!A^X_YIyW<=5jy8hToap|@}HKU==to{3dKcr)4bBUr<={QLvXsov-bNONYN z&vVbZFQU7SlWI!-#mj@zZOsUOof%;;3&#KVF%tsPCx77YykqSy{R#vud|r%XPtIYDbI1<<{1+)$49PGFj0QQD_w44ZiT3;hPExr7#wSvl?y zX*Av3Mv?;IS6|zIex3j0N%trYsD4^7MOV3=Xh#2e)>$Gg>%)O3=NNq|UsJzE<{88`W6gUaP}+k%PZvew*(( zn?TIY1~a@dzjqGL(sEcD$XqswfO}0T6Qt0-xZa^jD3Ua!GPHe&_wD=`n2v2+wpwEp zlx>lSrho{>nJ1O9O6J?8M|49C-K|PsG_$}mz5hWkO;PP^3x=>{;k>|emuuTZ7ECOg z#4Si0hMUGe^L6h|LHAc;vuEz~O`+&VgM0n}WvBXECRT-@nc~O8m_bhTI2>b;Lq;!fh}wt0hjFwG1^xG>L8U`x&=+2d zq?S|-*;;}JLY1s@`z$Lh&5!}{oS^DvD&}+DP$6jof6im@woO+w022@CZAw~q=>L!DqPcp5{FA{{6T~;I1^LIYsFE+P%@*_L6Uk2Ni zxPqS=5-W*}12e6cG+!8<|0iL4^sN=)k(4ZBQ5bS9hNlVBq0*N9 z7ER6%n{DuwFKaMs0E#L#+#EPP)I`j;T8-1d>~xxPY95`5@d4=(!Nqz0Q1ly6~5IbA8@(CC&!-@f7Sva^QWe9Fp;o z0em_&i<5O$CtX9Mrig!T_XH$s*Yd|5|!2ZuD-2DEFH?Mm@Fu)Wk0$bM=B z{h!Es>DCMNVsvQjcX0skTUK zV3ddol_Ja}07Zqhld_)`4g3!Y~`zaL`=nVf1Xl?`tOihA4v#nf=Ik*Z~c#sP|b@wkW zM_rA%Y7{V}w)X^ENBQF6y4Q##!4_9)1Z0!;pt>`W)P1^Y>IDZOWo2a!oAfr|IJT5Y zRt-oiYLZ*$Qj36-@bLVxk!P5B;6@IRCnSRSC`%3TH&G_jgj^w_!J)Z@5d8LfICB0x z1n|_fV?d1hvHHphVNejpSz*piSI1vxw#gS2Wa$-P9rkr8E)U^g%+^G+gS$dNA8)|E z39R#^tyGT&U?Iq`ssp8)N& z(d)p`YpUeEXvR?x<0x*jNry}lp0A0)KMS77TPY##a>{3K>%nZUsH z@hKj)W2YGTv$(owBKb0T(i?+&X0?1u%xfg)t;i}?Ot>f7p64H3q55VbUG2T^->$t^ zudrYIkL(ccwWuF{=aXi7|DmK~`2dQ2-X%Cv@BOnO^x%C2pHg67yJ9YIEdZtw0QTuZ zDN1T(Q{>L0HPgC|vAeu`Ei?BOv*CGN@g2kbjyIvY*+Yl=1FB#Xc@IE1-B)~x(nA}vk`)?+`^o>FO$2eUtl{muU?`xA%%VnVywZJv99sov$iO9&d zY%$&O_nHS4Y@ANDAy}((@!9UQJE_b}X0u|{gdE8OdrALg&B5=T$*#V-om(0i`1Lcl z1Lj*h#=35Uco9zmCc=b&@Z7pXD6Es%WE+N&ZO`pjyZ~-7xVlcVE?W8myoT)M-i>CEv;zqz16Q&Idzt5(7nM%n zSWDQ6aA&viP0mLN3cp4p)erM~5|BCc%_Ne3^5FX#VQY^$_9X@rP&n>KaQ~GV8d|V; z8fYBA-1)g9yTi33Y2-I;fp3nlFUwk(Qc)zT;!iVS%z`5u7MebkfC)t5FLqq7wy_1M zu>_Eo<`q}|R3?05iDpF`JccU@jIpQ$-KK8z!VmeIQDA!03dLrPMfv9Bv43Z!>f$z{&w_8(-+uz-ZFDvX zwOwoKSu7;24NcER$b5a?uxlL|DF5`;WV zAPbb52O;CVqS=lJcl?B#%_6EcUJ6&vLfdwzqBo*~pYB|+UuH}t=V0PxmvDR*q$ttDzcnOMIT>0w~}brzWFhs(3-J*U&(HgEQzwY8I_qDCjuKiTbj#m+6w zTpdp|N^}a_mO;R}TqS!wUb{|X|9q}#W$VED&$EkGz({Rf%*Ok~OGgc_JFhOXu8wwj z;muhuw<`Yl#YD%su9D|7z4GRv<6KXx1@bm(4yAolL&)n09vn2#g8C&`F;>&0Fts?u zm3(ITLK1lS9`^7Y0Czr;15K?4jRB3J94JPs7J7}a3iu?R9osX$kTezRnFMkzgQRrp z=IN^iK8_9#HCIW7+njZ$8c(d-elcKHm*+BS(sk=yLwmCeGbo;!Iq>N(l|%x5+3!C9nPz7;A;E1( zU`nckP*S?E4uXw}9;*UT@y>u>I6&^ZI2LPZj>|j7YOyY+&vVo&S)=_Sffs8{AxZlk zW~4f#$?;9LoIN3Ojj)?e0DBV;VADmy^+1w90tS(a5zA&3ji(Urf_!t=r!1CimrTCf zaawa;3we2ZnRV0*@a}|fH$FbQ%^Mj1?s5h*iCCztw^Gl~T|p(%IQ!bMV!)xsYy9}S z;k;2c5QcBr|D^eTcLyO2-R4K;ha{BfgZTXIl3**_7aoN0Y_rwbLr8-PotHDv)S*4l z16(BXmdc?&peLe7BL#3WgwaB=G-S7Ou{qe}5u?k`W#9OOAZBpze@ zj(s$PtYw|KdjJMMb2g6`I#;?2hCF5G44}K?xj{VYZYB)j+_5-3REFSVmAVn|&qa$8 zwk5hKGiDl+9l{;=BOLo={5!UQl`Ft97o?cMIOYC38<{^#cnTnQOjy#ympZ|A$|D>) zcqB*d6oDk{YSHIZM9x|alEgP)EAz)=18TzZX`jIf4C%BWF-ZAC56CbHS1^wX0a@H{ zPg=X|yXSeXTDAr0lq7dL(gXa4Wb41nAK*PW9D;VcxtpdStsy;$f(O8Cl*DO3v7_er z{6CoLc?ycAF^;YFC4QZ@hMt?GR&YAdU-LerBEy9%&2pNv@*yiR5iyp{fp!b{a1~}t zaaKNZ7PV;cNE(Jd?RqTJk$&@N+Hie#FBQ*}8Cb+IDpd^|*-E@tK z%Bp*td9)=ol&Sc-iA)}*g*p5qw^F$t9d3V7kNer;or%BjJ0;9B3!a!nhp$^I>A90L z#1TG$$ba;epc0-J3{DSFRea$v7v2qN93eKT)b_f^z5Ru{E+ug!_IQQ44ZPEMPXzsQ zPuCmg6yF!S7u^VCqQnmyn2}9WuxZHZ65s4A5fB#46|9?GLmb6Qpqi(fSBXtWUF9qL zeZi`~?%UR^pYQ{H;0E3!bu8nsUy~zq+)!qj!-Wo^esTF^tq0_G_n`~b@3<{z(oiNo zqNozo@n)1XmT!XXSB`p?4oq+I-;(q9&1ezQ2}SD)KTSSz=|&#tzC!>q*56hWSdTeh zq8{FIFPsX(BT`JzP=lRsiSsT|M}1L5mf;tAH~bD(pZZ9ZGy`=KLg1No9{WveMfeze zs(x0Ts%7Q6?x%`8GQ$m^f^E?5Z6%f(HDLZrrGKv$OtfIEHB-t1r37*8$-_R)_^mk=z6MU)>E7NR4+H=ED|p^ zrUSK(B&NOe%hN51C%RXDW}yZ{th2w4&0NH~gE|sQq?XKCQpcEg;C+q*Bm+_dn6o!# z@>v8f3&4G)!13rg&|Yw{&^7qtgO!Tc3i0k);v3XAd-89OASIyviZ3M9&DTeIa<;s! znuv8mb<7RV(THQ$Xl`U#6hD))-olzPi`#9#_Q@?x3qdEyjO@gCQ-87UWJ%p6{QXn6 z^UQS94EB<51o@wPDuGeANw*o1qpTt0_jG=*?@YUehZY#wz>wLcmRr&_2jAJNLl+_0 zE!f3B*e5ztHMg2gj&SyEGSFH3}O`zs3k1EL>kb;C8I=fDKDP7kYIeqy7V zrt{V29quDDZo>5DVfpJGnp#U4#9VTM)1LMnKmL|pA&U>j$(}-(RexhFk#edB zCvVZlxE^`2Lq_oobH(w=lMVH)V^@Y z`OIH;*q+)*F7e5l z%*%%yr@%w@EkC8J^&Pu2!u~QpX||~nD#Pxi63)UvyBqFNx~gpOcUVpp)b30UQJ!Ve z)0f#Az~N6|0=yQV%c$&Q6Y51cVpc$B4P2#9)Z2&F>9g~x$TO~^p~>CMS20UlMavpi z=$a4P-ue(sQdg>VYd2BvP}3S&(*9*vPSdA!CxB*y`y%Jf`ntFK$tgMxr8;vdbus5} zrgyyL>_>9a0d{fu)(up}jfcrMmkk}V{{>G#u)izN!{vBKO~pI$8Co8>jjAwqvm)0< zwop^#p2z}R!5bobu>Y=)glIHfulo61)vJuc9{UXY3EoG)Vq36pPog)lA9QJBekL(Z>VE5Gx9*h z!QyCHWF>aq$7r`v#op6NgVf!ayIYhcya@gdr3_XG=>m19cvbvSY5xa*8YBiWh(Qcu z5Q7-}Pk;g*X|>pF3TIQ`l16yq4p+45z#{oQu}$x4*C9Jajcq zWSzL{d;=$>>+y8qHhUxP{kP&|bQ{i3yKqOm7pJv-IOX)lu&{MfPq|!p2v7RuVIUcduk*EA$qBdW%N*UCFLw4+tBe&>5%bJ)@~~8VB=U z`4i43A}82S)ypUW(Z5c5b(lX$S!9m%YUa^nN0Fvgj55h@w$cW0X~RlJ zJwT75Phm0nQHxPnwA6T{OEe2noMP27M#X8$=ULXzPJVJSIi^5+C*Ovp^&aRWA?(-xfMXZILIb|QEv zO%S^Ku*DLmB+7ngWM^k4$E{L+oVkjUS@I_PfE}(CSK7SZ&laBjEE!;3KfNJ{TUk8|uL6I43s#ZDl?rtI#OBzFMm9)i}u)w8F0=51*0Cam~2>|gOT zPH$}hX@+>AnYFSKvsPZxWM(_f`_0_EDM8L)>t|~&_j+X{u*Zad$e?#z4#>`+#%%P<@MUe=IcCkww z7Y1>dJ;a|=!mO?PnDpZ0CvrG^<-Y6H;ohsPKfw~R_waa>$KD~A40AI+p)b9j{XxC) zFLTug5xFUm_r#-r>N2uYF8xaS5Nb9#!^{v;)pW@$mh3P~(o)RXl&9r!EiaI_EAM!o zl9w#SiA{J}Y@}^?38<9iIm8BGIQr+t$?4XGYd)K%?`sH5)fL)Qmg~;V$>j#l1mgyy zXMla6eUM!kQuC5L@p-na%q(tjDakG5Fl4u|v_zyb5|GM&WzH66H-V&B(_1Jj4n*G< zBpIgTuwmEOyH#h{`1^-fs;VVDYcnpHokDP1#q?V#aBxurwPs!Jw~;&;EtX3VPC z`DEYz5Bd&&-16?@f9`v)`8%yd`D1YRP8BV%)lO>w3A7WDDJ z*o-)%C)-o0Jay0M>n|TWh&U%2RYFDeDr=VdOwKWqWAtAMq7MorftCZ zQ8o>KBukQ{K^YlCjXvXK$c<0FO)Ab)6>~NB}=uZXJuq%4zwA~nen#xfuph}W_>Gjo6~5^;yg1uDDC^`69$FZ zR=lANznPKRl-icMF;z(oGozL&f3P{5oSL)KDFV)2PVUS)%)Y?7wJ=RfYvOHuBj3i4 z@E7{Fd*1 z-sgGV_xqApMa*<`EzF!EWJ+UZYiYrMa_uQcHhaJ6g~u0KT6<;P=I1QW5v$M*E)G$< zpd2-uOf>a8=GDgL<_YW* zOU@0UWhlJot2aKJhC205lJ04%#b?k+I-|V{S zrXLJcKb|NzWGPPrpUj8oH=->h`o|c<=up3@MI`p9)zmUgyxcI|I4i=vDx!3HVp?lj z+VpDEP}8Rdo@qkU#4XWHxgW)j#g6A*%)K3bJN{PgkC8KR(@Y^Cx4;Bc@Ozp;YeIcZCz>$$9W?c*W`EX>?cO4xw$tasNn<%o zgc?q#z-a=>Wrn-khC7Cdg`sTMoXZCj28q*0)TkO$<0_}u#Vv`10cb3L&t;dRpadh; zm|TtwVoqOJjzZ=D;WfE+Y&oy)4)~(E+RcC|R1S-5Dh>HMP=<+M3l+hBqzqFKsPKR5 zFU#ihafX8=ax>*Sh^>nTSRGScHzYSBRS_Fa|?)C;;c zy>U;ueb&T4YFg0nuiM&h+VVKriwA6Q4DeupOkpV>q+DhsF_)V)iPa=jXF^UM!~n6P zPLDW~(adlrGp9G1A#44bjTam|F9rDa^G9&X-=-;6pFrtTlHM0)sMM19@beze= zJ%wgMJ_=}sW)wwmJMuHU_N#lVF?9A@)d$gv9(L=wd+;M8OGq{? zhiuxYo6V@`Dmr(UKE@&2!r;xpExIlGErENuZwB}hE~)d_dEo`>D*rm&Mt?8f;oISV zl-(!xMTepi6GilwFr6;9-~dO#l4-SuRj?9VSoJA>miKUfI=K7r;c!^B9|u~S=eQP7Nm9=?xc3HlpkNfc?(rBNJ(^!sd3#(gSM$(v|mSd;r?EPErz z(Y@#lo!wI%AVzWrnMs;Br+@%q48DM-3uqHzyj~%f(ZSR*--g>sSb;_z)Ye2u#=9Na=NK)SL3^+3*r56M)AC!wHl~NMK{XdDz3~h$TBL znGu9SBN5eXMjunB)nTn}Xz^QugR1Fl+zQUzW^Yj*Qd7^5dFB ze44e%7Hcjdz0+|%J|JA|ecOKc=&IPRZ{PiY@=afR`R--Ud&j%Cq5689Gg9Qirou2 zW@LtHip7l%9kwe|b#!kY47>u;v324ljAmYH?lb=qy@=mHZ{Q&_ga8>4W7f*I9X z)A)VHG!`eBBng$8v&1W8d;u_r={Wje;JvWvX;03y2-jzXvf#JZz zRD@7}nW+KaMx`IB94G-)u)2KmKk(~+)z(gQZ}sl3!rWp&H#_n9Gu-n^ZYfl>%+~|2CczZZV-&x~p?(mHp<-Qfb#YUq$Jk@)@%1QM<2{KT#r>YWz8}U9n~wO7CZ0+@ zZ+PDLy4l4u2BbG*pO|!+-M+XvZkdJdL3f(JZrRURCNq=JEM^v(nOcJWCAqkNcnfn2 zx*6Y;xFxx=csu%9a$Wt`iaWWTx*onq*lOKs+v(Wp+Rfc3e9wBH?IG9Wi619_T&!?| z!WrWqO=m1;l4lyzyje_6Vp`C|M%`rsWAY_AdXn9=p3&>Fs9^*VdD!oSmBwvT6yn+i+fLQ&1T+_lPoleS3W&0|SJ zQpm0+mofQA+aKw8dH-X-C_izqW%h3m{j@xPBWl>7ty{68r_|7V-JEaUTHczNfuGpc zH-Fo+{oS+oth(#!6gv|8Pk*!l=g4L9em)}ddezrSVY%PVew z;fL$L^WQH#@(eD2+Ai66)xvKqoVFzQZ~i!5i(*fH<@ZPX@7}-Ti7(!*ZoK0bd~EC0 z%ih`0x98XE=hu^dU>v>0EvCQy!ZQ!i-m9Lku*pGPJGX?x+%xQK(q?6oWH<6?k2ZM{ zR1rN4o&%>o<|H%3=or0Tr^8rA=p;e~q@g~YDEAkCi#*4%EVEdsHMv@;v-+e1 ztP>qFZ5>^i){)jvI>uVHJXhiWa=6ShEL_JLHRoG3Z}i@p}S#m27^Dm&oOC;rb?e&E)8{KV7>WPSkGug05|8C)m#aJ`ltQm@>9Yug^YEA)``kopnu_A*Ru;worBGYPW9I$bV7 z5CwmK1%0lG61)cQwP@A~E*x$TqF@Dos9D0AWsc=z3v2mdc-0Q7dtTp2$FRpotRktC z2{zz-7R=*FYp zC*;8%C=T#E&&>FZH&F7-bac~h-zVLFT_A~Fq=OHY@!9v=hCe(Dp&%;xB4y67Q_-9F zxG!N$xZ-+6%rYh?oCL2fiwtgamhdIIm@T`(I|4|;ep&Wo?C{4}zplc6aHQ;K9cEhg zI>Z`fw$*|(-s7-GDM4bV!$!M&Zao(b6E(EO2#*#UA$;7gLZPYeKhpc#&FhALcW?XU z#?XrD$4^zCJho#Hwf*F~JL_zU!)Mg3suo`z++O|7+m-5Hc6IG@4D9>-__>$R+^4Q^ z*_8sYP83*&)Mzfymdj|&78(^};2ZM2@_)&?b@Dn#ue{s-fb&J=#lUZ5!DF>K0zsB{ zqF&!!L7WowA%y`;7E;V=)UA4dLn({JjJ+wBixK>-?KV^swSrBv>1>tJ{~jcBZ<`q< zyfC$`1a(+AiaMjD)?=fpTW`1Hd2W*=ku!O!8{D2rmhn72y{Y$+oBBPGWn;0+WLmEp zp=Z#)?#w4Nm^BTA!`jk98io)%zb_~`<+vjel>GCN&k3i1H8dY7cJKUu@vsrQ-vtTQ zr5rM=6#@5`&7lhaC%Bj(ub>>mjJv{*fGhP@_z&TNX!nsJ*#<8s2L!KJBH^K}$7r;q zhB=#4=Jje4qQ+QdCK}{Pe(2t83rdGXFGctp3Nxi*AcgP;X<) zTf+769o1)kU48GF-z@ikqv^wRqw zeXn)71NE6uHV-c?`woObVcu3)<+?egPOzwKiIHijWg1nPhFXrqV>Hw;dNW2t9oy41 zbPV;xsSyZw$8am{NXj1q!@{LXsTQ&cgqWBfdH6#{{#yo(UB~*z zke5;}m(lApqL}f2`2rav0hbPx5ej4&81KrPtteSumpN?fZ- zQnP4{(%zIxTG2(?rk_w`RSJv?$RJ4$BXj`Otw}cN<8h0{cI~|CYjSGh`?swuOr4fm z`^5)^LMH6?#pV_`r<8OS8&hA=;gQqP+?s0Y27feFowg`{=?>?oZmu4PyJhVLw(E{y zDqekk)f}fp_*ez3kX`Xvw1GN`RK9|O+JyLx%_1in4(8e2nd6xkGHPHPW=`@PmiugzZ1|S@CLCC^Qy^IK?%()D10EKxYdXr;6m=Cb&B2+Qe0{@7*Y~y zG*h242qq4HtQ3kuVBJ|JnqX3L3a1E$;>lzJyWB!DlRChp5tA-}(d`6(yGySR@u;0g z&r-uYpye0~#fXK%!9p=&i39@_BLR9dKrs^7llvz+I7^+`CmmhX5d$v%)Nvjb)Dlxi zoEgK#$oLh&(M1|!8AUUt(+Qm}AqegS0~MQ1EZjnE1>zrJ zK`}u90FcPxXw(Xp7x=sAR4=f^I2zz_^ysJa+RgDeN?v~1r)ERAzR)moyf8Q6F&jbv zT=viAsPFQx+yW5zVAkqtsr|}$b^cAN*XD`G8^W8|a&26FZOOtEiT)L!#yuJvU<}`OU z-^2Zw8*1iE>^F=jn%OG^h_dIe5gWlkw2A8TVXDvQFvGC3v`ZTvtap1n5q+wjwWJ~< z%7lU@62~A7Sx`?x2DPPij%}9>OSX0!CK|DS#Wrf=Y#fQL4TR#<5h@fF{CCZ0Xq}Tl zQX-VViOT55noQm%A(O`wGfOw_7>hg*Kkz|5LjzASaEey7BoDQ#ixRLOhjB zC+m`|-js;NCDl3^g+sEH&ls|dISMB^40XPk)Mt?~Zpn@nL&VY1B|9qd8Nwx~8LKDkwcci|Ft=EHC94Xhc5eu!7A{R?O?WtB9g z{)+y4U%GPR>WOx{!h#=|+jq^{SAP6|(a)+U?oGteT`StuM4~BvYjxSwN#}m@>EXwI ze)9rP+8HeZeuy{tKCs8-==g$NjGohMWY|RWv55w{$qrA@ z?Buo`MJNIyG>0RV(bF1D;s||W#5YZbIwk-|Jsf#Ba*PSiA{=dSw8Cr}r!cX9SZ)f= z`3;z9%hS5%6)0yu{E(hdo(TAfS2E=K`^*WlcC2-E&gh$Qa>mdM&OT$0Uu&KNLkzez zs*y-Y@vD)hkdjj)mxq+8Y6OQAgBrDm6h)1KOlH++DWptMqc986SWKBZWs1>gz`1PJ z?^gtyJ%Y6edOL!`kwT<1(ib^@85xS`BNZIheDaK?GfvE4!!yu~%j1#KoTjBsxM|Py zWxw-eu9DAolWje6S2rany1{3xMu2}cdK$O-bg3VK-5+QJTRgQDKs8tn)aO~nM>!`( zxJWaX;nNwWVgt?!iomqN7X=o$fB2@Z{{qQSBmtEEk%iR%otMU5g7)HnbwEg&LIGb! zH3=B0zEBu>x^P{>JFGJsamS!RhLEfUFOR+ASyexIFhr{@36{L zHLN&7^Zfu^17Y8xSBCAGR6BO%|h#{oNYBU@Q zGX+LtSmqCYtBn0o%nHl_RK^wjoR)X}zpT3`8fcyy=v@PySi>H5S;qyjt}*r5vvg4z zvfxw)vFrr<-GF_6WdJ0_CQHxJ2hd= z+!_U+7tXjaGVY&2RMFj~>jwDC$;M&#A3cBc4mEzleD40V z5WfP=bWhKJFG365^Ygd3H+Wz0JYRUt^IG9O&wB-n6jDSr5)LUoHIfS{Dav|+8kMPg zQ$tD;YB-Q?200jymqA{ShxACM7V?gQ$6d&Kpq7Wv?)G`TZY&A{!xRe1lu-B=$W?DX z7YT>eKJ}nV@?uEUt9!IY)QB*73$rYRB`cmM?P;KY2?Nn5Ja`px@?_8o5?BQY)cR^; zbV$0E=a<#s>Y)SA1$KmN>*@l-MwZi*yzDTwq1s7q@p!B)9@*By2%Z*qW%T5LyTx5_ zwA3~m&|@JY?M%&tJb701x-iu7{+e!ku|A$2Z>FR!G*dE!T4}dhMFdq}rc0vK2wjx3 z7d?!B*y$r@mH3=OHC2Gx&taK$9qK_JqEo0RzW{2%_?-O6iNb=YYvga-+H>nRhw9?- zrf@gAZc!?bjDPVKM}IuG#WwWT#z-Hl`Eq|N30N57@R#qD>)d@5?|hvCUvC@C4L%($sey7 zO5?QMLEgfts)YzT5dl{~T>v$75n}BO)E{_L%YHD<5FK5FBhFX%a0ABg)8*|NN`{Aj zd&kyY!P2)-aPVZC9MjQ#>GfJlw0Ui5)W)>f+L*)0IJ8my*A=fJgTo4%*rI*{5PHfj}(n|tcVP@iAj?v zP_+=TNAXj>Q_ibJBh`2UL>7?P^d+%~{v$MLk*T0gb_#(RdV>Hkc5bVZXa_VB^i7^J zIWSo_`y9_&#_{#VcJ8usKRJ)KCoiwJ!>6M4#0I*PSYiH?BCg?n+dh83VZY3Otw$UA zUUV1FT`HJU4C_qkMNcdF4SLM5GD|l8X{?T&86c?ewUxpFEr0{oR`Of-SQ0}b7H9g$ z8gitCbCukc`J~p%8Q*``h!nEV&X=$!EGBD~QIIE#96XF%IvB|Ya~63qoNR(K%eXmb zmbrL}Gj{-CD2EuR<%W-x8CLIqtneT7m-XWLO?DuRR+&-Bc|tR3JXz@`JDXL8l64pf z=+5e<>Ic=+)jNOp?5BfY-Ttjx4?p|a_OF7cUS0i7^`+`c^exniE`9mX%-(&~r>jQ} z--YVXG_?4MyI}4>LAVU{Gxg|DZKXB`Q}NwNrF?F!XN|JP|Fu+S?p{BCztM9vc0Bc# z@|OR%F}*h_=TeE5cuR6}s*qchygAvK>&Y2kV35zB_RsRa?tM$q?MtCw#@=-QHuh%n zjnoG*y!( z>C^dU=Eiz+Ob%(egE{myX=Gj0L3bBE5ARsvF zD*T`O%T5PPH7C{yB26{nOXWN*;{S>7NzOI8#vvu>&}a`MUI8+Fo>%kIT#a9DXU!?xNdp80CP!se-<(NsXyMz>g)11tCVT z(S@VyYYRu0x0e|8Nfoz)t-$Jl+>Es5&gPTNY;%)9u_(}a5GWRfh|5W_=%hED6pPM1 zrDeyEm-&Z(?vUI;>aPs_OBneY4)bF;9J3$8!!iJ|qdT90YOU4llZSiBq7B(PWoz*P zuIVaGhVEr-D0m1`vkk#$D4vbxi>M(8r(C4I$V6j>aAOfMLd> zB?@qArO}_>cxC6KPax0I9jnhxvHQiJJ^%2XlWxG9FhbRJUxson;@oSyw;oAIBHOf=ViFb)_iK5q;brz=X#3XKwagBM6Wu4R+>T-Y z80*C%la>gf+u_6);73E&RAh{%`b<&=dY3Hey0{G}UdZc7_SD*L^fbQ11nhfv2UtAu z2IC6zP4W#Hu47>b0)1h+Y8&iKMvv6O6{MD8L869hp`zJKr3SCJ0po^X(9tk|kqw9q zdXRu4SN!XJ@n)9#))p9Y5+Tt>FxX1 zE!Rvf&f2`<*6&^O;M=0EEtp4tzxvL%mu_3sxS~Gz^ELO({m!pT-cX*@rc=RL93;*H z1!?X~T7(wiMS(@ZRcIAn6<8G%@@kvfuI|>|uk6!3uJ9NIf-X|iM?}KpQQi|}LRgjr zwSrG*b`fP5&24G3NnlpyFi(=rUpS@t1d(#CNa@JVbL z%~*nC{Gs=$Q6MccB)>>jWoZpJh=V~{2ze^}*@1Ehn`J9yKKZ;~CR|}6)XqI3C5-maO>>`r1#_Gq`6+SAk1k0yUCAe8-R$bm=Ef#X_~PuiE9OiVdwDUM z3K397-{Chy1X|c@FZ4+VMKm#;aFEYJ$^x9kezBl%MjJK?3~6AxTiV*>k(2Os0_Djb z46mp+^CrO{^8c5yF9DCEy3(y%Rb5+GcUSM#dsXjJt2aw6b<47UyJX1=@+R<(BdmbK z786S%cvzC43>e3d!I}_AAd8&^0%X327ujwg8I;5<$wY}KFJVaDI5>G8LIRpN6T$}p z$?u+9En8vU`@Yw9*S&SSs=9C0S^jhGIY*LI;%dChuDWY7euuye5yTGMjzb&9t?@eU zbc&VYfVhp_Dt=3U?p0|`uWw?RiTaCR(`9nP1-7N z4Q?%MEZ@NGRTg7AiG2x`t2u_w>EWInd zYkfcRt~PLe@gt?{%lk#P8rl`z9s5|G{RsaN;d+r-Ev|{J%C0W5+d^B4mzS79eo(m5 z%CI~oVNn|P6R%8`w85a${gE}nzJrA#o z5l*B1yPj3Shhx^0>z;akba#a3s!iYzWKakjvNY&u)o=Y1{6iv=tOBMHd=N@wO*L_iE9 zcLrRg#9ex65Sd~)QQ<#XSr+x==I+U2<7_%PcT-;WEMJV?Rx8yuWc^K6!x+&W2)J8l zC0XsrBNowZ5np{|bA5?Wg?dR4P@9Cq6aH)BDD@FG{;@E`h^C zE$w&C#^^UbQSxJRD+RLHff4&tSQ6Bk>n}-yNhiyz0L&)2?yf8>9U4m7sZ#|u9jMZ2 zIv{ZKj(dL%B*K*P{zajn+~!2KfSB$^w^DznTU;@S>$N*-Ma5H7dX1dX%k%;<9f&1= zI`&YvI&Y7U3LVqIuMB=gh6UAo}&!(PDKT|zXe@S^h^t|>`ZL0Sd zu3u>HTF>`}T}4H6#kFKETPPNnC?!`(Tda3xO1YI3HUxUL-cs-BUiO7N`gr~m#l5-x zMYb=uP2Q$6Vj__6Ev@&i4)$d@m#2V#l7)}xkLr&W*e2J;*aUnP^zV#cj^ zhiVqYhAaV>8VaQ2aMfa0sG5%}N*v`q2<5S~brDadR`h6Ev7kFCmTXYGR;|K+igYj# z;5dtLeI3k^jVKjx#qVq^X4f?N!qhH&g?bH};5fwiar{fL!2Pcf) zhvu2_tsxAN&JF#|vQ9Iu7620AK6{f5|G!vn;nsm)+rYJjb>mTdXCQ3=ztCvk))Ph4 z5-%=gFa`p>d4s+)x4Ssp3z#T>hcG50oawkWb3>JGRWVa06dU-XUN_uwEumU#1^iB| z^3~EMAB<0(@YUj3Uya4ocGOpcLa!&R#Gy)qpAPeGUU1donyXd?N0_6QF&l7#;YKr? zoY^eJ%@IfK14aH!M{F)fWSzoLe`!!;(rNtC({8 z{mzx>Lvx?+&Um#}CY7>(D8a4U(dW^=gV*3arVvi8ockdvcV@j_#p^_P$l+gi1IP?) z>RX<`GNWLwElgS{DM zLl9{KEb-V$f-V1lNz1@paM>zarj#)i#CWkMs9suh zyU24OMBu%THBA%Tn(7YQ@J;5+EnqLR-%KFsPIqU_1QN2&07eBGLpfr#TR;S3CPG=z zY_L&*{N);NHoy!=YMdWSdbetSmTDk-lXkLK^TY0svt#^-`yTc#e%$>8^@Q}O?K!G}o|76jk3+$< zYGD}8Y2mC`(8fi{gVC9&2oj?3C`oWNjCMh?CY(+RVu*N%!ZmBF9^_aqSajFj>)njo zxkyuxa=#F8xo^`yIz)VpYu_4z^q|*p;ItBR(Mb!46fiJ7g$wgjkq!Zyj9x){+%zj5 zd4Dh6Hom{28}A)vuAN)A>%;Bdbl9@yJ#OUN+}y({_T}QX+tCJ)1&`0&NDo^+O7Ya! zi7lsp8c@W7#13{Xqs`q)}l^G|7NHkm#y_pM8WGXV`IOf}syFh}mc1 z4kI*357RV;8QAtOAJcz!CAn4R!U}{T;Q6gv{*nII=I@vpI7jLsgpMF=AOCT37jn^- z27mtOE?T+dFV{)22Av+BTZI~Pzee%78+o*U{#}wqzIyHknjtfJl*}Y)h=)XaSVVX( z9G^y%Vqw!X8EL8QM{C(#Xc1Ei!k#1~S6)e7ET z7)?=fyQzC!^rm(n9D?_MJqZSOI|x#LFNn`}a%_8zCoP{R&U{V8rxe<$DBIFj>W~c) zUsN_C5!gEMM{?uB&y6S?B+KlbDpJX)N{&#KRFv;&W2xdyeFobJLnOE)mzyrm0+IYY zH;syThp6(YsWZ9UDdp$W5b_W*c3Z>uw$rW+oyeudYUB0C#S;?a%DFyCeX{+39_l{p zeHAX^@^vfq@j5Gp*I3qY%eCe4HQh#ie?*Y%yhg<@L#w6Btd~_*clC8&wq%R-I_qBX zZs~5TW25gbA04ajsMEtjJJr!sXvudxi%mP3k}-G@YjW0FlgV0BcSXT=6Ai}Gu*_(r z*(0-Zj|vNRE!Nt4b%(lJWs2&5ohq$<3ac!bajD1Xq4BgwAkjKs!S}7ftT3FcwJ?=O z`Qa4RZjs_hE+c zVk(c-ybW}n5e*eXk}$_IAL*jRXeLRCkm24 zb9!8h(_F<`(a0tgf&UM)o+~baOpnig?n&AxB(u zxm;^2qYBT6 zat8kX#=dg@t(%kkuZ_psx(kas@|!1GV#{)S=YDwCVh?ZYsXo;I02=BEv<=r*?Vu?7 z!h09aF;83Wr+id@61{y%b{vUXKn5rv4J;m+Qpr-fido<_g1KZMR2U*1kQ6c;Z-e7y zS@lyaExG}7J3WSo5A%4bP)fAw+i0G6dh2I$rmL55`kCC6@&aaikaeb=hXEnQ;7j21 z;2bzNYO$nK6l7a)n^YR;AAZg|ldz9F|9KLIWI3HOyCQ*RliKJAs?ma=;ALa z$3TM&V_ou;g|WOL`>@(b%Cce`w2jy%Z0tDR9JVo(O|faV67EjfPTP1JmLDg3Dz@R& z_g6PFMIgF=3jhU16+>gD4}7fd^w&sj62e^BfW}z)w8lg=6qM936;Q2mSipNRR@YF# z8VXYpE~GV+>zd)DpZ+vv84^u8wryMJn3tmUhTxyvMe|~aL>!Cr^a|?aQi3t2KXc77 zlWKQ5eV5j1IJ9{0BmeNTuiy9W!ACbcG&S66NA7%o`%Sg&U-`<;N+nCb{q&#y^{ofT zyStg=UtSed5+k$O*?(Wu{?c=YzZ>#k{k;Oy*#Op2IvpoK)|+}xV) zpc3$Zg#ETH7CP+S$ZoJ~;5PDGLtDfAb(TGracW$j3_Y)%*3MG@VG+B~O0-$s6yA{- zR)@oT)UoiruKV2+&I$D~^iBGy#4+?e^dkRa;P=A0@E^3dkjl{mt}U+nV)tp|iSr5G zsiE&&I7?~x9m8UYiclctOPF?s^>Ll1bVb*HNU-0CKCvLS>AY^!uZ_IwK#muEDUpwW zo$IMVV^m!=JV~qmEl+ zwXhrxQP&yKM+y^(JQHaM;iJ14>jyzEhiQ?nbWrV!<}-JjMTv-H#KMvpNWF5`mtRL{ za^L?bw=Ir3t%=0aol7qN+WxE8b#N~cNJSqDA`t&V540NVaNsQspMaC9g&adB z$8F-cVu8rX>6|GpA=o(w0_e=p&~$wURuj&EJbs!gUYI(za%D#m7;0Ir&@o*61p5ig zz3h1Lsp3?TH;Us$nkxEQy}3<)mQBLO+(SISibqov9ST0dGDLj_qOa$P<2%vIF+?qJRZ%I^~urAo7 zb^67=@qvfVzVn0I)?=}M8_d~|Gw;xSp}ckOe1Yq^rnq(a_QSijU$G zD@6Lfcjjv=!_LI$578_ABenI{zx1Pj1ImZ$4jY)ml!uBilM5(6EBLUcl^vK=DLZMJ z`7z#-K_Lj#r73LO(AbilA`%!nh7)4-D9Rd2IeEy~q9HhA63*s-iOj~w@oeM5%j68) z`O!(>8n$e;5^)3QpX5{Ec4&x@KL!HD>8VRFAmW8|>cbQ>A1h3Lg!zqTrdbk5UEwwU zFwao@Fb_ppSpIYD*V&^i17F4CsR75Pf$Tk=SQO6_x_GvjJz%!DvHM`iZjVL(7Chvp zPXm4!IyE$uTL4c$u)kzxf5Bt+Ad73R9qLeEm>TxH%vb_i7(>i(&1ZybG5A$d-#~{D z1H}^~q?qj>!y8%)9U(3tZgpSf+u^@b-5%r-BXYbb$QJKq+N33VNluKDLqG zC|*sE(fi%|0}s2uDSlIG2*<_4(u?%(=(F-$l1DhrBZ@!G)1%PBy@L>%!#u}-lJ!s} zpBH|r+f{Sz@ZRY?=zZ18dcC3l$s!iQ4n5$*ef_8#npccft{U9q4}}ms5&p-5FB_^k zd}z1tPTv6^<9o~Fe;J3c_z8h72?vB%1x67J0nbD@ESwcM;YqufrS=0|F>QvcWQY7` zhO#Sm&CZ;+BRl*O5#LLDU$n1@nXvh?c6Jm1(-B@>wcJ z_b!kMsXWn#c>~m1p7;_%Ii%P*B-mS!KqB^B_!<4dZ~(^NeD&*(2%k8KJ8)e!)d0U z>6cdp_A+~A%Ofl*=I_+uPc0o34vJq@zUn-j7Znc6w;ioJa&%a*Pez5$#nEJxZ!m%p zOGFPwf1iueQD-vcN4Y_4@RwR!Tux5lB?U7^16^_K05KYp#J5!&+J%FeHL5u#bzX=e=C*o_|hqFI_1lTsf;HXMjwbM!vuQ7 zpKS1N8se^K)QO*=6Pv$poY>XkJK}9xO!^)>FsB?pWhw|YTkCG;^~ZSf46)~80f5rC?C_Q4}_>dp9{)A*kr3Dif*?@ z6vk7?l>%Ry3+ufUJVuXPht{yVto4Jbr&74k`Yr%Xm{yA z>0pT|si4nGGO$vqQY$dy8_`CXn+BWR(BC!O57$w>Tw(?pdXPa7FiwMO`&b~- zL0WuO2EHEPJ9JLM9GM%g-2M!@mC})PWIrsv=19K4*v!~0>CEKD&MCQ3f08sXni~Uc zlN(jekyOzcWu~cwW?uu9R9B!_4rG&$DR4YK7;B};pX#sbG}cRFZ_Pjn4j4(jn!+Pv z^J`4aB_`r9pZBlbzIsdd@?<3(@vF#^PAw|8mpjS~*PC9SE~Hx1n^POZD7-itrdC(h zYSc1R*Qh0ydYBr_uMJaIf8;i5s9#+XMw>EQ!f5lBNOuSy9$HMTDGz99^+2W5p!+n4 z`(k^-XkGF0FtwrOa*bNuRl}I1>mBD9?mOi7GXuf`VzZqPV~> zcm9a0883H4@HF_hjnpnos+eGR2xz^4>H;bXC?+6>fLx5g8Jz=de^e;Y*Wh10zAF$I z;Ce`p<1cS>z;dmr56SHbD$_fznvWXEEhzisCkd_K)8G<`rU_}T;*x(C%c+^!uU+IU zbg_aEDF($Y+{62ojaN<|x@-9RIXlBy7)S2!s;3_9U)dJZOW~29EE(E;(Ffo-2TWmq`TACxTIs*&*% zo^;LQ)OeP$h_;a{Mz8tYmPMVanp!4a6D!9OSJC_S-2T-q%f@a$c;&M9Ki$4HRZ1?s zb5)1W$6^>m*|6sRGqzF+Mk+>xpQ;z5y|5>eBVnuL9oe+15{;57rzQ^7+@>|50i zte~brm&afrt#?#1d8D(lOmEW3HT1j+*T}=ND~#gK+r$N!pXX%UdDCzZ$Uv@_N7x4K zl`s%+;dctZv-q8%Iv|9tLi~c2PAcP!w6Wk7EEd5MCi%CpoMu|X1d1!CURb1@%9$h6 z*gQV9z%t(2f8heguaGVN#!LskC|uH+kq9`D2q2IMXpowoLo(F#C92gfq?2Kt4C`cA z$Fn(4WE$@L*Cc#^JMW)_&+_?dR})hZNYU(11C+$GFujdrl?c`?idCbvB2|a6HQ-1& z(&N>MDtov(RXts0avU104p&ED$fzPsP+OwT2IDZCfAM@vG&2yFTB6E8LT`zt8;sp3 zBr2IgZ%4G!kF-oDMP`YSpVO&G0W~R3Na(PH9MXt%Q2MFFN+1eTc}hq3L-fu6n3>K&)Z>d?hy05F`vDSl*G!GENsk4o-p`%rrQH8amA^^k#yk z2_Hxhxfv5n>|;FIta;Hio6*|cf8V=qB;>YBC1Y->*H|PmvHnu|#sP0_#a#E2ghzG6 zg5IJXxh(h3UVZ!W%^xzJocqoeO${fLnY6MFfAv3fRk36JT==R&ESYpm)y>Qj(}V_l zxd(4}%w1M0PVc_NUr$p>tehgGq=1buhfOD5ADyIA=x&t}u~sAcMTDd_5`X}fa5E&~ zCnw-&(WcI8A>8@xWRp41&NJuB#|dw0;5zcJ*LUl8VrUTGjkz8Q?-Nu`JREQVF3!0z zf3kfUE1Kyc<;+min`Ew}O=AYaay$n`k}vX&O(PtmlPz3la`ozFr?=Pa7=f-XZj%8{ z#6uhnUrJG$9_QUKy|;}poGFUQgpF{IjRq#M5$=JRncSm-m>}GSM^2gymrN|+7}L(i zzx~W~ecD`XYBEk>B8i5RBgu*6q2&3be??0UCTRmUNl@a87Il!e+HJP^lG!Fwq%{hG zUx-PQyFnIYz-Fr*lkD$Y!+OOf=gce}E}*o7_RM zH4xHTWZu_6cEhGnl+5FAb{vFo6m*@@(`pifv9iJxa(;ghQ-Mj_#F+{+#oJ^oHlZPh zhM@NOd5zID;%{wS_zSj?!P|PYHTSPNPzFg?Yp(LZ@}?O~u=XuXBN!%vyR~j|<6&+( zG)bs(W^5Z2n`+iqcIBFdf9i?gRl-rbBa#X`Vqp}uhX9|Ud5aCJ9&ECOCVf7og=+}q z69$D^cqK#v6BGyWBw)g7`Vl@rTnm;YeeEBhv23oVCx=OC{G~(Nx0dx_$oXMiE%+`` z+5z%$Yp!Qbd;i)u&MiwM7TNeMsV)CVfA$MGolqO1oD{{%Sdw-zfA21!wOo+Ej{wx7=5W8_Sb(wQm5P!pbzY706?084@3kAe>fu`rKQ3iCLn z0J0e_P=I0#Bwe_mAZLtCOa5RgOTGvUlV>qnNmCU}r>;(dRyw<=bU>EPbx-EECq&ss zSb_QN5s4#3&vQ)>e>0n#nwq+_z}dtJFJL(g!O`VXGgc9#+|!O)tVX*y1>ye>h!08= z)(QDbjz^qday=3|SUV<3wLmSnL)qcn5!*bc;hM(yfY?($d9R6;&19t87A7e<&L@Hlb`mTO6+`e^D%# zIakHLFMeP8-;%{I`jl8C7F$j)b8uFt!)*)75l7S><2Epx*bSC#%0}l#Hy3b3BGK3e zdOjw%*r^iwM+zflD)=6KLPqi(n2#hbkdbBl)lGCoT&;Qm){tQzOar1BaObZ?GZYH7 z>Lpx7U=`r0e`&1JE-v6=1!ing9Ef(h+-@Zh3q}J443#o*i58<0Af-&AGgIuXL_7Pb zB4x!gDyhXh8ltrr#-=4idk~_bXhqD8*bMEE6h)P~D9YbJZyIY<`NvkP#9`_W1XRgd zlE-EGyo^rEXJvXso`Ur^zyF|$)L^WJY8YBk$zqWze<+2+B(2plSU}^2i2_|1uGSjp z)?@l(A2Y+F#vs!iquX`L7}O{LzvR&9f_g1b0K6vvQwGxy6OPi;LqdD)^VJIMW;O7d z+SDlvf(-Y;XQy}`!VAa7MqznwtQk&EjZ$U~x`NrpgRQby7TcHj9WgNBWgR3u_o%gI zg~nNPf0&JEHW2c1#92cN!fTsB_g186Oa|XKSrW}M2NIVG`j||Xgw_T!(#0|di!O%V zJHgt5XnGPp%kyqxjkV9$j70N)YGYB?CFBPpX#MX8WI<1(`>(jE_l-BMj+c^wrE`7h zPac4;Z>tk2miyly{dvDjf0jKFTGQyl;$P1F+Z}q*E+v!5>-M*! z>*h{xtEwoObXxuT<;=2!D?`o%$fzY4?K%DrW8VTNM^)x~PE~hTb@ijF`dL-|s-EuZ z>gwlAza~8y>7I~e@|Yn5Bw;2nWQ2eLqL~DFO317$fhd}}%BqOh$#t)S%W9sG0TziG zf4O)ykb713%I}AI?=K)|1|mNeQJBd+=T!HkgY2%8RGrgRr>d*Fzw@2%@&CRL@hCt1 z=T2EKh(sMC>-n5E$h7R9gxf&EZJ-k?2rX2^?}={YY>RVFEc6jj#O%3WKSpp8)~69$ zVR5!q;KiAUyo(441`9#i(xO?^l#fnef6HixzN34I#O5PTJ`9imfN5DoOlfY|*tjG@1R=Wl&>#`=$;xEwrVoHCENsWh6dWTO^cb;v2SxIuiyMZz+iOTS z{;BZ~+f6{n_}A~wl2O^7-j(f9e=FOg@R4R5k6Jk}I6%e?5E2?7Bs4JO!|yiKzHX?! zW(~D(fI5F^%6RM$hi@~KC6{N(<=I|>Qk)b5r?`-kQ|)C}=<&z^g!>A*u(s&)Q-M7`Jp9*~Qre-*1R8&C(= zZ)oB%#SL)XhV2`6Z=g49v<>!1TF$}r=d33Br-)a{@o^;B%^$~q?L~4?;=7>RngrMq zbwbFJ_F1CKEV>Dr{pj}S?heMvtlzMak$MJ2G8aUZxWv^gQS7tiShjb7yc!^{28Ph* z`28`{Nj}<(O(XbluW2J8f1S6;+1}pKAuKoGgG24Pg*xw&vqM8;qpc|=F75^NEQ(#yariO9Qhc8eW zo){gQr8c2;aJMuIf4AI2MB+u<)7#kAaN2D8+n{0m*C79g$)ecC-h)LeMB5J0m2~nh zEs;t(<6-FLyWCo*9bzXK$3^oH-)M3hnH8m?9Iy^zDm}KXM;hcbYyT|E9ognUL@5ym zMwzTv1QFG1S|dKhCed1&h!2Bdg6Db9;$f!4SaE?UU4|oDe?0lE<&AgwKlX*St9Qf$ zF0S^Gg?{hSc#yM%^o`Ys|0~s)drt z(9#X?>aXNXf59B_KPLe6pAi2m)0R&DS0((fn@Hw8W>OB84lBWvY3 zBV2?H5JO`tLf84h@C*}P9KaU;6doP`5pr>a+$chB5iy9J(I6tc(H7MWQ&=P&lQkNc zBXal(1B9t$H<3bmh(6g^pHMzfFASye3B)rF-!OhOLz?%ATXQ&ITT>=p+KNo0TD7X zLJma8$q4zN1gXFWXLE-l9`w>Voc!7tW(CcanPWFAs7@% z>SRZ3!kDO-X2|T{Zie(oGHtVHG93&hf9=VSgZX!${}`iYS|Lje&r!-O>qK%Y z#dHZSI;oK)a6Fg9f<&hw^4~Q>qB-1o@Vux|hHL-Z7uRl618zspvW2DIW|^}L4BvLE z!;Pn|Z)Fc3YtP)dAFkclf7iktSHxsufaKS~+ji~v^g?7j5J7Wua0^`jtyKz{nG{+W ze@@d+pqa^o2$k=cn_(n~nm}73P@4LvfT8_P#e!!WK8ZU`FFt4?!z@9KbqE?TS6~w= zXExNEUQolX-rLzX;Dj%dvTZ3p`b z&y*iN9C$qNWB3#MiO8?)HqY-kxXQjFe{hBW9(ccfFaN6$6Kj^L76O-a6Gvqhu`M!937c6RN- z^yO<0j$FFwkTbgaP|ULWvQ48;V_ZM5pe=UpI9_Tm9{m@f&?R62KDzX}@Or4@eWFO5}Yih(JY!0XynR4C;AZf(k=4+W8$p706b!Yw7##KZ0vV z)QRX6UOd_qZ=r6n-O1hQzSDDi;1=nYFgrfhD(qwr3t~NlHa~WyIZRg?_RRxBl@BZ^`1C4Lo_1wa*_y6ea`zHW(?#~Nr=qC{^>Yz?t-a(7TQW9NK z;xf3wt`_WV^2$J^4KLy9UX=uwsMv4RmKzBtR~HfEDxJ=HEN+|fq*;iff9XJCP(gFo z#%v6+6WRgc>i{C^MLZixkaL8EUjQLLEET=r#G;JveHHe>tV(>G`lDpIsHMYhl`Y`yMs9PkI&BUE!28-?0f5An2HSHF#9A*|O zC{`I4t5s6YRJT@TN-8Y6(5`H+sj$aUP(M(pfOvv2+dTpqTaDn(ZH&7x%lz)KZEi#8TZk$LI$S}%b0SIM%zXqVWqr~#1~dgGe`4dKo`fdZj4_Xcahr68 zNUYIm4meII+$6H&p$ulpp$w+mPzKYi!Yk2@0uA#-RZt~;Bu_Q-Q~Cd%-k-O0E8X!% zW=VFP&{Uf7b(vM!QGP@ji;l!MWj1HG3)d*u#J6Ye5_TxNqdVfev-c>U&wic%vhwxl zm*Zc}d?Wivf8g87qv7vnp9p*(J;6)aGuijD88v^ic5`~4_bcA7_>Sk9%e}CRbsJGe zZ`lMw5+9Ax3B`c;V6@hTnuU^gNyH~zdEe@L{ulK9s6LVEtNy*dr7^kxA8%fI6@B2n z>qkpre@zn{btJBDTldyaUx%8ihLiI}_&p>seE$be950*Re(D&a#58=V6TO=uJlGZs ziaHUebtwj0CW}rDKh~DSV{I8ahPfTV(8P!VB1VMn7}4y>Kq$~sK*ok}38WC2y4UI3 z_1!wHry0pfBW8FKYw~kQkN+z<8v7iD3tjaIe|)yx~>kSqWW^cIWnS86`)1JMR4na6FSFe8Zb!n-E4zR8?+T-8JGcLG8T)ea7vw4 ze<`2}NE1G;o>Hyqgz@dgcsf&;-FbS)&Q{{Vopa-2D_$IQH~@Ddi4?KL!vRSqWF~QG z=Pc_zauc04RZuf?GxXQmaSv^6GPvmbzQ8Uzbn_j(t18LF6@HID-|clRyJ#W1vPRXI#CodPqkie`Yd3^u%lTe?(EJ0F`c()<(ZbLq#u(}f;*W-MfrSW(%FX8ii55www+~Ubv;T=}E%?hnr5ki<@ zn#Te06Ta0{Fh%ivxumdeqMPX+ z+~|6_)LOMqnC%IS_8!NZaN@*xLpVX=99xlNhCL_eD37PmbkuWcM_uxbIX9&q5*|oe zIfhGf#zc9tJXN;w7&Mu!t5*#eC-FHriEPz5EZ z9$MR;KsXm1QTgUEcKci$e~ypUi%9l8d=8>62G*T^o0Or$%HZjaBymV`=8*Q8bUA!3 zm!q9BZp_RXH@@?NtZ}H@%EeGn?XC*Qn#DZBX(OfzqK%1(@i4R*Y#89uUVuqk!?3+r zV2u*zL3xjPM|ekkFKrnggF8uLxY4FO181liddBfJ*R+3HnGQ{de;@4nN@6DOB*{{C zkSM9qrlXiBCO?;ZDEUy%IzEO4doiubb$eQ_!zNd!&=xXba~bO_^Xk!U8O9Su zosPA$odVBHez#b&FSuBq5f?KO%k8kkq~4kMj+&0AZo6vbMm4tii$8t(mi61>{-7%! z4}asD6<2(8;n(^6L!YV*mqo$jqz^1S_oW-xw4!r-;vf86z8lvCi~{a?7WzT)cX zzWNnAz8d7+IGeri+#jia%MU<^N_V2(BTWzDd=UbIa5#xE%IWt)tCw`WWQp{)F?8NG zGQx|$L1HKKI@lZ^@L4e29Y7meBj-<@EY6*1t&T6ZV_na4H92TvSIOSr(GOu?G!g9D z9T`iO#Pu`je}E1?1pPPo;A$TvZ`VWwjNaQ3f>xr|SczfDO4e7a*EFTs$di(l)!X*F zdcBcwhhd4tyfo%djgKD}P6{W++t?LE452503q8Pqv%VQ_rl>~bLGeNP8UHhZS@|`Y znTf!?3S8%0=i2Pt?D{v!YLonuF3|zMBr7z;J6~u&f2950t*52CDGJ)0Rs7I_7yQ2= z(%yBx(9eJadt-AdT9ymN$iWB|0T5a&)}(L53#Ysg7xg{pJ?=f_{jJyLod`d=x2@F7 zo1yIEq_jM)lm{B~r%nGVI&~VNg&7bz(X7ow>cnDYby;WWS(SOy>?5Qf6bw~C0iutb}%?z^t^s%6wK&-TQcbtG}5V;az5Xqz@N~;QW zf2;|qI$nPc>XwS5H`b@Fimg(u3hP~mwd?r0sHP`a9S$&2cDd@%BJ3<&(e!da)6kNK zKaZPpa1KYD1RJ`+L7dKO63)OEpal|$rAJnh9?yt(+DlEL-9ayH)|@s86p?4@hr2J7 z712_MV-QJJ8B$t~q@Kr5z9=nXxKAj|e~V#W2?Ie436U@$=1o#Xn&{VulTwhlGmz5A zIoy$1)_E9d*e2AcY|4@yVTEmSMdBkF$L$^0(f#Vt7X`+`9@6 zj5V?!Ut8ZqKQRBx84^tR!>MIs_fNqG2TCER%|A3XQX8U}OL{2{dr=WB&mme?f2rSh z=B%^>#bYD&MMbo!Xrt)=cL-px%-oqXjUrl^is$W*JrZXRv37e`99`$|5!1TQYZHlX zD|&1cIf6KbN;)dO&&llh|0Zz0`0`1C#I82&p3AvW=}MWFN#gu!7hVlN>aY4_pOUb5 zadA=gBqdc=l|Fl&>+|4p8GXtce|EKfIk!SuA+J_$V86~jX#cOu*FrO0-vN)X-?D#G z{-*Ls==igb_})lqyqyw ze~Y9g4#VF$Z=F? znbquIa-}|;9yab{ri3Z+^V)ss`;4i=*MtY~VC^a43GIpWGll20=hDB@ew98|hykmG zvH2}QyT<7Dw9TjnFBUEqN354I8>P#Py^ejtebQceZ{j}fzSLA9c&~j=@ZJ>dvX8;r zgxf?5nmy1rax@x4)9(m|oz9-y)oe;yQe_#| z&LoYr&oI)6Bs9I7wfk7sjwB=5pX4+j$7zXVvRjgUk|Z0cge(O)G*dbBJ3Ix?py?Kc zXO6@mFXC4Ma3i@0t*e3%i>WH0@IeT2Xb76l(o^t8f1m*te!I!1o9JPa$+Sa#pTCYn zTHv9h$H8?*0!NGao1x-}4EM|MY54{DH;6xeFn)uFEJG zs?jtKe;UV)QwC#9Wad>MNKvqnw92W1| ziHpqsoT(Y&{IrB$VDuc@W*ltik-s@VEzVABrtBj*-LRz)F&4~KQn)k_R;6&Do)>eJ z2(ApY*!XaB_HeMS;l@v19rB;gT50kaG~?(rf8`dVaVyA?wLHcHo0fKvNT>4ow3Ob( zgp(vet;uKFoTv2~CTNrKxZo68;7|OxBI$vCcyv|N$DaCuPp`xH6~@Bz#w!c|rY*b_ zS<;UfkR=+9<>vngzk6?g(2X-o28D#rKmQhducmsVl%~0Ec>fR7>iJ_dwYu!W94Q0< zfBieek(OAR9a5_^#YvTvB@fW;irBi9_X^Y!43Y);sAw{#V$sY-JKy3JW=7h3Ju5i4 z&$Z9JPrNsEZ{%^7O)v2NM+Dfx;qr6cY>AQv5f9=>U>=t(ib_f4~nGt5hhoz@dQMZ*Bc#+S= zgqRr18JrO;_Hjbr2K%PkNM9Sxnncfi#}c>%e~?>?uvkb{B+dc~_%lQckx0Ez=&QFG zV6oWBvWq$3adVG9)8D1gTn+{TdZkk398PB$2{sHPrz+J-xvF{g1&SgRt4J^oe>fw% zRw&fV`L_&1FOQ&ad{-4#tyV^p875iPeATMv4Cs1y+372n zo#@w>?9O0W*JQ_%VoKs@XN9STF;mUi?aMasVHl2~-=tW;KL`>ML=mt2g}jQ-TJkWT zk47V$6A8VKZ4baeL7Ro{BdQE#e|!t4P;JTw<=@I@WeYxl*M0dZss_q{fgd|uE$E1! z906rmev0}5sDnOg_(=TZUNe#O+ZYEup4~C`cDs1_c(%Q;;|v@E5rN0ESZE_^ndd{Y z+Cs@w-&K^(2&c#Kw|<&@^`828aU2~H$V=g_GpNU~LchEJUboP{>%c57oH2JZLZ4ZkLS2HA#RGdf93yEa64Z0gv z>}zIl66zZ6^nT) zI$YNY3nYg%R|Lf#3xvFe7tvQmSGp zPy*6@mYBJAMIrjs%f6a#2#c}k`<09$eB&?59q)Xv$iF8Y|ZKWqWmpz02HHs(4+YGS9 zccS(zi1CSLIG$5DF5(OliL6>9{yM<$OsFjhN!zNm)2uaTCMo+63 z6ZHsR2?iAzf6FSNeH{D^cNROiC%HE{n%mW|ud{Eq)An5~4&sSqU*vHx&WuW_`!?rb zG1tgZIk{Z<4u%|(WS%>RPmk|7J^%JN&IK~xf*B6apU$?*q_!)LupM#(&gv^JruF@g zL<6`3vlVj|WbG03+m+fH!%?I$MD$r!J-jVqM&Mxje{a=V`*7ufXb-lIcpR*x_d+u* zy%Rp_&*$U6IVm!1R~BZpv}BhTK36+%>C&Oz?sz@TMF*1u3&;4lECkDl?DdGgVxa{8 zVx&EGhYP6}Qrz8m{}cDzw>+0A2l$J|W~d{vLc%FHabD6l;EydLYWoRk#)cs07)!lUQ@C-taxE4rImYsxLrqx4ql zcIpxOUCKt!Qdb|Lpo9JwS_go76TjDC_^Rbest-K@daJkR%p#s7ZR`=sLDLwgMKa{GmzL^E1(#rY($nv#@2R_n3>5F{gl1j!d9hSi{HEr3z1sO-q(R*wh$j=X#1(flpdytOu-=RheA&!ZK=EGnhPoT%SwJ7l;_a3k$dws@%*XU}Rc7$)BK!qVtw8WNI)WU<7WnT7kmw{-5f0$t16z2P&&FDN0YZDK@o8u_-0o@(jFXQmjHK zR#6Z)p~wh|1mseLVkyyO24vbcpw7P%igmRq*5yK9(1%cLD+sHDWbv1d$+qGsj?}3A zH8@#=U99V9l-<*nGNP*9MIDVYdlHHfjp+%|mCFWcN>WnkOfa9Bg?h7`e}7)`12Dov zzPqA}0wPDG>!wplc}6*)P>OZMOO?i*wgiuhYm68 zk8ZmDn$M^G^@|tk%Mw0G)e4{N>k4XulU_A{VB5thL~_mhsnMaIJhOAnn)g<2>W#u= z5_-AXRn&2`AbiIcU6MJz3F~PjcAY)|0&wYhp4ja1k?0{m*#~_7e*j};S&5CrX@(Cr{z+qGASL9&Puc@jYw1z z?IxsY$s)BPxTRJEx73Q@CRb^)QaK-Av?k%#T?4+Tf4PeZ0ER>uxnPon7Rfj|n}ilk zJI^{P9A88^4+mS3e?=GsI%gW&8~vX8g%Q~}AR9*)g^mW8|2(*8F)H>`$_FE^=>s1Y zXAQyYmd)@-);e&2ezFeoyU{`V<96BU`cwRsmrbgk1I6+4k-$#?8-2;#7+z(u$>coMEWe+~OLT*HDtJ;`=lBm525 z2;j{p1@jsKTn{!`uC!bN7{DWb8v{Bhf?m)7gJ2!F0&E5!1KYuEU^jTKdF|G1BkR{+ zHG2D9OZq22f0@orY)KBSat7Qmu^VKv#GOD1#u^k}%!?Gpqke94+yckaCA`jyM> zzOz>P#EqW7Wg975-$fhIzpkq{MU_o=-nePgjd#-5cX94ap^)mj9u$9lvR*uSio~uK zi$&oSc2Lz(S2&5gof{bki)Jf4Z;t=K;J+G=z5!pNf2&$4m-JTaZMDHx+dj{H;PnUF z51wZN7rxd$aR2uE(ZA^a|BQVJl-tIcCJF#A@C0uX1b6`8O@btNvw3tk`&4)9aO+k} z)_ugbWLrMuGl~z{Q5-pO#&+T)cJk(VG84xWJMs~Ga!q<|@2pzcB!1THuH)>^ftF#ayva5J0|I%!9YlNo5Dx{ww#$u;hZzA&Aokq}QgqQslU6o{2`*PS)W09mTKz8lQT-)7sh407L9uQbQiq={rm$T* z7rgD+-}w=Ud(~(pgF2E{FSRH8K!0!t@XPlZ8r<&t%5yRM7Y^JvxASkBg>Ek5WnGzk zf2ip+8cebpPExM7Pn>ZvrHE`cB+~2CkE5&U>w{}{R=x5FS&Urz1@SELTg(CN{di|? zOBB2#f_K7TO9*TZ91P%ZGvI9x*z7*&#viqVyX@c*6F6Z4r}W@~-Qpti9BRf3~@>q}~A&THV4&UZ8-UU}(YlNER;@Tev4; zfo=2`e)hJhk(;01y#0woH8}2@;9!ps?_mszqMA(jS3A=vFB0GKwzYe#K{yCsQfZYU+tw{ z;oL%@-8)}EvXxO?OIonkmJ8AnBK!;aoQT+;E?jC6l@@^ni6CpNrI82n*17N<6Cck; zw)c|KO*icq)3vZE+*l{g-<}HUJkj!+-R*V9Cc?El-#B@uT*5C#61(^8e-KjBor*s_ z*Wfo#8|iAREr-hU`?4b^9{l2d^3o-&pd2MiaC|z{awxt48fVy^qr^6+n z17ZAszWnl6dhg@Mrj=>%e=70Yi%*|Yc7d<#CO-Yk-hCMCMNv6UtRem$_QHGVC(5Vb zku8^gMZBargliGsgL)WMK1RF>t-*wibOICjDf}t?HJrqsCcg&73<&tPm?)!>BHtv? z;#m{%;Y$P#F-lujCB7uvQE-KFUP4P;Tp$L*&_r}G2l1+sJPf|9f3#xbP1zB;op{gu zZ(j|PFF+%S*gzfi?g;G5osivXG3GaWD20;R~eU&_5 zI|8G?-RgP&d#HU6e?0$5^*p1VUk}fJO>GC%_TcVDuswsJD3ZW1%|6X(Y!2IxeWp|2 zn>@V%Y}m1H`uH?HJ)PwFd@}6!-fukv1A~U~3Jb|({a`+|L#P*rn)N!9%r(6`w0R+1 zLb%;@681!bBx*BJdM~AO!AG-f)c(K&rf_xh-5Uzq z#}kg)nw`okf4*oWETjXaR?q;R!S!a7HKaN1O*I8O>oS_Wyhn_rCl~Txo9cajVph$*w(Adt`gKn2Na! zpsyS4y_(0MX70kC?{x1N|MX#Sc<_rL*tUrWnNP)n+s z`sz{jB!5&<&~+9TY`t@`1hut@j;V!tq_U+|3e&3k$`VNO=+PD~^gJUOsmXIW3=ar9 z)LfsgfBz9p;z*O8a(R^^i{*+1Cx0+@Xq?Xk?Y@8*w6fut&tJ+2l*J70uT9V?W3UbZ zNvak$hn?fCpBqB$GNqV!K@M84R&QeA$s6U(qiJ3B4dv`rx@G)&ms|5#tk(AN8PYAK zU7U+@M{^8+-}W*|^cwZ9U|LDpg2 zTo=rD=ezrk?>w+?$3|W_xNqn7HLb=RQf+WYbB1EYn{LV`9Bwxtv!#-360_L8`LWzV zf4iW?`pRuD%Q6I*g=&6%9d8 zYZ0pEuBaX6vc7_^YWxAe)r{*yexG1=vTV>@s4$wNCeiLq@VuB}`l_LaX(O*q zlxm(&b98hlrG(={F^6)0ZT5xdf9c%HAyMW8co|y!b!^1#e+2W2AKQ9zB+xsY;K}bfg!egrZ-STDB6aI*| zUGc9KkL^cTo$9bqg~SV`T@S9yb~A2^o3p`?8S&@Co`}b!XXKRfYrQ|8Obwjs)TyCc zzIvc@Xfg&}lH~+H+mijotU&oef74s5mt4e)7Z2R_jazGWmbcqO9y4z8c~f-l@K*eV zE&B`R-V4c@T4cp_rXKv>Jq@8U9N;qsUsg=Uk=u1&FGHN6MR8FX*Zc;`^#EN!qQ5rm zli0JJb$V<@piiC1W@&@L`yl=CL*UTPV`rM6SuW2D$8yI2eT+U9{*>4LfDmSQA%7gE zvD|et!h_l)=l5>4p32^Sdo6#jm`IF@d5ocSUQ`b78xW#V7FA!7mThWuMDkx;l>b0X zv|ZK$x_Ur$6d9dHj`AmmIQfsoPN)j`-%~93NNglt{FCC{y?-o%w!GDP*_A5odI%~% zeMR|F#KRAiFJBufiRnKv{{4}N3V(I`@0tkMbZy+kAv(oKFYzy!2;=6t&T&ZDV}74E zZqe`5-=rrLJ@{umnAL-%zOKg^Juv9O-|4~Ydf?SldLiz0#^YX#g`(o37-a%%oE3CM z9j=2rIgQS#(dYokX*wEQ&;X4l9*v3qIK$|@G-c5MR^UV%g~~^eE5U536n_@gH#C46 z@=~89dtthirBk-lse2c}&9+mPMGZ6_coTntkmz+w|1^!x=W{Z`|3C&Dv0^R7 zXe<_1pA>~Ghz=8!Ga64bVA2L|a7JSZk8+R-ac--nqC8hJ=v^FV0EI6JKo=SB5bVX5 zv$7BJ8iI1!=_Ggm{hqMR$$waN0=NO(fHII9Zazg^fCzOM+kjpF$|JMDzrpn;QNSu# zgeY``=?Z*n=Z7~4T1dhee33@!64pnvF*>B|Llh1ds+ z&>8x!qAu8hKw&{%MaRMgj_flVPNRNW2%bP|SX(6IKcspqP`7)9SAU|WyVeP64dGT9 zd}-GwuWy8nh3>e+makOPflx9@G1bXkBez)VtS*)-rUOi>T*_L!F{fuuygpy?)3uLn zW%5?RCygZWSiYNf@~kv8RB<$BvL2EoEZ%5oA}dYgS&h|U(%=rrFpS>Ra4tU~1*{}N zT>OewE7m7@*UXv02H#hMt$vmZ9|^c|pO^GUSW>r%^!Gh|=~F zdW8abl|=01NHlo}O~+%=T!|NM4>Th+ju5{SbXIrJ#eWP>Obcu7-B#dh)9cno z>i5*We86Mj^#N&g;jYhi@wCrrtB;M>h3SXhIC}FB&uj==DU%K-t)T$&QuHj)?a;PZtcdODFsC!1 zo&mM=qiMVz1Ah-2!Gs=+6JQJn8YGvXEg4Eao_sDzCX?7Qh=SB--5zKX5M3jc$7H(S zQ1gAn^JG9e0-pvjHSMt=Oa^$trSWTOv{)LtW8nZ$;|{KSx7X!Hy@I9{D!P7xP= z)t!oHmAja9l~tY;Y6-XU8kb^B=G40GB_Sx){P=a~C=W-EBFZQneFodsiCHYP&6dGJ z0KP;i6%skUM-VNT1=ATskIiG_bYhCjpkfXi;(xe)F=x3y)GGr%w=&|Tf;wC{)+8Y7*_@v`!zcrE541p&82yOqbZfo53=SKA?-mh04s5Wbun%ea(}>$zr0 z`D|)Pv?&)MFZ2t7J2MK?a(p!B=Lg>Yg;m~Omq0ZOYDq9|0fz|W^Z>(HL0~#w;Pnn0 zk$+X&k+(A(hXn$5E%J8N)nD=0MFBZG43%xU@9olgwTPuU`+1dYsm?yIZGN?@!$H&i zrGOT~-lGW+9d?2@Ot2W1^J{auTo9Ux4G1atE;vWE{=Twt*`_ik*uHR9jS4-_uoom30e@efkp`gdx;SV8jD{VN#G(fC7yR@$FjddQi;LMGL#B~ z#XBa(>JoG?0@=*y#yiVr8Jxqe)PFBgzI-2!Bz$d8)$xF3r7l%j1Ig4%;H^@PAq{L* z5?skv93Kr0Ni2`@S*Z7&cq{2bza6;r3;cTc+Y*-Sm|VdarWG z-4rDC*U$IP+de?E4E^78YPBeiUWGkZfzMJHzrI-Wlcdq;sEthVo?3x7I)7OQ?X_F= zG-GgiDclflm%vYnvs`{eP@W5q3^$qFM9ypSr#LH2I+WdSO;A-bD=M8HChOk(t!#U~*Bb8)amEG4Kb1P+x&yP}D7vA#b+ST7O{pE->2O zKUa4v{wSw0IW5YYn&4)Gq@VJGmZhvYWSN^;^8#5Au zz*_Vco0|sPmH*5SrM-d>kQzaJlpD%%JZ}s)W#zX3qe8rBwb%^=Kd?vQn^3|Ltkj_$ zwB7C(LN0$qBltrYddB$jt9GO4;v7&;%e`}|W%O3U?~;7kJT7My;;OOYhGsXU#UX|M ziMKsDBMO@@p1(Yve}5p(x>8-K_k<_xH0a`+=9CWwPHM3DXt*gcYVRUY|NjPiSHS+N zb7&g_9tPkJm^u6m!Dne;rGqq1d#$8F@Znx>s+fnm&3}-q%GFTDW@t8Mnm|AYQ%+J8h@7$6vpDce~gV50)h~(OeOHm7vCfTy{{KL zya`%Bw!+}l(0`U%K$V{Z%I`5KzZmw#&TfM>_Y?;1#!h4SRt&^xfYEkZ0GJbCy2k++ z2EYbFAO{El?1>l?&e?pxXSD;p-OF%3`k}t;Z9a<9afa{_`(1W?yB$p0LCp^AQ4TYx zf_rya6;T0V{r0ueevIljF#YBy()d9> z>DKX>`poQKkQJD8ZngIXL^Lz5xA!b~vu7RMn6zRiBbj&Cv_K##xP zufw+yM}G*MLOGnq1e*|2Z%+SBK`RKd8y>f+| z44`-D)ko&me(Jl&ZurjWb*}vSJHEQzx$*GP?SGBN_M?a9ossJg?q63(PA(ig+-Jzd zt9RVj-6Dv;e<>=U^GjXSpj zw!wh3sZWrFTC2FOh1!?-8u+$ne$RpHip`z3l-hf827YX)*Ne0yhKh9SV3R%=O*vCj zGJhLuPDjKECvkzW^6fnnlLv=6t5NyAIFxXqmAY)Zj!$QY6AoTUk(6E=ZfwZ6Hx^tv z9nx=1xk!efe#2N3`*mk#q7EiYU@8rcr0z=L`(wAo@bMTZ#lTn)RDxhL2PRlhc5iay zWjokJAE0lii4qNJ=B?(#<`ZVJZUS4i;C~SuLOCZ=ekFG@0B#L{Jpr&T0EPn~7XaFT zI}i;JX9x)U?j-O45g;O8$-R`rZMjhH@f?xMwIk?no!_OvUsK@A6gW!VPo1F%sv^R~ z|KV#1F+do@9EP3>Dyz1GtfkNM2KDyA3)PseorFb*Fe=2dn$ne89!%Fdn2f+jOn;0F zy{NqL*pB<>vu@4I!>`|X^BWINZJzW?xdK#lIUE+{aXdbH&D13{JU--+ixZ z{r;nSX6R$zd1Q9|r`|kr=UZc5o^ct5*JWKK{-Zx`e~<-`oEpi;u+MaykJiDXHIRZK zO30*~nM?}E0+Nu_%;z(o$bj23;D7oI7|wu9q1kj6%sN?cGFGQt65}b5(gI)}8xj3n zKuzYEJZCmpIn3No=Co%iOcn2{d<#)9fs}Tfex|_pe(pcKXlhz=^?r3Dki-OleDnAUQ zIHy(szlY@5VzH*=iZ4A=3F_3U!z{#g??Q{8!T$C&+T>mXP1TL=%VDkAilHK2EVkz2 zVk~At$L3q#z`ldw_hFyL@PA#{Q4G&wz={P?IfB+bNP`XZ9{LuVDAHY+TBXsGaj-59 z!f}AbZE-vvuSutCV4(&YwKX-o#^}V+nVHE^WWtijM57@FaTp}t6&8cU-4FWcb5&~r z#z#nKmejU7@x7$3Fa&%wx-!X!rU^J=W$I5Q>yYDdnw6Lm%MvRFuYX>akAFs>qDg*7 zGE#`p{P2#Nv~4WO&)mKtI$V{Ub{}mddEQ#6H)K&Gj1@z{+J<6b_gs!2JJ^l4a#7mj zHAe9lQ`_ZK!o_EOu}-}nW;$zkHPU;otJv%|qm|ZynbC!zu!V3$8;QtJqaI{iYZjV? zg^8qvws>7o9}NjgD-{1Kq@jwbLOgBZwOqCl z`J6FSmz0d$;PjuBhvPIMn28I&u8at#UR7*oe1hQ1v_+#@Td(uWC9ORpj!18Fl}zQ0BnU&Ay*&@1$)CE61;ZC3#wer5BvSC zI825p4XU6Tv57(M?|)vVu>+vg=N8eAa-2T3MYBYGsC-Yo6V%#0;T`+-#((l73h{}5 zDz`&=+!|_ZAAgO^Otf8gw-H9tdJdvvCO;Zi?rNM!)F$GVZ@&iqvJVej>9M@B*<2YJ ztBGbN9b(Fr3JabOm1AxdGf{B-q>6|i?2K0!pk>@llp#F&iXJ+NR<9Qr*2(B8h7E^V zmhscHp7Q$jek$knJH7B9+Aw}28}>T2fTB6a08y?~hJV{o9;k8$ri|;$;9&~fN&zhesB(pXcNM`@5mbxd zuzW&(R3;iSxIGAhaTmHzBCiEfC3EXX`k}bsPcQ|e~ZfZy-_jd zgTf|EZo8A`dfx><*wYygX?Px|+%97<60!9D59sLv;fTe}(gvL8HFR>ebFqit*n5IV zHh)ILI;4pJ%#snPiCLiUJQa`UTCJkTgIUHc-P~k>E9NFcTron)L9WP+nJrz5$+&>3QYT(lN$^7oX<|wa$cpZ3x|C+_kXje zDUZWUd;JFGFTCZ^`SLT1owJ z1CC}?(49X*AO64;ibQNyJ4K@9*@oDLHSd8GKURq#{i1m)y^4ZPc7`1e6V#5LGU*2x zs8C2jz>}g({s0v)<@^Ci^8+rIpMMVsVk#AIh!IYJV8`#)1CxVuepC|(qSw?=yHvO; zxOi>n7t|yAL8w_RSmYb!@~UE)j#ynEEA^e?H7XMExvcNJ#0IRsupKnL@nkOa8W%1;FBBo*BMhZdhr1MSIQf6+hngv2oM)8 z?hDuFvdV|VGj?fx3z*P)DSx$Ur+FBUnm>V|GQxj-WfpUG3;+{@dRGTPaQ|BjCZkjd zUF(5=6>n;u#5|B+${laq1!C3iz{gSD3~E-dxAVxKAw zI3i+IB!WGwI3j{Tq^Ek_t|-%L)zW@8TOX=86MHw-9s_z?P>O^ztba`h41rRHOR-S$ zWO)Clw46^h`6U3md~xAti)i5pka~r4w(|uE6@uie(X)DqO$f%f2m<7#5t zI`Kf$e^L`ZS#4^nRZWwywNojpt=R<40A{md@J(f9EDEA;fGrpWx-Yrlh?b#&EDdJ= zXn6?&XBoxV{(my@!9=QK)o@}f!_i&A&gwGcD~odZHxT^w2w8798*~}sdbYT3NSvth z2g`Lv6PrCgmmi7Q1gAHhO#7Lf;7)ZnCP_)-5i8L^im}+4poO+qWziL{i*s|%MkA-s zZ5vOToL-~HO*?3pm=EMf;xzOJ6V&Sr96yCwu!)Y%jDH~)r$_>vw3u|H4yn^>F&Hrk zv;mH;2SrPJx4eX*kuRvLV*9II;C5+IwyF1bQWuoEV8AK?9S`05XGf3Tue=EEO_2(~ zHBTz>9cRz(0Du3q@_nR%2GoG0c@z_|;f@cIBmGI1jp3qbvk@?E6S%{RnSmLJ9ET#u zu83TMj(=HzmIURl8W6G{9e-J@(W|9O#vHgL|KI%R?OTiWohRDE>qXidkH*|wBg<;s z>9u!mdQS7`j-AHb)UJAM?^G%oak*(H?M)5|x@e&yg>j(HlZIh`OHg7QCS$dZ2gA%K z)9F%B6FKP#<~1-n#xOguqX2?&g8+ia?h={?Eq@gHwhns=Va>{NlFO?`NEr;44qPeA z;QYvqTSmR?n4DhU6yxK&Dvf=Ui9l`BEoU|?uoR9`*|1gdrdT1_%&kh5+KikO7g9#3YDl zt$%<@-K!4Ns^F}3qP5z(H;!8OsC8?t1GjbS|9#&{LQp&IeV+dJ-v7tfB;S1ZIEzGF zl z&EDwo+z8#{xzN%SAA8cPqp8vF9uN5aH-Ae{-$19J9HVh>yHF?4?EJhfS79_1W$r*{ z0ay&y3(M`{XF~}MO$~I20tSyYN=^02jG`DBB~W}~F^_O_hd}dW%!A?q37ey&0Rs&E z%>_CwZPor77rf;NAB_V6)^@6i?kO9F7I}_BDian|?SV*y_9nntmq>=ISNFV#2!DQp zw@*Zj6TE-upH#?-?33hgEs{Q z&DT4T9%tLb)-%=@< z2ip1pX1*S?8;KeIrZ`? z9r^9YoejSJn7*cSoG9z8t6xso+g(I~uhZiG!I3>p{B7x77cmuVHu-bFMmBE2_`3v0 zJjBh`h-Pb(LJ(cMa?Q=%-O}E5OYnBIu%stOq=q=WemcT4*v~K0Q%$$DwlD8bNnpKI zSNr(n_fK5;Zfk*;rGLG(iLbA@y}Ld9t>A`Gg6ZOt{myNmV`p0%UtfC*SGNN6XE?pI z@Es-oBWR{tQB$Zxso&Ftv}^RMMz@W}nutxineH{aZoZua3r`X(Yb|T7`dCNUaBb5& zmDw$`=OSozjB!$SwssD54(u}DHO}=71P==C>LvE}@~#JP&wu-#kAshcU%0;{U{z31 zNEGACFgs!ws8*7w&0ROdM#N#=Q{(q0n)QfCT9^EgQ;(YQqXRnNzYrw3HMw&;paVLf13I7sI-mnOpaVLf13KXE z0B>m<EAjaWWea+sN&HBeFv@)1PKBobG@Q=ztFBfDY(@|91exux`}t82nZz_$8k%=xHSy`u?XrfnNz-ZUK^6KsfnjVVUZ2yNR8t2gSQZChE> zjrQxlw||&oWq(N9reHP>XSHoAX5tv4ZPPG@qn)-*H&|nYSvn?Y+s0TY$DZ1@2^Obc zV~RQ3AJ?|cuw=)++P0Mm)o}s9OrgW4Pc7XVQQHW#ZQa(PwlNytiP|P;{0M5BqV_MS zZ3YX2;H4c3r4B-^A8$$vJfL$XckkZhAWB->Wj4sQ2Q+uVSE z3&>jtiO14l+#0q+Y*8D2&6ITrj@tI1Z5P5sZ3lz(jz~tb?PM_C1??qya7DC8obCo| zJPq2uXnhuH2cvdB)DA`ML9lIVz`v;hElY!OOPwq$FdPfV2#keAgBBkv!^Ge-6H{Pv z@PE=^)tC~EB!iv`wBfq|j7!l9CYWJkG5|Qn17oFNzXnsIo)~mI9CPTDwED+$3A~_X$?FL~5NTX`K z)X{(z^prO2BA?E1S5hedCQSz}Lv{@+yc|sLfD+l_3c9Z~+YGn!q zuRMfH4seOVF4C)1NEZ+*v`zt9uYb`}&p`5v5Wi5jA;K<*W4vFJD! zAlyo1xeBmKgXZ9_62ynjmLJ+hquoJziRz;fiCzYVzTf5-A8SX6`XaCgYJZoZ^${40 zBwdD{&W936kv~)+Jqc0Nd`f3kT1llSo@6L;bW#4H?iI)bs!{Hef?Q?jr=P}7^6>BK z)-VcmzNtcfuR)d*>izyx66mOZ%vYR&4?sysSu}{AE-$K3P? zQmvku=mcS;w=6kLk4N1w=G+!^%~Q0^RLvPznSxKw-0b+=znnF?s{(?1ja}^ z>AXga>ZMFuE84vK&+3@YEC0BbLCfXnBS&p;q(Iu6^a8P#Rw?pjxz_FsB(q9eW60bC zGlKx>pR}{ik4e8$YL7-p3JQRgtSNH6rwFjNTK-`^`v+{H*N_0o4)rG0=6aDfR)qk2 zg*Haoj&E>O(PUbm34he__{X-zVAX3^&4IOp40I$yRYuk>&wMQ7pWs8;SBm!OR)0FX zF+Rv{I^BP`TZWDir60(xAqt7aMp8%v+>|)Bsysg(bNz zLA;2ym8w#2OT%13+AvIOaW#q(nVtt-T(|e7zpqup3QtODSbu5S`*fQos*oNl{!KgT zssTI_lxsC3HsC;n-XYC4y$k{?ga)-k^C$V3%={uGfv)0pYnR0Z0HXqBoKGKHlgEC# zD$}MPT_tPNkzr10ze|mB1!=1it=ylkxq?5is7f!rT6;vPLGdd?9Kdrm7JTOxLdMRKu1&joM6?xkE0A#5`REN^Rx_ngQNE|%y zo(1|vD95E@IO@Y*FR(rf;DUQOSZ_pw1F+?xl{|zy6O3knPmXpS+>s1M@1BakXL6YVn?Qyg^gVJW8UYk^;rIL{}P^(Y} zDWIJRUVmwN-SN;n$qUZ_TYKFVqWQK}qNP5t=hP>#!8vm0RA+hM@^R<@#ST9iPY@`#& zSDv2oA7N&$z{3evG|n#*JaG9c1D#V2fWwi?K!6AAg0{4d>(F~j?kSWXX zbb(x`5SD|{o{BO#o?a`NaYcz(Bod2o899oJ#A=~Rs)Pa}8X~bq zAeE_^d})PPjb{NWJVk{-4rvK+jY=RAR|r()xI*&BdeRMc`w$0DTv{m;sPMo{sZgbW z>;@HxRcc5&nn@67IarMr=j3Jb_1KYGQ-4%~Dyh5_&z494?|3MlrxD0y;%dNzN(!{b zzzd{84G7SmB0cFTp$23GA%B4s z81NI>L(h&^-+^)wJhcpl<1ynTR3TS1O6i^i@s^l_-K-6A) z0#a4L{eUTz^w0mMPn76oi(%TDu$?1RwR#pIu2*`vWl>yBJLX7RC#q+eO=424!NF)XbrKBA`xel+AYRcfS zfx9uZ?gqKnP0OUfPf6Mkmw$>(wtxZ(A}ApPuTY4j68I@b3Q<-9fz)LvU;*lqN*KIq zIH>g!AYm8~TrCFK8(@I8)@tdKtdao_NRmOL)ih$Fs!UPwCo;k?s8q=TGh&25qyQ-y z@iIs()aV?n&5wcei=-&6I7~^IoXXK}Fv(oS+ zurDhc6ecc+M1Yi^jekReT2x$49z>SO;U%YoE<1^v!Q~e*@Ki283*t-#NZEJ}o5$xS z=V!2acuqbqCp(V=$fp3bS=_8t9-zX>s#6lhV!W zuBMB~tK_t~w0~yWHrfvG`kwX!ZB@rr@{X(I|AKBiu9E+ASINn{oE=xn|2MCclh*6F zTHbNByyI$l$JO!=vw6oA^Y&NFb=v8;YTj|xyyL3*f7w-YgY!!Psu8;WRdl{7Zg>7E zZg+->&N1m8bQZlAJ&hg@-ebXP0myvtIGxN_Wt4T4CVv`+@+TXtSE1+DAP(*G;u!Yc z3#|V1KZ^D<5I(&vlF3W8Z6`I^P5>`&wyHwTz>}+0G6tTe5|=aZ41q?@RtZYLDf&lq z@VXhf0^z418sO!=0DL--z`XuOsI`@?xVoaNGgTGvLMWijY6zx zR2L(R5Puk(hZs}nl)7jth2EG)n5w}GiHEvjU1lcIjDv%OkVNQTRco`t0JA`e% zli#B-9_ghyv9R#zgHh-O7c#Y9H; z0o@pbE>XMwAK}cBFo*LN_B3{OGAn@aBYPh5WT_Hfl}^dy;GDdyZbS+vCNw-HIVvYwp@$|q9Jw+3l@0gUjLBX-8Q0f* zzBF$2pqIsg5`X9Vm`)cKhK$-n^WJb0o&bFGxFFY@4`i;FwlLTf8HO#Af z-A9G(jF)tq8hrk=GQMHhzU!q+iyhuAx;5PYt0@>n-N+O84)-o6D%Qm8=Hc-M8C04&mejd>AF5at?#ZSP*qj+DFR~EpJ3Jy z_K;scI&?uTN}A~h@koPSqTJm*Ir$O0?;|n(?DM#Y%?UF*znUTmpEKq3gnz84#p3uS zzxUgJ=;?&}Z?*+|U)r+Me)ad?FZ;P>#LofIffi+5zP)kquJ;QYzq+l@Ex+{f-MD32 z`QokbI`!Efzi7_b#93QM+Vy@vxoC#f$OXl=J3=K>=ANnj^-?~T$}CU2I4suU!d32W z+h1mm+U+^_PU-Hi(o`jsTz^SLMk6!0eD>R)j4vdZ2kdKF^Q%wys0OyGJbB*m1gAb{ zk1v>def4-#kEcmvDP=`DbBJdzFQ-mPr?(HER zv~$qWpVlN^#4pBPAD$3*cxTa<^>;dZA1R-Ny@?^}j42?C-8RT#dw*|_doipw=k|M) z#r7I%%>rbx&;OBJ5lHxxLGNieFB0Q<(o%FU1{fCJN@k&C7EQ#kSm6YKNHUqVbqUQs z!k>1Y_6PHSnT^Jd-|V}`WXjx{YR5PJ1K+5|GG0AhJbUb{)J=;I7mo|;7QytGHuTkJ zD?IBc8;2cs*-AT;}gbIb_tuI*EZIhKcq9DJ^x=~Q)m!j>5aOvm7@9$!a28oc|82J1Ec#4pqC zo*DXX(yP@2$Hs5_-g8aK>>c|?H&0!2W^Kqx{_Cipe;hphSAUQ9_Xd|A9%(v6bHz3{ z{nR6@B|T%YNz~0EtGAzh)$(hf>tmjsnQP-YdD)H8op+r%w9uV$;BESH`{@z0z0$*9 z?Dk!Rt>2z^Xp}stZ|#E^dCik8_v|h1>atM{(8yc6&im5c{eMohY+1Q!k9`BdgVUYpAQvr3BRDK8!h$R<^vvuW9xIXvhg~E4knjkC zV1B07|aK`BsRkOK1waIj*K z0y%$4K$ivogoK8$gpAu$DDUZ10{bAGX?0WzX6)p7p>TIji%<5V+@WV%U%dTs+v%N; zUb+^v=Cw%Ej85-8eDB(uIeljqcZvzzX~eO=GPio{R>{f>TkcZxeKy7W3}siWdGQGA zGh@zpw|^sMGmp)6OCeS)bvp1vTHj|OkrNh9=^ec%%WbXqA=@9%)!D9ydbq~BWs2{z z+6k8f+-^wR$0ab|7t%6!$wxJY-~Dz&SWZEI<7UT+E$+fiYRl_qhWXnB&*Cf(AC)jG zp^#hUGwxlp?Sb((O&xRhh4f+djU6=W>m_5$XMY7M9_?LoXB(&Uk&>+1jeM81$qh>@ zcFF_xzXX#6 zT`Ti_lbtuFj~QBj?B$91iCxY+jJq{yVVUpPvbYroYO?%qnR;ai-+uL_V`jw0f`Qp* zdw+f(GxClIxL@C%HKb*m>3`mLanIJMqm9=W{M6;tmS-~#ec|@FW)LO& zJJ(wEhLe506T9_xzC8AR>0a*guwVQp#1A-jFEVAC`_^feL+TP9>^&FSM5j(pfBE1d z^(WdQPy|ds5qLlr0ds*%9&lRZo77U-<({ZoYhA!I%oOX+&{kjc*bfCfp@xV za+*KWkvqdRY5JOmeuV$eSov?mw}0ImXJYf*n%?km+!4>i5x!r{fBdx6jqzsqt+DQR zZe=ZQ+U1jXXwoarPiDsktUb0aiN5INGTE1}FspGhkJHc0SMY295E0 z(A24f{EH_=#QayEpP9YkH?P^Bzc^w4#B@_$1@BwV)P?C-&ooJ=fFQ}&vwv@#G_LKr z=;i3;ozfi4>K2Y}%^&)XGS@xFbPQ%oq_%Fl$mgFtx`gT5-G)vF{#Q@f z8k=crf+GcvU_@;LnVV~;5`VRmY8XNoi(k27mXhu(V%!bo=lr zo0+HV7EP=u*<46HoQ2!x%(*zM$F;&OYkSXiyXsDsoH zo10?4Dh=J2YkjArUw@)g!vs9>nu$yJ%Ok9wLs;=4DvOpo%J}zV%X}y&*L0*2^*V zM{)~(o3ET9TNRse>i6m$-#8B|33{+-UQncQl}pLNc#jItx_^fj2N+v^O5Sku<-HLb zuP^yp6SX;O-(Vj*{~;FLc@qcsNlkXxx?#h*%+i*HN$+c_y=oRX5|ZDN>;|~BEb#U^ zmV7(p_LisVM;NEhh1X>G2dDcM_qkK>VA-WP^AB}XY^x2>7ZS04|$!r>ydqM?tSi+ z=M=GGoW+P1Y0IzjJIiMuWd*&r-q*L^xlGrlbFab{B!4pVoyrf|FMdnZnG7T9j7oH+ zztpIOB`0JH0f1 z#edF$-yI1EjPYxT?b-FG&zh&Nar0TeLUK>wIp}I2cYg8MYkvJtdi6@+?cG?I=u3Ne zd|2PG(>~Xg{cUnnt2VsAu5MjLtt-B;({aN#*HihuZpAj)-1gyab>5uv8Ry2XJ*r_> zRJVLD??|1q@4;@j!V9A&-OJ<>%U4dme1EU+!nJQMu9IBbHM@3r>zUSGx41#e?E{xB zA5mKK>-dtP#p}aHpDp~V-;S!lz(=hWdjh90ru2x;-gR|M%DBB|8T(ExO%Bt{d@g@6 z6z|Qj?>}(n+=T3i(Lb*n+xgOhtf#ZqZB1>IHJrF|X6!_L?Q8|L^Y$moUt96~wDJy>?r4FeQHIFrO#( zBbH6ojGFZHus=05c=veQElXAySFi_o z`wQ9E`7LF0>Q?IzwCFVZ@$h>k~r+%?BARE%{qsjX-eHz z^knu@vtH@8b80+~VL|(v=Pga-RCz@0Ke1@h!ePU_U!~9VT=_c9r{>v$7dy%~^_qR{ zZskyydv~JeR6F;2e}86!Pg&)!YhS&YaMz;djx=uV8={q-G5PZ4$_nAM_~Y{nva)y7 z6nZxe?G)}c>;c=nIq~(^N0#*8)iicq;oyR-bk5GCgY$;;HLpo8e_Oq9*S3m^K?iwi zd#hnNKeFoR>xeq~Dk_CS)Xw}*7p_lV4s5$O(pb9}CLgU6n}5+*mWDT802ggN3zjuu zIO|CGv~8rbKx+GH^}EM8^B?6@VRgq{xwJzIobJCRL_ zp&s}UQFW7ljqe{uHosb_C{+oRW!3lxwV7T=!T9}3t`v{eS#YEd2VWjKx20H)0$->23bQt1YT+&nDgsoqqh1$&XXF^1b&Q+LE{~`SIqj z7xeQl5;bgJzioKk>3&Despa_|-O8WlypQ<($(vnSUVmpYobNcjym5VVdDWx?vsvTc zbq)P~)bw*V&YygrAbW((e(SoNV~Za=KBu#v+LZlfj#2uyM(^YESABjyHL;;&Dsg+k zK;y6DEl!7DFL!!fePUI{?>&AwGI-CC;rIEQ%m>Upu%tz0@ny#MvEvy{b<{v`c;ee; zBV$$_)qfETbwaK=`9F3d{^=WS20q!Ja5i*Fi?$nv6hK@*W5lvS7miu1XjV*QWF$CD z{LmvEPEGu-YQCvZ>BA_0>RUQ*&=Mo}4^Ek&uLM6?`L5>jz1u%;I#K4Azo1rn!>csh z=9l1m#`k+x?A&+anO{~5wfpPives!0mzjN@rhmS0wi)@N=5g9QZp{51MfaNpna3|R zhRRf1LS7Cm547L&y5^xcYhV#6 z;C%pO9Kn9ibt*Vxw$ni`e-@fRr=4ZXnmf+@Ml&ZP7`Co)w+`%E9t4d{+@Gyb+{+>) z+Fp!t5N3tBwp0P5H}}FTj}rWv=>0?%H?qxM(k23CsQi1@&c+xKR3y0oMnJj0;Rrt3 z*qgeR(t6Uk8evCp3GdPIq1~>GHiBpT$8e9bHx*);pR2l)lb?;T%QG1O0HjH4YnOq! z1{MP|HaNH81qOKm0ya6fTn7eE0RlHLlR*L{x6%j(tN{ZvH!+hz0wsSkI5RRhFHB`_ zXLM*WATcvDH8?arJ`DC7?q~hSDgaC>Hedt5fK13)*mC`oKOVz4Ul~%MuO4PpQp;Dzr zjamt*4^>sF2C0gam#TlMJG0jM&2P>AzCST-A9}X-`SxWlYu2n;vu-n6PDEr%|L&KM zf9xloeEN_6{;hY3oP0h#{khM)^y16Uf8lNaNaVl#-E{vyKl9};-CaF)-+veRub&oq z&A7F z{Yg6C`uX(Wu{@p))hn(F1 zTO$AQ(U)HQ%FDm>=*eGA?_Wsi@4oceFTMD;PXETY<>bG8JKcZo7hinov!DL$KN{ua zKmCEo>W^Rk;$MIJ(ktJWA-(^toc`rs{_M-A-~HIXPVoK1bpOvJxAk=OPu~2!H+=YK z=jZ=S`usrT4?ggTKg+*={N&&J{wsg}%DFyOd zk?QZhpUzLd_)Yl@X-keL<*{_}Vyah@$Tv=YQ%~}be{S7#&o{JuTT9v_uqXw?@woj^3s31bl&IB+jREnT=}!7{cJpc<8__-`#$8E zw5_~<#?ycH;d$p}kNz9;=kqn`JaJe6&(ofM@H)iX9m_@8z5nKPZ}B$H>3r79n>;P@ z-AL!!VZpl-|84x)+dY3SCy%7_bbctE?@s4~>3m%}zmU$SJWmtalh18B-{5r)IsM{& zgLmFP{gL-*|MFctyHxfk()m;A{7gDuOy@7A^BI3XKbp=rr}ORUeAdsW()ne-e%{-H z>-_G$e*YdX;~nXI+TT6nzwh(1Kj3)z8NbiZU&zD8;d-C{e$3zhnB(x{o-RN8OJ4qa zysliwN7DILFZ;tGO@4mYpT95E_jb?w-cZ&@y{;ei=fK0e{rzLvXx8-Sn_LF{oDzxt>{5n7XaZmSAKi}@{06sE~pYvzAzE7v~lm7e@e*T=7 znOVbiI{!*K|M0}<@i+bVUFp0^=hpjjlg^({=MC?x{QSb7=Vxz9=dXGnWSqUh(>)f- zdA;L5<2uv-SG_$Mm(K@$KJ4f7-WLz~^R<8fKC?J;-M1Xhoc@D;zf0#E{ry+{{cFAc z=Ny)g`1ypNnZ};Y0_WxUSYcFWT|?ANF-_jmUy&*uN}`AP5p+{Z6?`#$V_ zpMO8yvQ)-_X*z|Ne&)8}IqdG?B;i11CoF`F)m<@|-mK^%B0x&pb}@*n7e6?|Poh8}hii z;brG>vGzJ{d!3Wl@xbDI$bWNLcf$FgzsvPM;`ezByw0yL)A@C;JO6I{_sQ`4>ke0b zxA*67cO2)of79Q6$=j59!sC8!!g+twVZ_{+dBnBn$$aQ-4(sy{&n?gQgqQVB$J;~R z2XF9lo^qUKzV}|o)s?sJW@zgpj-My|*)v|&Lnq|7n8zWDJaj_d_K264>EY3k_dJ}p zyzWcCo==Pxp7gYLz3eynvpWt){{0beQ*Pt?{rZmM6KT-TXj7ise)q)Yy$^pn4xaGq zXZ-iA0q4&<>`!=`9`*Ch4%=Oa9kR(?Z^v8w{!J(3iw`=k9`&|7=;dZSz1#cjQEx}? z&(EHi9EEw~jh-jZv)3maTlxM2em?2#c+lH_%g^g@zRBB#IW3p}PKV=1{QeUTQ*OhD z9f!~QvwZ(Hhc%~tySM8JFBgAw`5rI#&EB@B9ll5W{z)(6nG@1~?vIaz`zQVPyy`F!b&fiPt z@1*nh)A^lremkAt@;v!`Da+RBcakf4RNj>2`(2XN2f0of#FUO3N$P(dlVm-lr<-)& zrK>JokLiDtPCLe=JFHR(UzD$;r-`d3-C<70Svs2Z#(tZm0rYxa%T3keuG5j^bNShn z^QCnDW%;uFx_nH&E}ux}hvi-JA$g}fCm)m-0skC2_ z-Gzq`qWu4LHu@?QBdd4GcH{qmCuqK_sRemvcMCDr!f z^en&oWcvR>y?Q3Wp0B{CYOPIA+XYIjW zdn~`3(wp47yL99da($il?Jp;|yVTyN5)`|XFH^%qN(EEug@?49wbnT#*d9sGFSI0s zqt~)8J;ki`OiF)6gXSC4@12B=eR`JDY_x<7kmVVM^(8doHyGD`Qkl^$PpoW2e*fyc!gSSx0|R?ysgC`T9mmHfATDcUN3<8?M(Gt=B3V6ggoZv&sU zT7RQd7ISx{w9%ikzD{$si}pmg@_AOCuMb+&s7(r2U1-@M{v+P*uiyYIysqB>Z}&a` zYd-F)aBY9QG^XlwWYw5B?5AVTR*K_Jtf#ugyJdMxtkyI@JRQF8%Gre{?9B*czrb^B zUyYeo#}pvDcZ*|R83d!(bS(9Sb(x-AIJexUyyq%$*laav9kcd!=l6T%XgAW#FsA>v(*K*vg|D?2uF{h`Y39GJ z{C};G^r`#|bLZs^K9dZ}<5!9Q8x;@ElUk=)Q0EYOr3+L93T(@$0M8?pZPI@mp`GKl zb9#RnN*U~z{D0%P&evH+*eB?3q&9XsLvB)wy7c6)YfCzv9a~R*SX$=xIbECDh@Kv# zDRqGwhBA&fnqw8XCgu#5Y~04Kw^~c1{SJ;fNmJTKxTfmPO5-@3OTLZXPePtxsn7f^ z@{SAoZ3}%aIbY)~YkWrTwe-o~OgdMuwbg%wrBw-K3b2laDw+U$t0UlW%$an77O%XN zRhiT6-LA?>&bS<FsCL`iwP z?Gk0}RQ|k5Pqr#W?)3kKN=LWT=*nsHlYEuO)?BD&8y~$*lGJ}& z9f7aaKDbuNx6|KuCHcH_>1Rq$b1Sw=U5)b;ND`4QjmGXP?Vc9cBvxJ%D6LO-H7{Jw zo2{l`ulL^b`Pe8|X$v37IR}SqQhqVIJlN{BN$pK)(^^wBMdEwC=Dko{Zqqa4XFJuy zc1|U?Ri@r(-|ZCVTm3((Ue+tO+-ZM_nKNAaOt(q-wo21?v@bW>b2)8>>r(5;RJ2zq z_*^OAT;HENmz;IXul4ewhxML*6e`Oc|_x2cRy z>0+Zaw^Io_Q_i{b{8{m3*zL8ZL3w|tbh-7p#`KGgO6;SyA!GL3v9VJ(Xw}1PKN73wWEx?OZ{&c*rxuPv=4X6GX~Xc zY=-Gw^XhcgF^y)Y!nTkA->(v*Xy+39?F zA(*o!*Gy)`u~F^pl+!7cqf>v>s8rQxdpBB7t2NG=Vpgnf6w|%JWo4}OYF6sA8P)pe zL~*t*67uAfYAI|)x30e$zD8|-ukf`>ah=lzX6m&bx&FPj#i+>izFy3BvDT4#?zwXh zTq-^%?`xwF8@bk}t@di?y|7j~Tq}mR&bwxXX{|MEysy^EgJ&&s)INVVZg-)S+UhgI z=|Y&M>2o#(C-pT4QGYreZtEI`-( z)Y9ctSK)nreyOMByYl~6DHpD2PrCFw+Ltbh#VJ4QlrOc40qTqdo z@1}wiJ5Ti)B@nw zY8|(*Z_P3baoK-4-$pJg+4^GbbOuN#r?H`6veUVzcgd`Cs$fs{T3_p&!RC^-v<@{H zESrGY$!8K`-?)FH=|)X4_`A8(X0uZtO79)6&bhmlG^-pi_&nEpKXu+OW@(I8k-@Pu zI)2R#+N*wHbzcg!@4n36=%v138!)dOZu>vDhHUzi_0@k+Xp%Z#A1KN6=GkYSHc%oo zw?Uxsf#(2U2GP#T?aDZVo(0W$uErHdY3o#JBXRIi4sB%&)E21#ts#|a>m7$1FKH}PG5Bch3y#~;Ta8PA%XR>g(eXT1ZwL=K8%yW{Zv*W$r7dkK zV-BSa6+EoHR|*>iwk(tu`EgsgV0}#GcTPI~g-UD1;O+B$b0gmi2c zEzA!lkr|yEUmaD~xmH;}hOJsLR_^iHXuoX4JZG&-b(z~-I~O*e zPN(|gx%a7!nL+h~UQ93AxF#}q+h*0tI+sQ}wX>M*g^)Ea*@EMmkE-!mt#|HX9C&c; zVsL+*3Hch=H0WsAUQ*jBISbm=xlF22&t8wo+#8qP&AOCj`75P?b*X0!k?Se&+Ag&D3~d&S9UtaZN$MROwDpvG)R=$I33trXu7NQ$Xf9N zU3T(1X4S#XD-JEw@^96XZnh8`6&KES>uEo zl{L+F0?P{I$hp`rt`)9pw=?EGo}GV(m^IO&2h2~rafvNz^?Of&V^WH-^36sw`RsCB+b{sQV?PsTjtX3z%E6J064DfP!*!|c)d z3CgZtakojnCS-@fy&lW5IvtavJ7F%%xq0p-$x|;<2mh zCRL09-s?ebAmba>O)i_N=`5*Y<=qKH`MfSu989gO5E2f5D6*iE*V1l&U7b@xn zHjQXW!IfEO`cgA#%`nU7#C~6Lo6XkhfQ<_Cb+i$+0iUDLuF!vbT3Te|`0p0=Qm2nn z4>)xkRZaNc7x-fzz*Z4CA?b`(L3OPWOk1$w~3h6h&2I?Lu#7LdfYGzTRuid;*7tU$+uBpyGZgzzO z?Y)05U5B-JM@zR+yjp8aTd?>ai*wm}6vRZd~y4rcM7p)!INgB5R zHfon*Y#8jtvqwm-^~v7x+-l7xlWhyXu+i41e$4S+IkxA96DPhsO>I{Livvgq?By~jKA%&*Hej#Y_! zh1P#~So)d1A4?95^JR_k=t|o4k>|0T_-tJKw(3DxSE*z4`6{%scNpiR5#{lyu?YVO zS~DMg8*!b}adX596wUC{jSXC~p@u z2;^Oblv7E+s`AzNU>jPe%T|_9Mak=MM0B!jC-2aIhf)GlK%$Qrxfd_Uy}KfT$qUIfX&u4j+K9R=$E zdx2j$wx?Bzrz>M0R<(9f$05Fd(6Q|K<@1$BXrm>FZlb1+NJ+*(4TAVr#3o+4lzh|u zfo83roPTh|4D9QT#JOlVfGxIp2xZXnnvW}8tzmKKJNFAs!WcAQx(Q|VVUB<3OL?#i z&K|kb2;=t#*DZSY`Pfrib!&cV+UsGbLfnJJ{+Z7KQD}o}{;gO%a_4Uc|AimLY&xTB z4u*BacTIw5FZgF#E% zj0@swEwpwmowuS3{jn3+UK%eMQdzWDjy}%K&(f5V;d!BrC))nt`J5zL{t-(AZNC+I z-Uth|A?OmcdeMf;7REAZ)rww#+QJVTRpafAeu8MT1;>l_wx%iv*1LbvYp!k2ZGoJ# z4|{wpHG#e(77&*aEmfW813i=^3|)9mi)1a;!Eyut!4yiV?RC&{;75c1Em~q>A!Tf8#06$7#)Z@S z*Gt_pT4_1kMJsir+-84~9%Foz-hC5o1p{$xXN=#i=_>YT6KD!)=+lgSfSEo*RNJm2 zCj#xonHXbdD5Zl7bN*$$@LI*0yRAy)2yGYjkXmf)^&uU+f)N`_PetqV0C`H}T)=M} zJ@l_MPa=_)%_naKgj+6 z>hTyyQd~_l2>=Z{UxgCGU4_7duK5zoSzbag_lShQ( zoE(i21aTxpY&Iod^u$qyiail6S9Sk0Y5@Jqop8Wg>eekwSe10xKY?=!HBHX5k(E+1B82(d3i1I7?&}@2Lm9H*ukZ2LX z_{AG~tRt?wP+!fBF|KIyC2pghQ1@_z#eQpkfi-_NEA<7kXLBlee_;*Fa_FYaQjmvN zWh6}gZgj1#muNe}s5UzVsi_Y$wsF;+?jDdw)otBF=YjM;@2_L)xNL8MwZ;y29ua)g zy!LnxSA9iXfM8vG+GY>Z7 zQy_oqaplr-1TMKqyn=qi5lBf6IEs-Mj5b+ST!k|gBbGRN8mFYleOHD0kgFcM*xPGW zD6ex{Zj{d&&#`j7tShy&Lh9zIrhe9ix?ovpDr}Ip(Kg2LaIWhrNI-j(_{ocxGuUcz zAN!{ZX>5c%svh<`V)nW#_2FYxe&fD>+iiaXYceKbG>b(iOg?6~i(l)u*+IBZU9{_tqLi#gnHgL)IMA|S&81);Yt{?YZIBdPxcQJ<_QwmsdXz~J%{BS@xw+JYkv3^vw(_Fa)o^C3p8`~f*c!YB>^-tBu^xZD zSX2pO#km{G;AyZah35 z`KZ-%Uxz3=(Kd%Y>xj!Jn|7t%u9Vl6oUv84Pa1Ed$Di+E^^bhnBt~!ua1-omVLTlz z#d;%ZexMl4IFSm@3Wqj}&oS#j)Q!=~IM38G9iB#6JYVladt&b~$CSX8}+SmF*1IK0PdbVk*vZ;H4-VbH#sAE!=sAFg; zsZgWs!f%wL;|Su|p&Ws+bryeWkFrtg(&0`zpT`@)4n!tD@AUnuNF>Iy^Xz%<7O_cX zPrz-v`n$kjy9foGo$_KuT{?^%ZZN)VaY2x6JpCu1q4^A%c+w-7Sm zc(nJi@&|k@mPzYn8}1BZtn^I1blxu)gJpgQi0noT+e4dolf{;IV|T3wqbvih!xmg5jBAN;mNnT#bmXd>wW<*H(jXHx0G&HrJhweEpC+S z?m#t+RO-u&(u&zi$dkyyh$GGw=rhZInto5cwK0+?>Qm(1XTFa%=4Z=cyH(PTV7pb= zs(tu)&HNo z$U78T>=heZ!Rmf+Im9xzPG#H|#cJC~<9Y<~j+MM^g?-2kly@SY8?P0ZGUzT#PV`Nb zofs|6mUGX8$QSbUO~Jfxc#n2CYia9x1MY11-bo<)0%t58eu%#C%U-YtRBYS6j8BVD zX?*OUrBNP?vM+x%TUg0!oaJ)Pg_1LE9~M!Gy(BS$&|cG{V_$M7q&~ob=o;ItAg{DN z7wo8q)reRJkEkWkmqk?7ycfG%Mf*E(1-~1;9M+#h;N#0V(X0n%G2p1e8{=h$LqtWj z!Zo<0ozYjG^uZ6w9e#R=(pa>qP!=FnE~6evH)iKR^i6*pzs7^CPwHrQmQc%r9HAE3 zcj~x8U)UZzkxSVA0Csnw`)^)|?Wc*o1-8m>XZ==$#me1~wa-#(T_JLzBVsGqkE8Rw zifxbOjdCo+a}BPK+x`-W@H&^)%Z5y4`@-0$F}r13t!A=aVy(rdxyRkr?CDrWUOm2T zu0fnX_BDSq3B8r*hmW!1nG0Z+VpL=A)|JsAWAr}kN^|Ka$ZCUN*B8XnncZc-pqXRG zp*5k-F$q@hMy(RF4mDI9>uT13mNW|`sr>(3u+Jj#YnY7V*8Dm2NLfkv4oL5541c*V zZk1Xu3fD3GJ*K5UvcLzmlFr8k-;7?)a))tSVQ_z^l=GlG;1aU^UwJ9~HpQ|1sAJ8o z?kLN5i0_W}m@`3)TYk1J__SHro?=fw$oZIuhteZmp*KLWlIW)ZWT%34IQh6=uTDMH znXfci>D5Xloh3b;%2j$gmUv@WIT(S=J6NI^J8pS ze?6DRcSak1-pV8WwsOU-?#69u;~#t9v3D#Kg8Iz&zEjzcqjo6VCTfz9jwoGG zhG865+|RLhDZ4A>E_n$gzUAtcT2jmR4<&z07)P@&{7fEwywetM+}dj~H?|IS_SprI z$>9Br2!(~+b_0j)7P1WN;IN&;Hf<6vv}K!PCSlz7n<^0N+P4zl5!UoIG7GSQBa1ad;8=4Fk>}m_0g=;kVV3lb6%TTChi3SM{~6>BN8T zZnd0mQW@mjIplz}&2_nqp0%EyiZ)?7IH-~``=I?g3it5B&Mz^3$E3@3q06WlH$py0 zoe>rWi!i6(#OTzntjE#YMlIZh+P*n37ud0L_b6D`w<*0GQi|hAkM? zlL{@*G~Z0eI{`O`UzFcYLO+=GDq4T=ppjX7Izfaw_P>Jfc-9@-VIwelvmF#I&EWHF zwyd2B;-;q}1#F!1pm9Pf$LPjat|oz(ZSb|YjbN^Zj6C?7f>!vogpKqrL#}=QlG*zn zmIBOw_)5U!^k)=oyPRx%C9l~JZAI`#Pn(nR<(H;d^nlmF`wg+P*xv^dOtgPBV|N_b z-)Y-|Erzo^JeagP(K8eC$F_DQJ=ZQo|39=NL`OnS8l7U|o3!RVlpr(|` z_;c`1_}3`+#mHB3p_L$p6Y=a_fO;y>)2oEJ1sGX7h4q5?-XZi;A5PPBDJ^jo2d!6J z_pvMKuxr$5;qkP+*?1gEiJgBymxJYsyE+1MNP+bmz&fc0w1RTmQ2r>8jS;hGXa=tj~F-+?IgewFoAt>quk2+$3ma2aP1Yx5X;K>&z!O`LZ~6d z9jB%MTlCjQy%;dB%P)Vm0^lsh9@7R1J{Nf<=3C=3Sv$d6R_1IgECJJ?21vz(7TN;l zbL0VawAFKZ9BQ4+>W^#d>)%=;3 z}CO>?4Xh>WP0SZ6ziT;?2hEu18gb z5YY~_>JVG8&9Sz&q#`cCF-)swxr5Uhj zyv}IT_NLAAJ2(}nCXbP|z=sMAsu6m|!1FM&OxvEE1}DK+3T%#_%NVrQ%${qj`xFd{ zGvgMVr3`Y!9V8uC;ItJR(*msmnf;IlM_SqA9BcwLysk5#{rp^M% zyLBBCaa#DUM=#L$AV0=6n%GN+GW<}m2v0e+V9qLti!)6SyRktBZ$nD#hYB6nbcV@G zGx=jI8X2r#_&$~Sod69bBXIprAgc|bji%?pVlb9gS^j^u&w2K|mifDaPutIjGG*;#DDY}=$IVILaYIZezWxJjV;wWr zmJg+!i0FSaI>z31o$899OvrOKC%|d|dkJ;{;DJ?V_=W&5f)-M41|3KFg?1Nc|1nM! zyC=~0-&Jih`#9%2yrCpb9ToemM~M{j4D2(t2Fp3zzRiGi<}aZ>j1|Pt06}q4c1Bvp zZ(tAg*7YyQIE*yloF1h*Y5^!I$|i@BM~-X1DDJRG0s_f4NK0G=n z!|cgj`p}1~(tE6Z@OfeOR_}_`WAI`<0BWJHGp?a9t~?3Wi1vlTY5#A^905(DDXrSO zM-H|hj0spJtbH5d?#%g#tpYQ@<{ZZQPH6u$+}pPUqwH?3&8?4_(xe|2F ze(9_FFe=$U(SuGYb1FO`+Q00pD5s@tj8K0@$faDvcpKKuISewua%{ELRlP0^5_%)}&Is)W z_-YcR9CALug%&YdBkFrokeRR(JS^vo{jgdfr^2#llEX%tBCoa;Hi+r2KukLjWVC-y zAZ>L8hDIR$Qo?~|&RG&P%Y#ug9Pwk}+Pz?n7@=aEC*h)XY*|)cYO*<-6vr`6>Vh?x z?Vbx|BjSSc2J7z@H5yIP=7-~~z|%@2L&!}zriMRS;c-0R8pBmt^+=hWTrOjOE0DSj zmdjGhO2#s_j9L+q!CGTHo_(nx+wXr?(w8}U5P07@rz~hA*jKQ1PbcPpsNVx$ZQ)?> zESZ#xm|>3ty;p*-}Gts;%oz7p>8-U)c8jX20;W=%ABY@eyM%Wbg04?c!Q zf&UCqLZG6d_~MwN7p!f9CesNt2Ym6qukb<+IXMlFjvrD5cA6Sou9=0l!?u5n%3kOz zX$4<-;x{L#`C41BuY?^Ng>4jY%;lUN?GTvXxSpCbVi)d~GiYts;vBb>x!Aw;4A55j zAj2+ah~=|b4lR^%9ZVad9}abfWeelHSHl}Ab14z9G~zZ|n88nLNw2Mb$z=&a91EDI zU{hN;j^Y4u~#~epXoxmeU&5H{thu1rM;%)L)uljHaw6DSZJYGq?_b2R z2+Tz)dUeM!3?3eoHJ1IgY^>NXz#Bn9g}`IF{=c zV?Q0+vw5}1kEe|BJ51kJIalE-*1tLe)nSQy|0*A%jc1Js&d1*WU!?yR`g@@}r`xZ+ z%ijjg|1I@SpYBTDovwf4;*p;$k52z@bp;^aU+CS=OF!5DSNb0Z>b>yaoj;E-A?;Oq zdfVa8Uu(bCFSc8ocKYPPTbWbl{rayp_qp8g_FF9%`hKr%y6{$RHNDk5X_S3Vy>SfW zFU9Y?Cd1pMMq=;uTl0YMLepO8%Jg%`c8yzsWKwZ1EF z&!`cM=eoE5UU&942sYlDy;|FIeV6LJ*?UW@HK=Fr{k1P;U1)6NTI;=3X>6}nuD!Q- zt-ZF_b?nyj=h`Ntg^k8x?lq3tpCobsO!dHLYEZ)(+g}Bx4=voZqR_uEb8;_PB-2-O&h2aU`VjLAK8-KsiFCwh< zcO&-o-3)n_Yq$Pp&@y&9>UIj7MeT3IzR}ow)R^rDFlqU-rm}BAny+Nzx*(&+5Gk}# zod*$F8;|fCOB|TV->{ItUPD^|IJQM>84fKKzbKD+(Y$|nakfRN^l#W()Jjh|Y?fSI zfVhU^bNW{B-4dkfTwgP7%)T88&oQ(ui}>UBw``~0y=#(_>rad-F>U4CvBwo(hyl;# z*lyype-{~6YItq!-JmpoB^FatTd-+6u=uK|A`{E@v1oRJlpx9ktC6tnu2mKLE zsdqW^EqA$t1tUMP`uB>dwQz+At)`?_NLj?sy?q+kothC?^}387B;6c-t7H8G(jWh# z!}5qb(0#0k)o(^^no^`qb(?=iF>SFSw2IdMNq?Oje${+am3w$! zAM-)Jw)92aC+FqrI6r9*{x_k-?jCPw)oRNBLuokby-Vmf2dQzlu5v_M;t!JBTLE3y zy!#mTTAkrq>B0=KOv8Q3>1B##4i%L^SJ?Ro>LsqBifuz2f!TI;#n(UhUOYCkwgOAj zM(}^#?aAjN*qN5AWsw@Y1mIh{W}k#*3^DRpyK5`K7=3T45j%k|Il+U=2w{Ga6yHk3 zu6Wqh2RrPTJsr~M&gF@nesd~AbnftN{kulnDjvza!xw&CW0a}jBUwo=^|x$l>aWMa ztL0rtaZLM(&xS>c+Ex+sw2Sv#-+0WD#`S-}mbTvU0a3wCn6Kk6Rq>*So(78(q@L*qsd~?0$;bC9<_^dMZe!v#x?D_(HD*HW|M#J z@HK?7luitEp?ubjuLLwI!;b?02K?#0M30co;I$Rm>SbR*GK=;idW2@7Uo?7|4*lV+ zQw#WCv^{pR?E5+gOESttyXdXKFXsartG#2et>A7#xzG;m4*d~VkhbL=`~>R)6MJD4 zc%-pAO5|9Ghe3?-=+E%|UmFi&=|z8(-V3x2tX;#(E%YaRYT2@}7pyL&RzyE^=eX;I zK1l9246Oz7USINXCr^B5pebp%HqlzjQ8kn@_-ySO@9dfwA_5WrLaJfJd$gQ$G)3

22M9zSy4kf}&#n;G1J`TIGCMM4Rvnf_63G&;#J^i3(}A~r57jtKwctazwoa)3lIDLBN4kJ4h$ElI@1q}zDU&$eLM7XsMI(1r}$h1~aQ<)0d(^Zt?g@Kh~# zv>;HJwR(e3@K)?g0|sOD9Nkg#O;ZzJWe!0|n@G`q_WTmPOJ6KuB+NewFWLUgo8DP+ zpfVR^$d?qT2&z3eyW^Txb~CkI5((SX{m4t*b-8hHm0$_ad9F;YE>i+|bms}1T_h)n zPX)MT{01oTQsVM|l6&F?2P;ZLnMz-Mh-}j?^HSHpdM3{N8cmvqE&n;22FFSt7>j!U zE-PZmd7pDzGV4p~gh6wKlj4%YqwW4C+cATL|0 zz4%AnxjW-q^Dn#$Tykd^{&|>bcVX~_?aG_KUK1;(S7>Ybmmlk;1;dJS1r|rsD?YA| z-skr_>1EtC+)^kdZ1Xt}RZBbJo9@QQa4!S@>{Rv{%l>PV_0*a?{=7T1(rB9vL2qk^L^ z<3oqJy_Pi=);H7=^lvNVU0WS_NG9O|wL3GFu1dBx5c<8G(DNWDO=F1*@Lk@YkHWqO zuuEGM6C;Q%^SadUk{xzD*^pyrlXn8`p7_q)>U>q8NX{Vnvw8?qEoK~H{o3%u$OP%P zo^&w#m!mnsJK<;M3sv2$Z-s&;D{De0C%?PHa<>|kY>o}Rm&$J{XlKO=5h)cZ?2)T% z1T65}*#}H<#M={kG?&JMeJ{j9QoTPjvuQe0RdS`CES3`afGc%AP?!hO&vG=C(}Stse(lx64!!qtW@swmBGoh{?HbvQQFBO8uDgPQaqGWn=eCE(30eeP z+{se=i3bnA(wofUjtMu>y@y!=D$$#RGz+imDzOLB07eM00>J~MxDTjL4&xX**d$S@ zfJ|IERfLX{AmUxRkJ+Z5Q>;GU*_H0ld*wy)I34L#-e__QasG?KAO)T&q>r0nZlO1CxBM)YSigu9$;iFpDIZ|ioY+tN!H3!Yr zD3A|__a)=HLptkWQZ8L7q>ydHjvLj=dgMHmwx1^upNCsaUEQUuI#<`axHeUc#mm;fPb+WL5>hHMFH#;IeFRzz&+CApK{i85e?8z|X37W-X-6fpv_w|90tsVO}jQ<9cijMfg+vIyo$Jx6T!xKc{M5Zs`G~COcmqR}mw;FJkY=d1eb0Mx~ZznH_xUTvP z3V$r};FKHM*)eZCS#0w>L>YU~u865t0DRP*u4g`!^OYBtbUAbeZO+nOSbe@wW-K@K zKX6qr^qm+lj3~6&xgK~^Mz|$NMw1lQpm9s z(_hwDfTV(f)h&gd9Fh9=I*&srEKlAnFDKOR%Eb0Hg*!LsnW>bdsx^LW zHmnO_OA;+F$4V)q$U|g1(J+Fh<}z`J9b%82 zC-^|rzcMoQVFr;nhBSNeU1!(c86lb%C_#wMQHd@7ER83|usZeIpP3)j*gbFC{ig;S zo^{xborI!5zH~ClypU&6YXE(iAd-%ulpEafFvCa17HpUnM;3f_C0U?C_yR}4z5MC{ zw!YEvvor~L`Ry?*RwnPsuXalJEQ#fwM88r7DP{ipJiC6H3ddS&@-A@qD0X?Bn5SJ5 zT#vq%3I07U#?-qS&ArHJcYSogWjU5c8$^n;PzIZqKdxF2S|3m-nh$SwFlYeXUlP?@ zO{8<_o8JFvLDP2R1OBZ5W*+K^Y|u-fS2HRggNpL*;X5sJ3ae48_w$i}nDiWqod!1a68CVAoH+rL5GbY7aUi$2&bPN*5Ioh|-cbN7I;Rgu>wBZ|siGE; z&7F)(sw_9bxr`J&LidM=?RGpjd={NL_n}py8T0Cj2Bs1jzxL!1wLKBkj1)jI3;gX4 zO6z8&WK=JGrpM1yzmR1UM&f_MY;VA4Q^qgLRs4KEpoCJ`wM`)2j(cIao-GKvaybuF zkC6;i%}H}?zU?iNSI4(cE8Y(s>g{$`$enJKOrV>PPzYKC_1_Cz#8hq_wu+2H_{y#y zgN@|TL`oa24iXu;`tT)FuYi>!B6T1h%(kO5GfV67CZO^~{*XFhkNxqjfEHWY&BGB9 zP6|bm8c1#KidZK|F4c@Azuw~tsyVzH|Ey`qKCrKpPs;)4|82KlnkybRZr@5N>vUjz zOCf0cvNt@*@xgq7HC5PU;fGj^gsVz`sP^^PqeJNSFT^MU)-tP|O&HyalC~rq*+<`MGkr7kLZO(C|U6r+Q|}Kz6Ab8f}rn=z+|p z_HU^KOntKcMzGc;K!8ifD2B1Kvv*I3r>c~9b?q*7sioJQu=lLwxGy_}x7zP0o410B zAs<^H%wq50Q0WjS251fb!w-sLD&$b0zMxtqJ0_z@4G-x}oOM_9oJnU~f;X{7M*FgD zivSW5lBL%sup*$B719^d*C(Mt($`NpU0qb@T|3U)|2LT`ohMJJlswP7NfTFoM4D+} zkZG8eb##2>&}U*_!J73QCkL0aG!sjW&)!$Eb_6rwsy>sB0$}!6yQ4G;eQ??)gN~Wi z=-6Y&^jOWbpmXM7k;0)6k7JCsl!hO?QhyjSus2!Sn~e}RV=frU_?(>MUH=vv zFO327GjDIrQj#n=q3#hy3xGd`fL;%oOJ&hopeVZC zIB)Tz;oJt;wf3AyX;O1R(_kT{qFZRtzF-gnUc~)&RL_=szla>+nZP#o^GatupLqyt z$RFz@o7VCa#4K-Af?r}%nJ+SsDu`t1k8bE;j&q!me}>5-ysRsqiB82gglQ zIl-lwpv*P2-ek!-u9^#-a#g5`X#cwxtMT1wgcKn8<l>LqI{Q2b_6Zlt@h|pAE z0MqQ%#`pb zALSc3xUTRwuY9~8gr91R`LSM!C=h^L$ZPqD7#@o8S{8ix|5fz?uE<$otZ(7q0s)*J zEhq96NwdZVj&u~#HFXN4%|imjSw1B?da@k$R|lc469LWI}*ngK%O{xy8RymQ7TDorvOEZ$k3kU zQev~c`|O`#Uz*oCgL&v**`J;fwfdsjmJb7!ne&PZkG9D-wc+jVr{YAfjkoU6I^dZ= z-~WawHrt1?R+LxOdFZ_`=R=G>gW+G-HpA(Dg+Hggz|ZfL3O`HoN+T))(|~2m%ab$G zk7zIZiMpE|k;Y2uK%yFz)1Cg~>BNP*u1{lnmRk71QXE8?+@!?H4a!!Fo1Nqg@woXEGjz(*Q%x-5 z?uGxvyOHn-{R;mzrIIadL69*4cfQRd{>MhZNJ!f3LxOm`UkE|q+9bt@JRY>6I z-I5jTlCi(l-`(om{FaN*9fkjFfv%F1BZ~)+x7_AN+g^p4u%(Do&NjTdV;AjHRFjKq zde@#w4Amw)^Qmj{0kP_W=|CIH>&Gs4)^$>Lun(QDes)6d`_?DN6aj zC1MffLZ`?G%g+J8dnQ)i$ znU+ugRRLADgn!NYRgn4#MuATwZlO~fzujI<_qnrdKbq+ZAH_SVL!qdxGgZ+4ez9=x z#70GXqb}3J0x9oCe|~0m8wcL#ngVCZ0DRPA_FqD|yRL z58hG`d~tJAMg|`C|5(c4wa}s+5^j9E?t-jM3*A|$>Mtar`x%|#;9v>iNHS9hjgFuS z@8FoH#1?DFAPOw%5D_o6dWV>MCH`9HQ>aChpz!w6?V=O}Bi4R))B2o(DEuDH9Iweg zFcT|WwF)9YluZmsM$P^C`^Ngy4Mhh}XvlOUf*mt!K^stnWtMSwTrl8-i-O21--qFFq0Q2I!5{4_XKlaDhW+u*THZ&YA2Z@`q*MwgjM9kc{ z%&28A6S~xtNZKA)3NL-Mx(uTpd|PEKi?AxjV21}8ZNzt$n!GU^s_^?^s#)KAAUq3g z0k2SFhCoj-k+%$5EpLzHjQB(Ty`h;$#$t2(d=>Ljh@jsq#?t(7_x!<64+F=$;@g0h z+~B2OIrw*^4i1)p@dQ^bWBHSRfw=~_3(;Nw^USG@NJe=3VW|S$Pv=mUx-&cU|iXRscDwHLbtVcYw-!rNF% z`yr?31~=}7ma4;V8`)Yj!@)LJNy;()ERME>x^_t0blPeUh}Md1k!VwH|G{*uNxEs- z1K*=uRF;udoO<72aCl-yAYPJUh)mnAw6c8Lc5u1)86RW$84|U?ayoHARC=T0+mN+z z*-}$=UVCR@U68D)H!GA+#(f?nY^~}P*t7#}aO>Gm?wksRC2YQzz}njs{WScq_sc`9 zf#hsk=%An7W%bkf&sik?m*n>bmiv)+O#q}4V(20AP3nz=bij^TeX-zl{leJy0KN9x z6m^-@zmMb3sksI1r3`G;Tr>ZM#glv{8>2j-sps2|GEDvq!P4MLi(C8?66jit$#wxh zY-)hiCx6=&`o&oL%Tu{b)qPN?CIaQCt*x@_YZeS!;+6DJ&5mBT2gCJW1}s{z-@s~J zw}+cK9l4V57`xeKco`%(cF^NVnytX{zEya#&Gx8_LPKZGCa94OZMBI9t$NsY0~5a| zm!ostx!WoaB4Y84FDXUr;@$a$`^Bk*vzH6j&j>$xs$JS7JP~I5jZ+~!PG2;(>N+N>&4V9Ts**!cZSH6C>`bRwz}*#dLA$)#A5F?>nn);ixhuq_^oJYD zN0n z`1*P``}jOG_iMG66#i{rZcS0m6V2{8ag4=5a~0a)qaq~Umf*ktYgBmHN#^tQU(ct~ z{QXjrd4gJAwNDg$O}B%I{n_!+9Ttbre8rqpVt?mwN(r`Oi;-QMMMqHBt+0sU==h3c z``TLXsjh+$&ZSyf>5H{p-T|L(@`k^!Ja}bB9T5wdbVt|a_gZ0z_|@nn#`4Wm;AH43 z+a3B;xDMSGapw%mc0dB)gBYA9CV%I?spHo)A}94fsotXROwlRlH2L+tC`XBM)r+@r z*?7Tn>m}=k5$y=ro3=B;m2S)R2e+mZz3vV9qS*yS%OfRESl^OZCIcxnp`p#bw|Du} z>NDqdObO(n2yOhJg2%1lSHY`9#45*jHMjUSgM7n_lM<)D{d|8?@XtQgAdcu^vS)3r zT!>6rnNRy=FdE_U;TlKUPn5to_6yq?76WP*J|a@bao7D8xy%+$S+mqUC<3wJSJolS zv=r!B9bw6@3j02*4{!;Lt*u{YCzocqncA5cQ={EEtG{7GQiTyT3vT1%{whafMyqpk zb#uFLb#qm4>0?F6wyx1)G4)h|x<R_nA z(&dI(2EHN`^?I)Xj+t~6dQrQx`57&kcCs4Wk}h~SQC`Ha)Rz&XtkTWM4SrrYsuF!l z7g8SES}8Nwnd5z0By(R~b`e@rk3uT5q$GMh3s>120tn)3^8R;tH2%ij0!k_tR$k6K zqvPu|FT7JjAuCI7rA{3M=k))b&gsgMW9vF&%zt)+=RP>B>V2OeSFL)APVfWCJ=_P~ zv^!W+d;YTN?8ilvqH6}@TZo1^;ZG?>r$tQhHO9~D;**f4Wt6EmVNK9CF>kY=tl3kx zK_mthSU`35j3)c!EsXv|6RT3`I5J5Mo4k_Oa%MDJihv?va-{5YeleXIMH$z#cYb*ZEpN1>-GAp zpQ95dT}R`31m^-{?7}&1tK!qMtzHCEfH|wZxTV8{yL>TXCaXJaDR)gxJ|=>B$o{A? zFcgO_T=lFf2N9fTEs?vtZKTw*L9<~6tKznl4}<~rY8+rfZ(R; z=5X(ayf>2!G#^oSqMEH2b62sc>SJLsx86H_j4mchyI4HDl}Q2*fWCnOxozKmwgI2A zy!?7M;RBpSQH|4>bjw;$?W_@Bw3>D_+D*WItPHZ??VXXxCy%+trQ(x4w;${6FH+o; zE$>or5512^{}IIvyX+L`DcLn<0h*n!SQ;T1s3=ncZW2c4H;U=0$V6*XH~f;`Oqgy! z@#>I20h^9Vmj5U5prDQph~QomnYvN4;qeAkK7;qE`S5#Iy_ci33GygW9?TG3wwy6b z`}yC*6YmPI@me*L+tTv*96dh`;XyrrcCz|Xd%!a$M(}A}-8f~0b_?}yK+MP0ryy~2 zU8tHcf6BU7p#R&ONkX8&uI(pd)siy@Va6(?m|qT2Q$q%_u*h)}nBNKozh`&S`1~G! z>mRn?!=gYTms?}WNafuwYzB3YYQwJEY6^RNN%@`EbF$*^W3Ndw!VaIx&9Y zFIogv5xU9;fV(Vu__LaAY++al+p0yQVPD|;Ja_Y+jzSWaza*j6*`mRv zd|=*6nsJ<{vx{qKJv8D_lrG;?5K$RvBBaQDxwrhi<9n>y8WSxGk8w1>ZL2=2)98Gw zNqvv`sAb32v~17IWzIK^Ozg{v5ud~1Kf8WC2ISGoD^ywbiOzUEU}<(qNGemo)U_%c zS|z=g=o29HZ~>}7N+q?jHsIiuXA)%IVPD`1R;?Rq8Xve?*fisRureg zJX~$R-<`#yp++fi8uft}7#mWEx+;8k(8 zZes2_wjk()KyjhR-DpbGcxooZ-QniB5LhZ;YBu%CxLZ}9yRG~Fg*#?#p52>3Zv2;U zBSUsZ!9Cmnqp#WH)?DHCUw-8S_VJ4BHs6PxoLB_!LiYu1k+Gha)9sw+_73@K*$$x( z^SLuen2y;#w;?j-rt8t7+FoFOkNf4Nt-NDbX0mJ)z(h}3S7sWSF6A!=L2Q-*hGJH$ z#}WGvS@Ko+AP~5Zb3k^1Z=8aj(F55|b?PGU{h0~UbIY7XAztTrXT+5J$sX(JG%UPi zB1Ok#qe7lxGw-zRJY=;+b6)w1xANKIApRjT_CC3O3^oNeyXa@nyhi);3M76fN4U_o z`#bC$nBMx!BJF|k;@oWaEpMGvwxNeD!4QZ3HT&A&!2tn}th$5-t%duJ(?d^))d{F@ zXAj1Y56N7_vATwXili>>J2Us&Z-vA}%{!dY&~RT1^w^_`oF6vk1l&48XbaFWKNS5% z)MFZnf9~ZoRsvTONaD01&)s+^8xwY}QkB{P(b`=E(uQs#0$!ulg&06)Q^eY#$hm zj2m>AP(nZVKc}HAgqOj^+D-V^pZI%{z9R@l*MZb@ojzCxY@FB&g0AT59j?g=ARz1l zDu>2AJX#{O1cy!zCWl1#CFwKw3YQ`FYKH%~_?YQ)=u1*)EZ5%=ja3dgGVt+Px%)XF zmwR~-75q>m-GEuce*92&3<4RtiDqj)qMO0&Elccn>`yWvzZRGiNmKRHKU_|(^9Tpi zdC$QaH*jmYiGPq8VEi=BUM$p+eL`po1XUo^B4UGBC*ywc=OP**m)iJ+AjzP#Uh#wo zyEzOf^z!ej>4%x#b>DrR%`gbQSbiSMHbidpPO#g5ns73oB-IetQQ2M7V#8 zG_Ifak;=IaQ_!8nB!)riw&T<=5@|K?c2-T}th6R3Y<6W~uvFjC2I1VztCHo5n%Iee z+M|_Fbpo-^IH|A(x=1~w0VBZc$kONOaQ(+s}p_nk#Qtgei9W>2A@yVn*O!~<;UxuKzdFF&r5^H~| zV(^G|dCVy-1&+FRZz94Fs7(nF1`ck?0au>V900LrX#Xuh`s8y>37fCcW|mDiE1@i= z@v=T?&Ir*ksJ!sR=wmcv6K+sCXgvH36=9%aOCofh-G@Rr2=Y~yzyNLG<`-2E-BHR) z{Zd||n>3;BppSjMN!Z`nBw3C`gj%}y|9HLHsBP_l)}0_bi4fz#9jP+bg~gkN+RwI~ z$l_Rk<}Is(!#$MOJuAZxW#(ffP7p@JgDIyPc?iNprWVfpe^IQ!-2m%0+@xseQVuH3$H^pO zpPO=r0@e-7fj zwbEzi#7s-hK7_e!OWwyVfVfEh{aNwyd_)n?m?sj(Dmy+yLDE4wCnl2+FZP}A5BFW5 zM_#FXS?9HB2nKeO=AOoJ-JJufx@otiNcn8yX{qlKz_?q{1m=CPLEqqSSwcwrC%Sx~$=`Xq+LJDwC-SsGF&z@u1$C>L-4JZnd$3eUz>d-60PU_A1$ zpSYX(9E_WvK3Hdk+5dA$*=>agj5d1viISFmd1AVkT@*)oyVEc(+z_L}*H70yJ;kk+ zsA!riO3D0@#FEvx6j^k7&E}!m0$c3m(?5a`MzPojlausXWD3G?0x$F$VV_>;8eB01 zP)QNt^h~F0O%~3~`X;FfTSll@6WsqEAFE5WDnK=pz!d;5vU0SDp7bP?Mcu1Jq85SF z4AHYXyt`6If0I7+wnEM_@vn{7&kB`n!G(8gN!MMv~b6lY3|RVdhI=eL!f<3f88i;WJhu4q1y zb)L%S!bZOL3JQV>3PK9&zKMx{fRqKb!=X34FKZtF!rl%qHIwGfY*ig|RWzSKdO8aH zL=BoykTtRt9=E6G)a}lPMQ7OzdVb5hZ!2Yjb;N3t=%l8bb?HJ++vl5$)&SU9${INX z&SCh6qU%9sgWoZ#o{gPvNm6!`vUx!KyAxNu_cz(s*klA7misBjKVAqyK-)70GZJW{ z-g*Rq06QEfi8E6a_41Pkmrt*1};O%+fRhij5n zUt}t%zs$-Q1D54A*aD*AWP-E0VO_JeT4b|qEqpK*kEEl5ys&6nAy$9q_10dr&DFTIR!VNISzj$gaU`i}A1wH^ z6L#McwSIg$S}s0YnXYc`v+Jc9is3mC;#Af|$d-leY7ZH!;-Rm`>VKEO!e(sr*rQeO z?(p#>C!H(%{y0PlQq%eYi|ZZ}w^I#v7;h*Rhbloq7N$j}p}X-BfMmxESYKMyo}D|IJf_6a%vxtDq`JZDYwb-;a&M`vM9Q+r`;Zk^a}DvvOta*+&}!h8Q7 z7wrS0bZc8%Tl{-K9A5n3M5a~9DEnnJIJ^r)7|3?g0oz06ciUP8S#`Lb2=HmKO2-L^ zjb{b#2$Sw7QKZ(CGL1BU`1fhOqLzh*-ov8-5vjzGQ?FUa>I{3$Vnhb36Uw5S+p+t3 zgJ_`fvbDNF*xPwL(#9S2X-;sz=dy}QVDvEZuD_D35{qNgdVCa7uXjT@fdx@O1REAM9t@W=c_+r(-vHOY=|Bqot47 zk%-T9luC_kjLko)!RMANspv;fl+(xM6@aJm`FT7UfrWv(AXE4OdG%uzJT{N z6L*IisV9H7!-1by9O$j*5ep<#Pi3q zPkFWNt?w23 z=n*j-1}LEw_0Tx0&C_qCzw!p`N;zmC?Kbk2a)z?iOWEJ6C<9i2M)lBGn}sjpeYLA7 zk0OtPGL+Fo(<@zltlRw>?L7>slI$fmcPceG@=qlPt=A9Qmjwwv3e|^?f*QFT1lVX@ zu7L3|5^QQ`vL|{*A9aZ(gL!tbCP$Viqgny_#`*js&UaMOC`~e0`-U9b1Q`v)TN!TW zKIbM!S$Mm7xffKtIVZ{3`y=XV_q@H*5MG)y!w;T?9L!x~+7q0Aa*N%$L8qX#HvEyG z%rtUh`-{t^3@j)_)!oC1+uusP2hGfj1kh%^dE8{v$To5{^o)ya0ULgHN8?sZjXXdz z<*eb$m28Fl?4Qpb{~##@ZKgUoGm-9)Cdh<7h8+|Ug6LHj+t%&we2!SDy8o>67Tne+ z+XC>{baUb{S?Pg;C+jE6$$t{3cjta7Vd4t^IoV(3VN#08+NuZbeeS*DVhK-u2I6?w zoS2Ja0@&}XNZRyjNQ5{r%fyMV;vXo<*dfd7iHM- z__kxucQya!cGeFRRF#Fi@HqbO=%qLISkeQ=y}aubu(a)A_Ox1HUu^$$DrHbq*3@gV z{UEe?T^joKg0M8##K}IL;y2O{N8rPq%>m=cvJmGFU%z^(QS6G+qZoD|t9rck6_{DT z&gsA$NA{=tU#Tk#<&O*Bk8#!kPtjN~7qom56NWLf*Unb2&z`vH{KU}z$&b#%qw)TM zDQhN2NZAeIHx`Q4AcG-hH*Te7R67DoH9X9%hef@u&+Iiv77+E{JV`Pz0%Y3q)4m3d zZ)ZlpQ5SZl_%u8%`}8qSydxo72$}zyUi}PbyPhcB#;7mVsZd$$cfuTHO7)}(UQgtW zDVj^{M8V`yJ&Pz;Dk6j5Sjpq0T7}3b0(??&j|}fB2DO8<7j-9`y6!%GLn#)WKSK@IxZTb1EV&@> z=ie{S%-lcKdAIbevSsn90~jBwv9Sy$^fXbc30Vva~F{ss<)cufho zUic8yjOrKjI9Aj0?rmc~un!tsvnJDuYphR#sx92q!XG-0tzb_u;C^J-@#`ENcT%!- zoiRR`^TkFLf6kqA)NNJGpzJ=XWM9{E?r*zbMVXYr(}?~N@n2+fHOgWq9S??dFLJ4o zBjeY%_d&Jx)1Yl3wWYT152W=U39{@tXLb!Ko7w`cXA_50*F)T%a)L)ON$dOmE8=lJ z|A?AI9*Zk)I3soG0L(fs55L^w=d=`QiZAybNmGKj#tNy!F$rKhrb*lDIq9`;bMNuJ z<1jA4Ha#5p%2bh3_70VdrC$^)r6u*2!zFAL6fMQ=RHE!tMevX7*U zRD1Ap{pJ1TzZ`jmH^SVsG`EDMr6ntUv%jaFsNz89f1iY}+)1&Cd(0q3LQEO0eZI6! zijU73+vL_`X91gT_ANuLg}hc4Gs48V7OR&cjEil(l#<39ZN^?z!ubb}b!AREg}%8o za>vkk>b9S0y}+Msj6-T}Bgvxhd55AxWZH_Ix-baTap;G)g|)dg4$)UDr+iDf z5vl=B@&|5)kv$}#=80qKr%&q0gHmd4`_jeXs~|*-hG4rN;n#F*O|!~|S2Q2jQNQuApYng-4%$YKPlu^h1Njy{pD?eOb z6P5sVjr6%HZCHOf2P(u2Kgqk~x>{>yhVNiXZ4@ofrJ69l!?4gjAx{2F;zhO`YXBT% zymVwY7opx1h^>7{ic<=aIXaw`qCq%t5T$BY0;WrF8J4BExOGUf6IKObd6F(dI~NM} zF?bgmYd%IQ%6*j|gUFpW>ekG1gh-^433&ZPHKWZ`UalGk9U|C&{P8Z!tEkx8Cr?#f zd;?qOcC|9r)cciE*%qGTAR}o(ui0tCTJ{yAq2}uJ$0&;piRu^9QjQyk+~Dwfbtxk| zJRk|#*`qY68eGel$UQLbE&v$bi%g;dQ1lI2exsLE0g zjC30R7E!i^%+nSHt`>tz%&{XU!=Zb>cTFSO8QEz1{|rzuHZ^uuy#5szC9R76OkDLY zeuzdGUb!XKU!%;o^~t@FwDoas-FE2M#@gmql++hFMuL=(70%)!?C;)qYesxI77(37 z(^WG@>-#GmQevRvdAI1;^O^JnOr;oI{VrZiFlBF1SL6bBf$7eRs zm{UwD*pt7zw8&#wO-m;wNzABoRB;;w)2e(R5f4!wT8sRCuBD)B=%CmkVH++G2di3l zSDc`5EEsh0Eo-sp$7g(aFmdoU04U0gw%(bO2F;RF!U9sfuJJXA4x=e)KjiUI&F>%m zv>8;Q{E|dteel=FKmx?mo~+s8{7#&=@{Xd;c)Qv8qi8ASe%yzSw{;%Jjy0;;-N#4a z4wCZQTFX!k1iofNqk4VIaEWCh7r_zCC0G3*geX`m6BQtsElmMPgnh81l+*Ja$QC)DqvF^Xj1 z&*a|GlV98PY!h%_?jL&Z0a$Mi$l?)a#TYP&L-9Xl6Ff}nQFlWdDOP^OU=jJ%#!wj! zHu6uBx5x|g9sXHll*(hjufH~4$%q8tqs3^)g{G*0W%q8+k$`WeRHZB zAFs^`%#Mq_PHY)Vk!7_Tqb(bWup+J+V51cij)}6Vm-9nOOO{`wQS8)eylVZ!rp`*s z+3L>7dGOag17q#pq6r}*Bhw3w_%JfD6;U9x;vU4^YsTuX;OgS>X4g3<9(VSPFl-1j1^)} zMzqC{Hqr zcG{2Jcq@bEC$36WU+AW?3!nBzHX;;>1RSxF*p9aD5|YTuMVW<=_fW?#imTQzF8#e@ zB=LAMdY)hAZmd z{V6jE4LY_;BJDx7)kE@j+rU9G zG`y-s>Bb_bfV6pWa1oFolkkxUaq*4h2M<)I4I#Dv61pz$QZt`-twJPFtOg}r{}c{D z9Lu90JIfnnLeRb9TPe8x!287yWm4Lz?iTP&kkV;>#Qdg}x*{PT($LekwkZG|t7OKRoQFnEdoN4S$v#rs7Fp^UgC76OTzOFZl{n{|46R-8K*0-vyAgc4;>ARWMv~{5f&4XM{cPCHN zR9#=oxWLXb?Rf1QpEW(hZMf-gslI-Pb;J1bNXPm96Z9sNUQu^}NJE``ZSyH4zT!O6+V!J)SL ztjpwK_pG``LQPaC_g;0_2%o*yZhxh>%jsYOx~=KP78F?6Jz}`pO?t`EWNG~nGhCQ| z9(;c(9<1o4zTCpe+0xv?adm0Ew_4}5*qPzo&eP6gu92Q@JqEN@SxJP*FSjizydT$) z(P?{op`I`GwwSylVm}`INTKp-auprI-{9*W=y9_I`j0SPd{bc8mv zy9FiM;8RjQ#obtM>v*jw_w4^~PkPZeuxr)$>Q+AsJTnLI8%NetvG!g7%CL4z`xS-4b^uI(j-H>GM9Z zXK76=RRFiIunq?%;aF%kIpN*t+vEOcsT;Q6lz+T7!ykB{@&aQ5VN|S3Py*^I3t0g|6w3#w61u zbtqaX7AJ1I6Th_)I4*om#i@CPjBi#}dzQAgwm?u}4J+H76WUNEL~$AI#AV%0Eeo3q zN^PXra#~bDeN_boNOfajq<_~&*k&-9ld0@={bVuvJx;H!C*w>(Wuh792-#4vngf@> z3jGQOJ@%J~2b`AY6Cn(b>G;FtO=KZqCW2H*WV4vM;E*{9*$xUrIHw^S6Rvy?UxKlS z24IY*F~w7|@HMp@q3=sD-po)~_G<*gZ^s>REm7C^$GM7}_{#T#*_FQn-#0IpN_9yg z@gw3CBtrl7lXzd&OEIU~8jnBM;dP9~z6P*kE+l`qROM8rT45gMo!Z)YmydBf##Y#A z&iWW-U$frL=7UWelY{!dx!$_D)F+s_NyY#F?xXpAzsf-5f zn&lI%TRmEs_<-oI#kXT+$l`x96@XUG*^rMbz zxQ;UC#|*4qDHt3o>!)u=LcTLcKIw%g-L|@W>DX{I>07VQ;V>B`_KD-R$sSyG8OrN| zIATSm;qFa0g^N8^Drl>B9x~YCwkiOrHM;F>2W?4Teb|an>6~?2>o&QW&kQn!k2DJ z+OmCVzMk@G_}PWb_~}~(jRHtWh~a<2!otIJF)&tXAAk_qZ(h0j@we9mh+uLans?3* zNkMcBg8~{#cNJ|BY3<{eJ*2g=&$|aD{8c|)!J9f9PVd??UGpMi-D6FKTrXBifw!|S^~wX{j&nvPc4_!m=WvnsCo*n!{$oO}3zn*Y9RO zRq-9-oA~+5!Qk2lsg%6kr{ZZ!(v%(_TUw^3u6z{7w{oS@jBo+2t+En{cRPB*H+S71 z{)A$N^gPBd3#+SD*u5p=rY);3uWdAI4_T76{S2`&qphKtkeCs!id*KUtLrQ1>#O_0 zSF38^BI<+l4|=G(&u=Z{!otqN+`QZ_JNtt?ucW4=q~^y7EKQ&SuzJOPNPWniUG3!idO8jPjm&sSAJ79rX6%N5-XQ(|*=1N;!-0$T z;7r9BtS|8^%AadZr0U0uWBkvfag5i^!X#vGVf|Y&=y=rls1C2}RRW-w-JccezBOi+ z_bUECqGL(}f`DyGDt!}$By@fJEHNd>BjxC4zsKJAncfAaI$YFIhVl@vCw02X;k`P%Z~YFrmdhI9^}O|S6#VGWlLa&u80ikj|Dx?0_=Qbi z4t1hMz38{$1dtPpd=i2oamQIAg!1wj8vBhJ{Ar?lalqKekua! zcbSiA%$ty~9P?|J7ZOPVB9tg`B4gOPSNiqt@l!FP(J8@S{#I+}(Fa!AFD1~LAH?4X zPQ-(DxE?Jy`{Wc9`{GASWjd?Xx{7b1POh@1j+&;nF{;4d>zpk1b^aGd!`pVMHlvTJ zujww@`}+JxGR@q-Jm7m~V-vA!dH(v|~S6X0s5+ zNfXN=ZOZ^8AS6qv;J%{l1A>IV0)@Ek?eOdyzp*&nOM9(+elhok3IEd~_`~5>3w8Sa zsisT)JCCtt3vJG+&Eek(#H_IHWNIi1p9%CH_S)GXJ4v8tg>FFdBY#CYF8d+M~TA1XYY!f9WZ$SIJ7ExndjURy=_*yBj z8?isCeo<{b86=Gidp`-el#fT&R|sp9NqT0ZsHI)6EOo1@sVxd@Ov&p>jjr~vJQK*v z851r5yB$;Mm>9eHMP*ihRM#P1bE>NHOpb5}G}(2m`FBob-dI-D)`+BE{47dzYRP74ZF(^b@-f8RM&I*K6nenm)fo>#;?35gDOlWof`U1c^ z;7_bprMuZx;Q-OHO@Xua=ZjHW_)TP5`z*N&8Pd%Yh8rB^W3lyW?%8GnUyROt9UQnT z`67w`JCX30QNEF|MfY``0@ZHD));L!E*;KkL0y@`tTRDH%TWa=$ zL*1tC&Gl`n!}tJ+i)(#z%gCvU(C0@v1aQ~JVeNeJ&(7n~&!$G`ON{;(1XMw2-bpmx z!ZP<8Y0*Q(Qr}YY!$1kI98pvzn^J~x)f_eOni$!nU$0+ssGxKa1K6N^gJWby0nj0E zHKp=NwDNN=5@A{om|C3>{$Mud46>k#cpcq)sr#7Gy;;EO=GnO!t{5@!n(@~HTv3Yt zB$^;<%ob7*qq@p9h@0Y{X;^$ZX01n}->M$!|t?~gV? zu=h9mrSsd*y@y*53{}AW+)Hks(NUCvm80$h&Fz)^K`fD#<|Y{;$I`$rre<-e6&^0` zyZ3CgKyFbq72}37?;~)ym?qJ8ew=PRm=*>fL!{w;pj&V6t@W`@sD)t#5ac;L45jcQ z987C{>!Ky(aulQJ9^&Kt{(Xv{m~l;D;Md_pmbOrUCj+{@G9^?Bf=sN0X|ii&dgFe~ zuEHIHo89{qaXquSO>cy8e~>Gq(`YlTNCWEqfmxG-xL15f#rJ5sfHkogZX#s!z>}e> z#uK(Q!wnzA`yWA$PV&oefd76TQI0>T*puYI^Gj@|e=Ub0qs=2y{BC0_12GEpJN3uE zZlQ<2)oC}H%I~9E@Mp}m;20GBCM?!y|02XY8dMsh-?OgrJP5GAgAYhjZn037I%fam z$q%|C$5DBi;Xam}rL_7!hNbXl>GP8Bs$y)&cC2P-UXXd)t{*q70wOSEnlq~)N~=*| z%ij13gq3a;&H2m`7o4uY4B20ZccAuuJIcJ9zY|~W8Ri{iL8vj#+7x}TvJ{k1T$yV7?lxwDzHN8t>!N8$tRtT9o2-7P*EwG~!< zX*2dU?+ zN?f|)Y-@Jh3@GgVDXsa@PYS+w9uQgPcim_h^Z@G~K*NinJcGF})-BwGn2&ws#RX>r z@l)G2GhhStplNx3Nf7bkjezDEcA4%oL6aa_#{0@FbBnLQLzThD>IG#aq8r~|KM!pj zEH;0aj=#x_!{P?RB|M+q0{yCj7OK`0fw;Y$<4<9r#cVPWO8lKw_A)|H^2mLN?Jjvg zoeL|)NkE~mt-$0V-BHobDtr|-XqB=^GO(>kA@uWmE9RIxR=fn26uQK3LUGM|u@4Dy7}8MAHL-X*m$k!dhE>*`ikVowG;`tMM~v3I}2Zl`>AFDzj}B0$v=Or-27R$bcO1ZbGuJ? z%rpJso}x2#z!MB}w|=)T)XYPQl!aQNb|bh+7;ppOcBvh8BHbbQban!&Z=a>u@VYP* zMY_GY+I^wxU#|L>xhK2DEiW*QXW4`F7tg^$9g9a&F6+BNfKJW_jDBhjV4EZz*gV~q zS=k0mHJ}S;{VkQ^Sxpv9yX?bgrAkiWT0at$t)?!>SJ9dLn}6G6b%yAQJ~)BV;6*)U zuLpf~oQ0-OWyoVKlP+xhL|TeM8cCJFI$o-T{5%XJfr+ZcQ>qwk9qG&6Mb(KA1P|B5 zKP&SBp7+*6^JIst*>UQ9zB_`N9?!mx!S4Y2TcO;koj987J!x3q>;y$fBW5W7p(`&Y ze6Z(m7XE!oYAtkYU~Er9j=Yw_>ImWlZeV_HXYf5xBdb>a?c zV+=Y1`7B0ga-que#AJ2Nc~_(Tq_o3-4@S?SR9+EIwaHAlcxBY|5D)PE{gH;x%lQeA z4j!Lp&AML1)`KZ>iMYb%V6-d7nfl*XxegMt7FQv0s~tU0NVa-*W^uZ-^7S(nm!&D& zR1Y1SI=?sC1^>}C^g&G6oW%@M&0Me9>NMC+yDU%0Z@LnWjY+>^r?^f$j%tf5Qll{r z+y(pAcRKsgfavMx`x}Ob+01`QJjw&VWJ_fyt*EVuW!E}kGp6?7?SA+_WnHdSZFn)k zIpG@(5JT_uHI0MRhz~g*0)2Spq2X^D_h>gN8Y9rm$poBq>>g5Gre z#diRFSl5t%{{{7K*g7xyKwRKsZFL7$;VT-v%^O(rz(c||k0NB(HO|O_*L$P`)8+zT z9A5LjmRA+q_a9^A5g>WK^soHwXs;mnPu!x3pJxYx)VG=P8p(eU(60|@wQjT{ASXE05dgQXDYI#= zhI;6TC3u>t9*J|v-P|6yRBIk)K8PxHGj({^dJ*FlaRA@OCoO7+9hp2KK76|m?&KO; zh{NFI1;ZQk&lScEs6{4)`~})-_y1}kH#XWMFt&k(gZ@Dc-Imo>NjjO=k+KUmlvHk_ z-0KmpnsMaPOP+ce^pR1tiBtZ~O$IQH7>Q$A+g1Xg*s8uV=#~O)yK3tjz#=}|OX2g0 z&|L#O)FfwP!D3`l-LPL-Fc&StGAvCvF%8^G@ghGtJ>uf>nugMXs_u;L?9!qj%=VxX zQ+K!crJnJ{cZ76ANHyXDXiqqnB6<_+)-MAf3ST$(Lee^HUFNPV#>>q6s$WEZFvu$z zoS=Sgn_@_@DPjVe6lFvy>{^EJJBQm}Vvm}MjwJ3iP9t+Tv=w$&o`OQgYE2p(__EZ}^;_9b~4PH0mqQ zI+8yUW3eCK{VQW%TD?L;NysK6y-+b7}%YaGCq9CTs}KcuOwLBM8Vm6cJ}b(UD)0q4B^bCAHTTaw(!L z)iiXB4b4yL)8adBo6J&8Xc`U6F{2wSSnfcsS4O2CE_wDI9bN<-w%y?bQcvV4(Uz~Az zUH}=;=gm;xGPpS_C)>m^FtKRS51uvn3Efz@Cnv_<_EXHv+_Gf4PoPW|vbhw#3gfB9 zr`Wti$S<$s?R;c>3kSa>hV4du8J8rENxo4i=0LmD@RNZrN9{JfT?@}eYya}O9PJuk zzzu$r86q5ViLU#Em)kQdZyLh!9m+q%9}R$0j)%*bD~`hmqJ^R>gwQU(Y;^nKHbgyH z4%brTH?NxQ1Rp~iSWtJ^yJ5BNhXyrg2C=%DodyYlaHd?FFpa6)sq}GPYt&gSl#P2h zN=9;RcuVwK{g9Ws(V984XSTwgc-Tl)B1D8h{t-AIz%Zq2Z#vziWVWUxN5=rc0|#V) zLT%T-iJ7T&z9J@`4Pow{O1M}T+IMK``9s-qq|M6|%?f5POz1ewUf?Y>QhPgRP8=Q| z@7u#LB({oK|2_zszZoDKYT7aTbwYs=(z2DYjG(wTj}=8~#StniU~7xrvAvimxqYp! z<19vLjy&m`$rOL9v*N=qQ;Lf&u z;NJ77f6|m{tLvg7nT=GV#>fcEUPbZX@J2o!r-gvg*=&a7(S@N?g&589-vXqw!#*8J zXLn)#Wq{ug_uF&bv_u{8%rYv!>WOukub z;Sp5HJV2>d{^YV;-ao2Fcd?vAuTkT@oXkD(>N+^Xz*!Z%!nC=aGqWBvYoEAQL7P(2<3 zMr^<0$Gg(N8?f%&{>Vyius(Ysms0%{`D}4M;&L+ihd&C9N^mf`hYU94UvbrdLB%_- zhwI&GmKvQ_J2EdO32joY%GGED?;@(zlm4g{mpV~Lf=j%>#20-wf?u+5(a8|2Y`p6Q zK-~-M*YP8d#33I)B3+gedB7W@&VUU6}`}xi;h&dVjEiev`(- z!9F3YwK|AG0jGZ_UCEN5+pPU-QRsX8F05p;(&%>aCj23h$78R* zcyHs?WZmvONer;&VmY^KcTjt{dSMeSdAz8tmZm>#Vbgw^*OENHU#IpWkm90Q+5;td zxu!4Inv7Nww7H(GHE+$8l$mxa3!LzO?U~9Wfx}w~t>AAqJJ>(-5wEj48OV4>eXaa@ z#aYpX%6Hv>b80GIfL49rzeuuKtF^=(cy?qn24TJXYV)vFZd^+W85u&mTnQpF1ABs_x9+(Bucoitm0ja@THB*6g^wSTL;I zDBU&6`~WPU7+rm&+ZP;AlACFGdwQ+52VzDG8<~WJ2U2_KXxAJj z+zC&1jwb$tVQM}j){@oOZX6;U91Dwn`?Mqe%f-Ofep}Tj&dT;3+F5*&a0oys24#IO z4%`(T{nmc}sCEz`l_j6)`%Kr48bh{`2a?rDBmgGgQ9WS238ViN)IC@eCfE#d!R`hMv0dYrHI&l)B-z28?1NyDVvjJ~nqI9FK?CdOyFRA@PNRJT4~5NI;m zP4Mj2&9|X_!+1V<3JSMWt$Bc2;P%$t08&UeZo2V)w<~3P0_X@2exajIU0&O5E&S41 zkH9=fUDu=Oxf>FoU2lAq+oCt2-41L?EY5A4*+~_MQ8oYZY1}TlFdf%v-W_~&>dLt5 zuNU2z;B_7Si9ZT6l^iG_hVwDZPf!%$)5>z+7Z&C|2WDqkT1hlC^!=A;Fof<%dp&jJ zuvJ6KP?aeqNB?6kL>l``ARhhCos2U!fFa2N!@MGJ_a^dndNv_=>`X5cdgP;PMBpx1 zfH!g1`0R)|I^`6+59ss7~Ff;`56I*IV_?NjC~2a9yy-iC~0f!qd*`3X=51P zUw}Ao{MTICsBz+IGcf#~^Dw{oBxScxOL_fp`LqAOZ+>@$0dRamRQniSF*V2YWaL6Qf1)re`oXH{$JO$H+oJci|;R0 za^wf8^)z#Q{CEW36!?Gc8?q{PQxPpmx*CA}gkZ>OLoLhET5&mT|VJ{h0tM@9OlA6&Mh zbKH6&Hu%3w@;y-QOj$X|jrP!R-(E7#1B_zLY)w~JF~YxUKT&C*e%PADT!jIyq?=`5 zW)#PM960CLNpjbGM`Jt({u>EV`l9>=o_A1Af8*oz5C^-J%gMjZFv0)g&Z{fjvGu>^ zqxshs&zn${#AvU%=QP5*O27Z}!a&))7qP(1%yR;b$F9}MJly*0|4avPKjNtF{6YU5{yrWj^cf2#Hl=RmP7;En z!y|$IKOf1Z#P)UkjJW?^GHBM>8bz!)MAJp~6qwEhY2|$OpO59zVv9MV`%6$Fs#|R8 z?7E&U{^1qHb++3N6aNI=nTzfJ zzX2J2`Tuhm`=0ChkNbh-^AM2r(G({BuK~^lO>%WztmEz{xRa}|@w!P$4wJJrU^qu( zU1%{zYLrTD5_E(XE-P*V%?no*PG#Iqh57w<8D72IrOy+esN zs@nIrXP^#^4t{F#m}*&(|6pL_!b=VwC0Ur^5?>`9YV)5ob!A&*m;WO|+LE-iG^X!{ z=zcrUDu$kuBtjvdnzq_1zB&;7S()x*;gy;;RNwgHTzoIsA%!493?NOE{{Ff6yP^|* z_+r0_%Ut}i#K#ttP=2E;;}X$QJ~$6#1JU<01G}wdH%viQ91={h!p*bpFcWpqB_5O5 zwQ+TA4I5FD2Z}g`S^Ld^`uc~M6e-4~^w>6tXe}@~gM?^ynPotqT{#Kfs_icgbs1hs z*;DZTyh<&1oliykEwIa0e}@$*9AM9uXR{-YK;su!+q?b5SpiT3wZ z>2*@w3+U?5W+pAZyXHrQ{gp0bQG8G5b9oz?2QIX`9Jj6;xQq6n{;?Ea{QD~h<7z}s zqC6@K-r|*Tkud2xGAp5 z$U75euwV-z9hgb4T}ik0=59LcdJ)r5?zjpv0A+@;8;Hszrcbk*eI83qK-VLOZuk(s zKc+qmJW%{gUlB-W<{`DWihjKUrr)j!iu}JgIYSr{M5T9ff!l3W&3fAE-M%Aqt2^Mq z8?LbexzBeDjTRtQS%7Ho(nCA_Ne`?_;#35#2Tl%d_QRjkb~L@h?S`F^TkiVr6W=); zW)dViP~OK|Ex04Cg=scIn6eN8?pN+v;pLnX#U^75ynRgzjU;towSEv{Hn-tWOV&&gYB^9i)7xb z55Sh5E2UM&U+5q?B`+Vs)-G} zH?GV)zzqEw@|Pp`+hU}LVRSewLjpt(%RB$5{Z+I-4?~S*vy?xB?CVHE70c)LqijKY zhQ=;tqp|_|_Oj`0*AG0S+7xn{*55aU;}r3`_nsqG4ZH zg-oOAlvRjh)6I3iS$v5)=eXi14M*qEdM#~rSxBb()^|JiB1=somx-HuWo6~74j^qP zp%&Mqw8-%ONOSa|i`6@lP%mrRPTNH3p(1|(#p)ZQiK z#e3ZHQ*kY**E%Ra=9ur@oS))_ygDVl_?RJhd3%M_o(61E^g0}Aq0h>NevbG)jw~8ZKc&+UIyAr zat-4s$&ThKi+&qRdHS8X?j|i@vFqL9l^Aa7FNlM-(5x*YB=FgB(<6p3Ty0VaQ z5O7nlh^RXvqlUHcz%WZ*%Jl}|@#CM(n_}z2=*BJK){ZylC{q>V07Y~#IZ8TIjq+44 z>~C3GNOQSK7gZb7AvxZZE#Z2NncJ+`r^c@rBPDkd-LngMb7b&RJ9!HZm!O(x#n`_p3z@>=D7 zt+SSmT9d$HuI<2P9MER5%ZejMus+zT8{4psX%OxJ8KN0IDHGa5LD4s8gi&2{6x2|` zYOB|@S;M78iyl5>Xt)!PzEjh@+qZOkoAB^}c^e+s7f@RI0hmGkL5PFvFEc@93sZ3` zi%QPILH>i3lm;$*l)Qd1?|?F1gho~_B4WVM;b%dCJIzmiHsB{UGbuYCQ}o(;_vY2{ z%}CvL9%){l(KhqQP(y|vS$##9AguM2f7OswR8&+LE-?)=UmIx_T(B(hR9EV;q>~fr zznz-SOjqoEOEFhDA@96xBO{}!isYd`w+Ul-G|AxGf>v+1DgwQ@q^}ID+$8J;`Ngdj zMZ!%ECrFAI)xeg)m!-gj04`M}JGq_dl_61F_4I04boA|9B}bZLD(mjEGr-#xo}`YH z^m4zskL zB4#c!3d9Q{IFwd8mg#HL4-1P2V(33D$kbZ2HQkKaNdZ!3liuBuc#4QL)-TJR@4?NT z@l>RR&a3!Hp4yyKV`m>c{|~D~2+S@c#>Ov!h&vS0>2%B{HB2y*LIT;7*d7eLP z?t6y6i%MkaFnaw6_(1drjJ0{lk|9=W2}ac{{-!6*0)jQK?{ZbdrL6+WvNR_QT*Y`E zgsn*e&H=Z8p=O6a2my5K&r_>;do5*2P|gVvqb@Bqz(74U!u8`Cd9JLBZfE9n+-TBd zTJX8H@v*b<#PTcp8|#z3TI4Frkb>fN8Mb$LVLG#@F;BqQGuF=&WBlV_v}Tvhx{^b_ zBHy;lVw2Df{O3>ewn2@_X4XobHc37Co4h|>Jpp%AW(ngFk=U!9n3kPb7Bv~89skY8 z238(Iae+T}&KTUaS6=nkQ*c7G9@qJH10-gsr%Pmct%NP+o^!3a3@%z<{=9*AvBsBI zjq}cBxM^LDpZIGuKHv=6mWJyx>|~1x-&k)ToTipVr5JCqg;jmI32_%!qcA9=o(<8j zPXH1Nv?4rPqYFkl{eXKv#_{;HDKYVw<#2$fqTJW~U(y~zz`~>>(<^u9uClPg(Q94I z)#1gE8@}kI!IH;sZg2cd4A+~j>3#%ehqb<8B`+zV7=|Ppy{fp~_>BoKBx-r^)FXEd1wgN2p0v>)*P``L0P}%%zg%i6cYiT2#;2reB_SNC+M(wdDXSUK3a& zwC8$PnqyfPg;m9~wMeXlyYlwy*3!exJ!LOgeA~8nT++~&th%AdYvbP4&Xw21W0^mW z^?Xg9!&`0eSiCGVvrZqdSx3WKN8~#O+qI~VN&EAAJI?25RNCGQ2iTW|;F+1Q@;?#M z7%B8^Xp<{$vm^`TEyR>$1mi$jW@c(qQf!>IruOn292`m~6kJ(`a*Ce%c@b8r>uz|) z6Q!NG%R@SM*Ztv$j3eH##nn+X6J9d#e*MOaqFq_Nb8ozTvw}eWkgn|9O@Awx_*P9>B z)^C4#XT`71W=eNU{h4WZGJT7(I@UFH2Ms4cou^j?Rn$V5jo zVX^PneP^Ngn#Prf<3w&6MQYLfwcQd-{#%QEsXXGgy?5If(E3R4*l9Jm43nS~Nvd{r zQPf9G?kGS{;)njwEZ<6aVOZ|Um&?PG(I-a)Hi-s^r=M=34K!z3DCkJ{kbPt^fw zrgr)|9dp#pCdSm^N5m_!+)?m^Na5sC?LkgjDB!-ogP|5x0f?GbrSWb>=cz?T)Wxx+ z_p8{3%J83IB!H&W#H^T?pEokX2k6&)&;M!|5VN-tYpE;S8aTvcY~@ursp`q|oeLhB zcIBk!9$kh-SxM7rB&|NZn=Uy6->{zFYZ!m)Kq z0p_9mtGExf2cQHVYppedrbIcr8}>hD_kUaV&}OWs%^4pzZER?q);zL?ECS<0hR-TW zk6bs*Iycrv$y%A`*S3_uWio8u{ET2%3Ua>F9KgryyH$SNudu(A@-Epx5QOLNS& zc9NB};<6&5YuOqaRTY}p7oE^1s;Ef!<1x|+c=FE3fXnuCRLF2yD*CXR`5Hx~1!ntu z>B=$c5lRDsbb^Y6hVn?ZbVfuE4NM-k`SnT4Aq1s`wTa^j+bLb`v_sR9BIDDbeq**T zzY;uYQiO6A*ru+lx89P(3jLR-v7r48JMDAyt)y653Oh;2zU-Xm+6GC`$x?n4{V})R z36I1TYonwL8M1i1-l+TgEv_%if6LmgEVeqc{HiW5V^j^F z4#yrEisrl!H_zkFZZJ*mPY$*Ac(#Z)=*APjapW2~UVOr{36QK~bQ3$ues z;7(?FAzFl8YR!>AwF6%9Amy#1_0!|dK?nc0`3<}D)iu2><;Cz?aSmy9JHyWk|BmD) zPb@7FI&)p#miA>@*;68lPW)RXlqb6g!x+-L+^5}!g1j_Kf+mx0Qs*8LmI%{2-ky(G z_6c-7P78e`Zk3AaLz63We4StItnM#d0D2^MuJwKUG{+8xa{e~=J%(Ia)c#u%!zpa+ z%2vDAT-+hTbqv|p>$N=4-~{i}Rk@Ryl4t2t0n!c58JleFkzLNQ!Thsm&L=_5;=X;B z(Ss`0@!AohYpJ-~s8J-*Li#pxTy=)iEE(5AGwkg6^x=&%kYfR2bi_G&zOU5);8vT| z^8tOwFZ<$XcIDPZxK#9waG9q*JGl0HA_hD-+@|&X1IXd|kFCKQvaK1y498WJ=koN? zPbyirQHS%y=?qepshO?qoPNJC;Kx)DgGAULq(RfTX4W}dNThmfwfr5ZfVkRWg2>79 zwB=>xzvdQ)7U5SCcJ3C)F2oCS0Ls@r#EElX5K~D*5yHnutRM)A*Lk?ifuYe}!{4MV;aZ$$4BXGtvn3?5%QrKDAsB&gzmEd3uI^!P zIZzw!uO;t(II1mzm`w(Ka8k_SqQluSlgR={vD!sS<@0i_(X!C9ykxmMc-?lBhfa*} z*JUeGI1mL@WkEI=X^WS~bUq1NHPIK+AZM^>ryD=@6OQeKI0bPLAUeNY>qTKL1f$)J z+pXoUzC7CI z_z{ll__~PSwrI`NBmQX+w%#y~iK9_3o%uOerXkB7LB#C!FXMbjTI`9XZc9IJ3woj) zwRM))cp2XVY#FAJ$#)mja7(iWlNYxOhpj36&}lfrCr`Xq0|3#*CX#oS)_I|O=f>k@ z3tqvwR<2(|#K@Z7Au@6NchF}Q(DBSyH3k)es=n5>H!2zY8oFi8`5wxNwwQ5rb_eb{ zUb2;6v+L|s&3N?)d#$*vXotYNJO3=?#x8PM~lxK{d{NW{v+)8~S5mx1Ig3M$z^odZJ zlWO-xK+i-aIwm*Yv)iZ0ElNHh?^ML(z_-wk&X-xMk^%^MX>EzgIlF{A<1Af4A}?YuB63Jkzi%2gR}`cO}Ve+|I-Oe2m~4saD~5`OBnu zH&Bw10Af5r3*|gPzR#XQ!KoIu4`yDCDf@J9vFvlKqmgV*_I3s;Tcq=8$=ucFZ4bVu1zGF3Oi%bj!qM{_Gn5Te4!&(*-Q?Szkmq6u7yy(o zTNzPRJjM4RLYjk9^*+w?Zt=|9;g)sqq^qyT9h-E)!JZlsQ;HnZ4L5Qx9?QJ3)I7$H zYt_fE+b4lR!B?JMlzOi5mjK?C_&oRJ%JFju2ao~2kj3(3H$Rf-T%6R+_(+M>qf(w$ z7kfSjmGP~Gy;L0QC#tk4wewMn-9}bYLg3X4N)I_stUu&cSp2yuy_~d zYZmC)-y7V6|GCP!jJv$FlB2Gr?gg_v-OE5=RQ1Bi)Y;nLl#OH0 z1vCe4QrS_y4)%z$ok25Ci&4oms(PTO5(=Jn^ezpY4n?uE{%anfsP{uP*f*U@|E_F@ zl;i1kU+k7thdMyHR0UO!n6W6^nf<-LXJT=VGU*duAh$;;s3bDOCOdpFfynk~YcH7g z6jwC3fc76Z%g6?Ow8ARW!wH9~9djw@92i)z6oc$Zl)0^ybOCdp4e zRM0wHU+qp7a#!8BMHbhY9A)zqLt2`iW#-#{)c2gt5O7z zy8JtHXf_+aEdzti+VM4~XY*4OfL)3<>#H8#cWo)tyxFm&@6k99Am=IVm;jVP{TC=G zXy_@RC&yoqq_dQ=V8ZUJ+q4eXt_1{|%7tH9SwWP|D!)*lo!?4&Ob37gg3+4>RJfZ)$787HDX zJaSh*4gum#HjdbE%iO%u-rlR&SQUn4(q5W8j9=9A<-ur|2_b?M_pg&yn4dqAis|Fy z6(1T-XV&H8r`pJCy+(?kB8>!4)jbsGlG-ZvUb7+`{4=k06gYGKxSe^|^V`VsUnvJ=3TBR{du#K9i`_Sf ze{_9jgFCN@_i|slfGc7~iDugi`a>SBGA!--<-{JPR3k&L|elYnm z9&WJU5Ep4H=VnF`cXWdD^0eMi_X_U%nuCsCo0=bP|5?WF0+>05$clDZGmfl~!z;IA zcKoD6`R`^IJl(mRE1aFjMFVk50^R0@=<(*Q6ouxelI32?pmM?@{G3Kf_>3?1SmR_SJ1HH|OU7D8<9;(;ALY@C~Q zcq3y=^P`Waeqm;+rdyO_Mk{0uL{P9?gKgRPH{TDPD;~#rW_CIAC_m^9X&@2&bL`dm z+S{(H`nLG#;5g%p?E}mXcAC&G8>6_q-L0~Jq8|<~uvi3=?KE9#R#nC4Xi%GL3!ld% zFgD81D}IT==V7L^L`%fFI9V+|KLXLDY@+1!9R?q*Z6jZf;^z-`vjSze(Dm%1?_p z;%~9>;O;B$3y>N1v>X5H)c^)lR!+kK0>Xmk2QA;M+KJ{ zPcZsX%ROHhsW|ZF^Xy?lZDYlvq~vrS9aI9Ow8XCcND;=5nXLo|=v{Yg2y}FWOHR#9 zbz~uYyfG~o0fiI7@U$!#v&oEtU3qCKDS1sM&Z4?E?sVgkKN0(Q-o!)kQT}M}_;i}K z{TXBa+^lqv`tB=zZv>V(UI1SAeh=*i89xxn(<+qwFl{KD(bqN1X`M3Y75FM5uc z6osH4J*t0&_Lt_;WP0M!ZM@Ic8ZxdWsfy``(u1A(G4QnprxI)#d#?I&kogyF4G+Hc zgU>7NEG#F=j*m@{*%68uG%TemE_4AASzj%8Sx8j7L^w5*?II0)U0<9CLm3Gi(PlROR2u9tn!9Y}=XbZIqUGYvB$ zim!#g>oC%G+-+WKPp*M9|m+A}=e zk`dL74`I3dKa9O)RNUSl#)-STl;Tn-?k+9vUfkW?3DOpKcXxLk+}+)ZI}~@8{{FlB zV$YtlJFn(WCX?jm&Pj5g@8@}f4vxo3=2Qr5VwamuCk~S44dLgj(wQbnG|leYSw$)nNE_Ch|x?`*Ac2cyQt{ZtklO_mCAMVLrJIPxnudN7MHOd}DNOBOGN?~8CP{mH4AHkRy6;n3 zp}3hLn3?ScT>l)AN8Wdmo^0V3C7%uC8z)A~!3-9?dReU6=e4JDw;gFJGm=jf~i4*>!kb z@OG~#DP3{b2N;~>HNIG(YJ?b(h8F9bdq{uN^4@a;k`JCc*hOzx%>*3gR)ESFw*gPXR^5+6 zveuLFBxY5gHv`WAD=8E}idV z62DqZ{SUSv+?dYGo}gBh#sDU)tm=i~fnZHEm$!b}1F4L#{)rGSc3p(-VO7Wb!P%zu zx)b?SRqEX_lb4frO52N%2Y^Z6b`vY07odo$R2e2gTPZ;FozVN>#`w=HmYnrUCjt7( zHM65i|2M`eJlD~PC1I_cTAY?YK7^jD%f0FIEmpRp9yfk`|L9g*WEiz z6!b#TRwHW1u3zZ7N}|#dEEey%dzkemhL05Yfbpx66JB?nuHBJ_y;KukSAXtUm}tJ5 zC`JDSZE36jyQ(IUNKSrsV0rEf*!uP36~yGdMWu{S?(c}PkP~A5!`;#*f8+($FBuEC zDC4RZ`c~nAE`|wsFjVfGvSwoz4 zM`Om#BWPvp|Joy=NLkPv5l}UO*oQ?m{*ty-j5FT0I<`I18QSB~^Pd!%d|?zNL0?78 zDu5P;8cbASLur9cuE>Ts*~Kx9peI`3BG(z*7|B;E8#&8`CiD+~10Y~EJ!D)XIL zFd%K;9zP(4drW}2H&vT9+5PZ@=9q}Oi18XRU`$*92e)NMXENh-?#JTPPuqfxChIC| z^fkM?A<(9F)e`mScO`?xPz_k5D&BmIl~jV`G%ffelV1Z;g5FQaSL3-LwWWC9`y@%q z=v6DiR86?aQ&vDW3h~X?WYHw5aNucSe_&-L^+T6G#t~r+c~k163zVYf;N)CTU7X9~ zt&hvy;Y*-2d!?W>xZ$eGD=zG4sVuCl?1&Mfyqg@$|0qwqD>SVdZL4}=uwSECr;6L~ zZ&c)7L)U<*$yBo4@w{Jy+1)iElHp32liFi?P7mE+ItBQbeZrb_Swfr{N$2M0IhxQ* zX9D8pn&6~gTQ8GdPtYAi3$`4hG;5c?64az*T7Rkp?5FjfJM~EOUqbwvrIHQ4*5q_F z7Gx+SoTg>hJ6s>Ys@pZd7tBa*i8gV0T7#bbgLoeVQXNEA*x2HibXC=ZQjzH0jOa+` zzjbe2jsXeRsHf5WefDYJK;^a7rksCuV2z>f(@gghx8O67&s1R4o68e!7m9ZdHbe%6_%;$a1XU5z5D7Ekh3LjOPYuU z?fJ-Mbxm)wN51P8JpY_6Sxwl|{Jdykv}f|yyP*W8g4Ecc8fFzxL3U9gZpzyCPlZ5| zK@XE=Ds4o0lDczKyFuQ1WY-Trp`f9llNi&en;n-e4Kl(OJbtOVuLyOy z7!C1@hj^R_XmuR+LVK@?%9@ha319(OA7C&R)|M7+b-LZT-o2X^)}JqoN`|UGaZ*n= zo=1zW1-3EK(9kq%jE{nxrpV1muJ`{U{zZhlV$^NkuB+nMK;)1$yH+ca8oF*LZMQ5? z(Cap36yg}JSRAkXK3~mUIOKf)mX*ZMczaC$u8l;(e-d?H#7by{z*i|zu6GYC!-h@Q zLp|U!>ORi)=-H+$nNzlWxk#ZSFY+U7@>I6WqAc-dc;jce4lEctE>lOQ*J7<#<#@R~ z2^SrOhE7DJ*J61O6JVbtn){p0WU zJ1`KmrYD_vb-(NYE?BF6U9Aj*{9R1@-HY)l2*2(TbsgKS%&zRO%m) z%|J%=`?J^fQq8OquI)1pzYq65V%9lc3GmQ97m`Pv-&ZiH+iJhxUY`GhnEHF4Tqalk zsWW47q>R@zZ?El0F>-T}v+D6Bv*NiewR~1$JU1Qi=TyT2uyCkRF6xu}B}l;+U6E+yCVRql$u3M8rsJ{weL`ghF9U;*@LT!ra9)ya zadMGDnBH8sPWDMj(a1cV_|F!}5CmdDr-PrKB9aCQ^6lq2sKyg|*HJ_qG$u$>nqgtu z`3;ps=!qSaKm`tZm;gaG#am2I9=Uik4kj-Hnd4r3eh}ab`-rV2`2K5JN`97Ak%!J( zrGC?#T0S@gju>R+!X4d~i8QHOo=8JPd`n&|n?E_E%R~2tfy(o+yzpfwe*i_dAyCah z6!*)45TJ8W&JC}(XR z9YxH*MS*q_gp6=4S6R`836|HvM@qY}$V);(LX($MoC4KKN5^7BUh@WSzU}La_u-|G z9W9hDh=RL?t(Q3O2b;eCRNnVJoET*%OqxL&sLHFRX^`z7p60UlYcewzaaBWf@7T~% z_fXR)-xb&2^D~yjGZ0l#5CWm-^ks+c-T6H5FX%9QDZ`dAN8O(0K4% z8L?7s?{yH+?f8Mj!9+vD#Ki3PY_twC`E z7~o>hq2k$JD3aQ&ynj}1%4;{9vE5Xh^Fj(wPPjip_oDMK=u0$Gah*&8W&07@jSZ*m zTD6;Og;Tlqo?Qy)@D1VRV6*2Nm4DXs62-!iDdUupr3@!f@(8YrY=|>cGUYtA;td>+PHO`o2*Fq#ac379gshyNGTPigIT(|83mQ@%%;=HL%nJ z_bmPdu6X2fA)fx^oK4>LWmxyUrpnFz@2aM7(O1fWHO%GD9>bMK4RjhHW;;dDJAJsm z9WABMw5sJv&$os9cG};Y&=4MO3cN~uMmpsYOeWB`kY!b}Hj#zkGD-$Ney7!h0B)|< z4nX$)E@4F@mmteoun%Hmvzud_-!VVK6e7`%$J63RU@zxd7!do+NF)&`Ls$%kCFsQL zx(IB?4Z0s(sHYd&AGqNB=5a4M@t|@GfA9Zcv}1#`AawgVV`A+b51BipxAUdLggR-R z*Y%~*X)u+4kU`HK3p;s{y|QE#KpTSE>IkaLhKKvR`{&obYu!$td8LZUho|@O_lBW_VqS;~Wz+--%PgFtE-;Su<&_gH~e4J2%u?Pa+&J(-+gmi!R8ZzVG zY#3zUvK%5Ubh1=B_EaweUo)r8zm1Ds6hz%%gx_NoZ{+=b8s%Pd^!va=R#+lFoBfXl zAo?F1F#CVP0skM(lx9!)vP;*0{6^B{z_BcubNt+QQMK*Z)z~r%5GKIL@*kj*&Z!F6 ziHXD?K!ZfDKa&dnSvX;5i`x?E`A1JcxBGkE#|jB2{uNETz*!fLwhHze#OP1`&Cnc) z|FOCZxLx*!jSIgn!)oV(5L!cj*%)->AW@UuS+>w7;RpXx=vPz5+16M)(`R`tRggkw zBYN5vK*z;@bJReF`|$%WUU+Su0BaeY6w+4?`1Q250Syi$ER=FX6zEU?@ELw1bvrd# zla!df{iut{w=qSCUWudR(yt$k0~}Q8KgvZ$dZ2P6yQ6hr#&VQa1w@qnAOA3S1@pS0 zy7!9*2Y_2od*%L*l1VWXQ@!vP9zHMp`8{KjO;FT!Ov{LRdl-5KsRxDK6nHn}qhqbThVA zFHh6A?|=`)Gw2@*6p9~sv5s0+SUcBcI2-D<7A!1?=k(DHB+A1}^JzL-8V1%49+ct# zQ9UIG|u3lGI+Uf>N+bCFp-^4ld0TvZ*z#uDm^_ z5U>oIgWS{0MH{4fQbf$;6$d`Hx+@5b6BcvUK=UEs-S+CLq2Qdt%E!{*zlAJQw zyYzoMgLPT>AI}nf?;ldeiNyV}L(y)iH~$?h55)X`BZOQ5_j_M9INfE`{t-lk>orv^;=pw`O z9;_4=ZXL{)q)V6>3s3^{s?8!4!!?J88c)ft!>y*e-31Y0f0XPA`!Yld{7G&O{q1^e zoJqv8r%)>l5*%`Z^r$46gx+llEcF)3mUU?)c~{)vy)E?r44{EBCqF_QeU4&10}yiVSeHI1%WAu`XNAk zCRx+_x+iS?`OrkhWuN3-bc6GD-_?^dppi@A5c!xE?2*2`wTKQGY7DG{x~uL^Qq7K_ zqm*OfxMX2-8}^<=@JIljHfyX-5VqnE&EyQI;rtUnNxRqmxlUU%vDe+jDxmPN)C~!H zceeco{kq(60BnVH?w(fI7uZn}zGEMP#RrJc>vt0U2mu@OiQWNoRNP#J+8u#x+w^y+gFs))?~d5FGeu z+I*GguMjESO{Y89o4(ic>UutPrjLW(h-kaLl+x;zfL7DpNyABp#_ja+9wK^lyWlCi_{NWm(A|rscZ@wXzkm9 z4Dgh7{Rf9fC=kCN zcQgACIDZbw0mBp@Y;M4&swqjd?*`&6jGsR&yD5n53vV5C>%R6Y41>MBwDVWH^U^H2>SOU| zwG!D0n)uruV%q~H%7(ERN=g{Hxv5R_zz%}2o<4QZeecmbasN!4oQ2<#^N5Qlv30y?!KV^$U| zqRJ8EyfVq${Vl9>Qld#S6n``J*Sr`X!S*`%jtN2*gAL5vLiPY{{H+=ob4F-S;6;cC z+!F4R4OaA`~Yo7>+Y&Av=8cV^qy9sO_fXqp0miVbIN^+gZj zOQV8-w(1#%n(N*D%i(z^nHHN-+!;%zHXpOua;ird&R@p89j#Wd<>vD?-s2F_BQ`Nc zGkb?0r^iJJ3$X7i%>*em?nf*gdoSMJqlpZ!=5K>({jL@R(70P|_?X3{!^Qz+*SCVI zXuBK%Yxp*8q2BxL8)#X;+9i%DYIF^W&S!Hy2ru+*p|fv$E1z~@ST=13j(Uo) z`Qx(ihk)?=?;viOsa1%f`RqD`XkMXA7JG4_=wGBMHmEatMidd$92IaW-eP1h-)sLxMYJ>kC3OV6gaD1!LyP-9 zZUs3R^9#H>DB?9Da&qnNeltJ>L9gol7G{9y!~QO(v9YFr;;^Q3?cPdY<0h~;M4it3 z0QJs4vxV3n@TN{` zj?0c(8pi>)c8X5m;vwf)=VWuAwBxk?QEul=hf7DJ!XfkkK+~86M)~T#MvdnSR0(r^ zLIE{#j4X*lXtZd#&yQc0^I#nRxtlB8er3?^XeWL&89XYev$N&>YM@M%zPvQ2prxTR zi+;-`@pp^Gzw>VG4!+3m+!v8aI8gp0sXhTQrmC;L3VI7blqw^zqAM#cJ4w^(4Yyri zYBv8B-}1H5<%Q#1`GTGn^2yt67y0#qeb?y#S?nQRQsIL1-tZV-9|X0O=Kr$ThnquR zk-EiuK8V)uG2{cqoY}-T$5c^f+tcFzGU&lL=QYGSy$e@vW9x@VjS$(KKSvfnePDg z(0#@wxM)OC#vUXQrJsgu_^i^#^G?quS@)+ zZ0G~m+ePHfO0h_uO~j+JXaYJz!`BPLSy~v{;+$h(UG@9${p^4VccEK56EgMWMQ#1s z!p<>tpZ}}w54QeB7@KghSs+2m(pEv9d?xUDwbRxOT9b(8kX5tl));TSD)I4uMV=;9oSk&hp z4UZxNbx|!2tXG91yJxFat5}smw1fwmMK^PCRCxzKH=tHtgi|@(JyH9L!J}rozMqTCH~N!7qX_~+|UP8uQNlQRqzN=^Y)88jS-YROp7lYozAL(fLiW#g| zn*HfB!$?o~8IsX?%v8+-7-W&gY){Aq0T0s%nWt5IF5{z?W8X18h)fLe7u~l^O|J;I#;yo@#k_~Cduy@+V)8>C=ib-P%7$LIfnCAiDJpJXio_34TG^=C!pSvFUI_T$Sv!~3 z{WReAcTG78vCte-4^?yFjP1gZVFZ7hZcd@Z|!#qI35J1oNREx zLt^F1jmM{|h6dO9002zwAc-gKMm;B4zlxF)we^z~Jle1XEH-Klc0asv!)gf-(` z*Iwnv72|W`h+HK+o=R-i+{eU0lMWK>(NE#FyL$ilHYs(6@%2ZF5`A-C82esMVY0gc z=oHku5*UvB`+62c7rXbrj|fmH%tkQx2iQ}c*BraEHg$Vs_P_Fg$MW9pb1FAa51R8? zp%42352h7Yw++M$M!bA2S4TGFcZs2W+)B9kp)4 zi%k5~#RB4k_#4l#=xVi+l3Qm}M7diYC*q{g=~v143=lju2Zgv&7$ z>iLVlpMuCLRCRglsN(INCfAeDcUAvK7!WYBz z^1ZUx7k?`Vl8LTT0Ie$fU+``DVCOgbyTu(1^CWq`ZVZ}|X!8-|2-Ks_r@>gtXk(vS zYm-);DJyIOaZV$3OxU(Ka)D)yzjnS(7SE@}Fco08J52F;`JOesL>Z;UhC$LbEc>qd z+6~Tkg$qwu7H(=CK~eX3O0ng$y!P%ES7fgUofIzJRcJE&vTFlNk&>$3|0o<)T83;` z6IZlfS>lIt=KD-YWI}#@)kQicjDm!l^lJa-(g0}?5IBhwQN$2f%593986>8d!AI03 z?Ya=4F{niT1VNjve}Zs~0Wm7_LW|+FQU(v!3L?ckI8m|d^au~4Q`Q21!>r);XbyuG z#<>z~!~K5v`Q`^gg2WA|@a+=IaeR`wp=vGRZn^aU$JZ(1#6W1}lJi;2P^OVH?z@jc z$~qz{U`4s^op0e7{p(xbO9!yHMGcl>C8r`^A^ro`;W)o-&N~{R1BF5=l;4L(o{J3h zyQc4_SWf}%yQw{prGO`4K`1UO2Av^Q5KRNsQw$OFol@~A?yb~-$|ZXk%$y929G>=f z4akCPD%sLy^-2AE2==sDXN<8Hs^*rPI0@!HFsgFlx$k*_MyS9uxA9h2eTV|bGudpl z%rdl}!=n3c%8W{Zi&TRHmWE8m0V&Pk_m`mA86OQ%cpnHCzy0McWTYF<;WM9$jxq^`R&O~guCM1D#wXZxe%J> z-$jtAZE)ax)>}$l=hwLJbZ65WP`z7Qteov7>FcSf2}4lpILpei&L+1e*lc}vFXD!@ z&H5bSq(Z}6nnrs)J2Qizd$Mc=|9Tg8s4Q9(5U^H1_may=Z#PUXz!@rQcb&vlkA8N5 zJ%pf|7r)X(JkZS<2&G}t!aB6c$GN}|&-2nL?TOET-tx$uVsV5IU4yd$@VId;X136u zVMku5yVQ%xCQQSWrY(Nn_pldZB%@+xXC$mZ2rOUg*?lk%Ut&C%sI5wfM4{=5EXon2 zj#pF2gY|xg@}%?2f)rxRJhZnE3NoTFX9J4_AR7dQg}90d@BR=f`PjrH;%`od4&Cp6 z61&w+0IlX+K(PpSK;0Gs`2k86`qc=0Cg7IW{!b9ue1VTw&-g+XpN+zfk+N&>lZ*XN zKUdjP(O1>U{X>p2P=X9n0 zxu3wH{DsX?@95B&kKsqp?g|wf&WTK-MtL}ck%2)9rx`rm)gXEdE{bfnOCLT@Wk=ti zv61!8GoeZtC@d79;U%zT|GV7H##gzFrSha@yclWL{mO40!lP`!8y}AG{K{EUU%Qmi zCW_<5EFLkdx%Ev9kCP2~t@EF?6rY9^!7!8aTobs#I6yXzkXP`cj%VlRg#FC4qfi|w z)8+);kHcVNBq^MMhdM7P3~4Y|C|JRU2Aau7y;~we8Jtf*gd1JI8wxQt1U{x-fah$f zP#tP;EI9bRa4-}c4y?fpi4y#Gi9ja!eH?VOQaHl^VVlW1U#KZGI73l<^d1wTU84ck z+u<6&P)jj>^E+roN0JBTU?nJn+^t)uXf34HCw@|&+BI~R6CN=vG%q+bm@iH>QpScl2F7Ii z!lgT*o*M6nP8uFjF#7P1fAP=eCH^?HxVdxTm?IUIk}lSPKVJx>cf0e%mE^IoG9{!X zgZbT^^?qEpSQ#SRt*^fPhKQn%a=*KmZ%>D4|BT!Md_&;>1|l8}Ud!q=iJR4iCouFT z4*jy(3Fv8Si->4HWX8ruy2)roc^&J>y*5}#*(1)i)7>h(bo{Whq4@r*pP0Ypo@^fE z$3}C7JKWWi;IBfDW}n2YEz&1E1&Q_*-Vvi)-20gx+u#qX+UQH;XxwZy$hq&$PiUYo zDSJa1=qln08ld?0P5jLr;fC~`Ti~+Br5i)Mlh-+5v#SCd=?@3^>j~(WsgvfwUOf`N zNpeqksr&nT1Cmy}#X+lC$H1SmVKLEcOkWXX77y=&V`Skk1Nr!l6%VS1H#=Phb~7FK z^%FrSZY0EcG^8WD*p8^Q*{FQy%iDEihLzfwVY{92LTtn4d28cAqn74h{Yf{Y_{g-& z<6glD1A~kRlFaI?HAaI~df&el)hA^3PgaS;O<6m>;(u+7!iVYV0( z81!8QbR7%-tySY=iv0kx^j;k@ukqEl>a{| z=-o)n$m?E+hGAlwW4TETN5h~+x~#j?xvwhWpZK(^eC2R^es9mII-i>CU>hx(nD$<& zbf5#(S@oY_GjM2QXKA8QlX>LtQha9fw@3_R2mil5Vfmj#0PxwKV-PEk1vN zhb)3iRrH@7T2*q*11Jn}4%xLTTCAgK#b)WQ_5GuQ^WvY8TUG{hF{k!_Z}pHA{-@=z zc;3P^U?+%u1l*32ZEC&b=w4_c{ZIZ0XD$ZZdee>%Oh3uoZovQV!+6DF&Il3fQ5X4I zY?oG71+On;!?h!)(HdqF^H@p$?WgI-0QhcQG3oLehxnN!{J=S$5X6va9?h1+_QVIjCJj46?I814Xmcc2pgqHSe| zx_y+%4*0jS3Nyh!>p`@kBr&#tj|`%ZAR;DJ@KVlyfkeH|ABSb&2M&W*XykW{{NFMn zNEJIgeLwKuM|f1yAXw&eL>b^Tw`R$CNm)?$$S=_#=(0}2B9!~789(eW{N-mBWv*O8sF5bts1^XB9Aa@k6EcSg2X>ky|;Z~#gJ zGRv7Chzp$x5P2279mK8J@PiYQ6;?2h_i;DHEcwN8J`;iCT^+nU3=LOn*|rsiYX^Qe zd%&d;y;4?2expM_KZk6Mln%rxhi&)<$owX12`3`grQa$rUQ=jYT^&(Itc#6}WmS%q zqD^(MVRJOHuyyb>l+yGxG!+#+iwBW)=C#(d?YS6=cw1|GdwVMxDyjL38ezgmQ@6Bz z0juXsh>tf*n*UR5)KDUE>tW|;7&kj}ZB--tV30R$p`xwRo!0(yt{(W1EneEU2XJ`Y zS5=e~QsQG0W0TdARp)+ED^UH28{QjLyWju|7;}GMWaKSNU5a@-(uzdOySbW(?033% zl=g71hg`c+yr{fdRNUVDtQEy^r(|3gA8+zRJrXQM7JJ!ji}k6JP@W{(Vy;6ica}zl z3?*ui+3ntM5Pit__y({TWJLA;W{?vUP_WP&6g8hI!Rt{ppAg*|t9NV=-lhlM?_ zz9a;qa2l8M%g>1qa-6Kl3#MmnNY2BccUL|J(Nm7%cr#&V<7SYdQP6j@+vzxTtBh08 z1>~j0s?%fKcnuIQHQqL@0~b5`tG6e_@Afu=Ru;sXf4?AHCkXj!sS%bwi>PagXzEC< zbMhR}`-jut&3lwk($ZJmbaCyfimZFVDjf6B={*{o8*Azs8f&ZB zzHuhw6E5lNic)aMeQd6+p{69axxBtSmzJNCwM(*p2^c12sU&ii>+n3F);|?1+b~B| z`JP9wZ)0w4Xi&LhY-3(*P?oKatBteBRPH(Zr7yBR3B9ql*3l7l_q2S?Y1Jb83oprx zij3-8O)-qvdR}%;23HGq8cCKSXwacVe3f=3@}j4LnBl}U20;MFYsnYiVim3+7ifNV z;szT?2IM=9a{Jp>j_z__E$@*qsOir9vyU?j?|$q&{0?00%wWb8-mlQ~n3EZ8YmIAZ zVqGMcGP%bVxU(T#tP+Wa4ohNuyM7^7KV8e+3@=29Q|wYKU>a}d%3yC+;Wfi72$FX( z{%WWs)dq&W`pN3t=<0`@q|SiAH1&bcBzyz77J!X=Y8=JfR9n;FYjD5zL;Rbnl<>Fv zmYjJ+LPA1mCs?z|#S+=wrnr(CcOGV5k;$1^QkEQ}nfWv*A<59Vyta$eKI%(jlFSTzI=#EDKpsTQBef~_8((w^UvSv0T%TXy4+ zr1uP)d*3-;A9=41kkP|?wWj2Z&W&}&M?{Ej?#VcJD^yv*B40ufuIByhz4FKNfp>nU67xIY0aLP>92F@-G%^I=&WT0G-enQ#jRd5+w{I$Wei5FaSA7?UBUB`l>N_=>pnwolZu(0jf{GKdrwuh?(J)d{_v0Vj`v3N z43GO*3#P>CYPBw;{u3x2cJJs`q|_z*uS`Rs*9)EjqcG(t#;lVsy6R< zOIBbCBqudB?4|*Or0nMQ+8ZF@OxD#;wL%By0+d&-&ey(1To3|;Pn zUC7PQ->&e82@AB^^o=~J6^o?I&Sb03D9Ik??0Nu4#iho@)%1c1y081Yp6G$Kq7(U? zy!N-y(;*pv{ysHoa|Qlg)JEL=SpDTGHNcI?PZi@ zsz&(ic)}gun6fIn{En}gtj2bC=cG(IfDem4aP~MX=tqDs%+K1;8wESwF=;Qai^K4E zF~15rbD3*ytlsH=b$FH*p0c(alCA-4Z#()U7r8QF4pxSAMO zE~nuz^|B!vbWWwy;jOymjk)uQ&|QUy>-S4*-DZ=~1zD{|n+>4e^}3K!TLgDvO?fRS z-NSy6yInnWm8MUjsEnG?x6^QSVP5)x@xgV!$Ha=WVzt)BijlC<`q5(ks_fu9zh0i^ zrXHN5+PW2T3-0>uvT*DMw97(xTSfYVBUP_7Qm!$odXE_|P97i-^&TA4BJhWb1Cn zE6Qyzj5k|c&YqCdnyk%qeA2&7v31n$yq2-?ptSxq@t53pgL-?r9^5-=%1*J-Zt@&_ z6D`7KKdpxtuOj}A!yp{Z4%8v?#6!(THW7{xIhI#4@BkDpI^7^zT8VeE=f7ErHXF4r z*Nw6#9q%T$r$z_H%#0%hmT))19p99^G@RDLxDu`hQC^wt)(6JTQEgV6O?K=EakKVJ zR>?`~k-77{*2(Htd75?gb42Nl}b^Cj>gb&*Uq})~4+l9hJMq=rOlo z$Jn)EzXGp)zFaShPpT)LPY&0GE~^|>D^4$!m9FlRzK9VHXN8zx99+kb{2eYQ|NL$R zzY2Owzc4*duS+M{yy85brO#QcFQTBjUpUykx%LhaOF3s=vSu|>r6)XZw0MadwZ!Yi-@(AfE6+PrX$HBB?n*K-!E5iS7^c%DV^eQ zJwu;B>@)LnEtt)}M9d)y1kMX-9WBMErez;(kZ!3CnxQnl4AWY!4lI~7McFeYSa`uU z=Ovms&Z8w#XFy#-Q^IfH>F|$J$F>$Gt6SK7QS5eLfT0=?gZT~P2}2dCIiYLNGQN(r z0!Tz~eB6xZ(F&Ez(7C&*iE^;;Mh1`jHl;Q)G-RQO@ZgWxipbZ$Acz7Tu z?Pjxd(Mafslyp`;DSOxq4pkHQ5jl{B0CttAttCF*-TY87q6^QCmTCc0pX7 zFIZzv)@Ho^GFHRL6Dpfd_B-;@zM%K7nCdLq^Toy@DdVITjiOG` zWla@^M&Km{Afi>#zJ(-(K;kc#72kgBlW9*@wx6~=4yo9^y&H36a9EDc0oAR(t_MwK z@d0JC&oiIoKo(dK@QVw}8w)G5K^gAa(!%PEk)Q4xb;?{f9Bm`bP45Ks(hIM$`{=BviGLFc=`V>u zj7iY$xrZ2jbkWIYaIUW30ZK?dGD*U0_F;7Y=!j8fJUH+$9jR!#MQ0sBs}A6Y@(H7* zpa()-tzVzXTj}n}3xP^(vbkxelyt<$mq?NI0#-QLJ{2Pc*K)=xGPw<#(~w3uUy9GA zX;9v%yP1iv(A5bcBFhu&$zGFKHL+Ra_BvaaRYleX=jSaf2UsF-5~WBLY2wu&NO^Gr9Tr?r z=r78@ixTnIqVi>aCsQuzoj??;*f=bSm}Cg8XO2%`zn%!GH2Va&ifnx6adpj=5h~;?`QSl;<+!ws?Bphr|~dDSL&Y zI5VYk?GRN}Zq|6~cPC0nx8VOilR;d0crY#fdo)epkkPVx5QDGkweh5@{q}j{uTCqY zwZ)0XNP41+(gsCa=`&OiuIjCMpFVkcBk8h=5kpNOy?(ZZ2gsux0K}a0v#On-usG|JYi)8r^4paesDvt z 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%0As*=ls*wvvha_HN7q3z=}e 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