diff --git a/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/boundary_condition.hypara b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/boundary_condition.hypara new file mode 100644 index 00000000..6d30c513 --- /dev/null +++ b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/boundary_condition.hypara @@ -0,0 +1,64 @@ +# 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 = "SOLID_SURFACE"; +{ + int bcType = 2; +} +string bcName = "Wall_11"; +{ + int bcType = 11; +} +string bcName = "Wall_12"; +{ + int bcType = 12; +} +string bcName = "Wall_13"; +{ + int bcType = 13; +} +string bcName = "Wall_8"; +{ + int bcType = 8; +} +string bcName = "SYMMETRY"; +{ + int bcType = 3; +} +string bcName = "FARFIELD"; +{ + int bcType = 4; +} +string bcName = "POLE"; +{ + int bcType = 7; +} + +# '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/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/cfd_para.hypara b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/cfd_para.hypara new file mode 100644 index 00000000..b1c811b3 --- /dev/null +++ b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/cfd_para.hypara @@ -0,0 +1,923 @@ +//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +// PPPPP H H EEEEE N N GGGGG L EEEEE III + +// P P H H E NN N G L E I + +// PPPPP HHHHH EEEEE N N N G GG L EEEEE I + +// P H H E N N N G G L E I + +// P H H EEEEE N N GGGGG LLLLL EEEEE III + +//------------------------------------------------------------------------+ +// Platform for Hybrid Engineering Simulation of Flows + +// China Aerodynamics Research and Development Center + +// (C) Copyright, Since 2010 + +//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +########################################################################### +# Default parameters for Grid conversion # +########################################################################### +// gridtype: Grid type for generation, conversion, reconstruction, merging. +// 0 -- Unstructured grid. +// 1 -- Structured grid. +// 2 -- Hybrid grid, include both of unstructured and structured grid. +// gridobj: Task type of grid treatment. +// 0 -- Grid generation of typical case, such as cylinder, flat plate, etc. +// 1 -- Grid conversion, from other grid data to PHenglEI, such as Fluent, CGNS. +// 2 -- Grid refinement. +// 3 -- Grid merging, merge two blocks into one block. +// 5 -- Grid repairing, repair the original grid in order to remove the negative volume cells. +// 6 -- Grid mirroring, mirror a symmetry grid to whole grid. +// multiblock: Multi-block grid or not, only for structured grid conversion. +// 0 -- Not. +// 1 -- Yes. +// iadapt: Adaptation number for unstructure grid. +// SymmetryFaceVector: The vector of symmetry face. +// 0 -- X axis. +// 1 -- Y axis. +// 2 -- Z axis. +int gridtype = 0; +int gridobj = 1; +int multiblock = 0; +int iadapt = 0; +int SymmetryFaceVector = 1; + +// axisup: Type of Cartisien coordinates system, used in grid conversion. +// 1 -- Y upward. (default) +// 2 -- Z upward. +int axisup = 1; + +// omit_no_bound_bc: What's boundary condition for the type of "no_boundary_condition". +// 0 -- Interface. (default) +// 1 -- Physical boundary condition, used in Hybrid solver. +int omit_no_bound_bc = 0; + +//----------------------------------------------------------------------- +# Grid data type # +//----------------------------------------------------------------------- +// from_gtype/to_gtype: Type of grid data type in grid conversion process. +// -1 -- MULTI_TYPE. +// 1 -- PHengLEI, *.fts. +// 2 -- CGNS, *.cgns. +// 3 -- Plot3D type of structured grid, *.dat/*.grd. +// 4 -- Fieldview type of unstructured grid, *.dat/*.inp. +// 5 -- Fluent, *.cas/*.msh. +// 6 -- Ustar, mgrid.in. +// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. +// 8 -- GMSH, *.msh. +// dumpOldGrid: If dump out the old grid file. +// 0 -- Not. (default) +// 1 -- Yes. +int from_gtype = 2; +int to_gtype = 1; +int dumpOldGrid = 0; + +//----------------------------------------------------------------------- +# File path # +//----------------------------------------------------------------------- +// from_gfile: path of original data file for unstructure grid convert from. +// out_gfile: path of target file for grid convert to, *.fts type of file usually. +string from_gfile = "./grid/rae2822_hybrid2d.cas"; +string out_gfile = "./grid/flat_laminr_133_85_2d.fts"; + +// ----------------- some advanced choices ------------------------------ +// iunsteady: The Grid is for unsteady simulation or not. +int iunsteady = 0; +int iale = 0; +int codeOfAleModel = 0; + +// fileformat: Ustar Grid file format. +// 0 -- BINARY. +// 1 -- ASCII. +int fileformat = 0; + +// Parameters for hybrid solver. +// mixgrid_uns: path of unstructure grid file for hybrid solver, *.fts type. +// mixgrid_str: path of structure grid file for hybrid solver, *.fts type. +string mixgrid_uns = "./grid/rae2822_uns2d_4.fts"; +string mixgrid_str = "./grid/flat_laminr_133_85_2d.fts"; + +// Some parameters for structured overlapping grid. +int codeOfDigHoles = 1; +string holeBasicFileName = "./oversetGridView/holeBasicFile.inp"; +string holeFullFileName = "./oversetGridView/holeFullFile.dat"; +string linkFileName = "./oversetGridView/topology.dat"; +string zoneInverseFileName = "./oversetGridView/zoneInverseMapping.inp"; + +// ----------------- Adaptive Mesh Refine ------------------------------- +// In this file, the original_grid_file is used of the partition part. +// If use it dependently, abstract it here. +string adapt_grid_file = "./grid/sphere_mixed_adapt1.fts"; +string geometryFileName = "./grid/jsm.igs"; + +// geometryUnit: Geometry unit. +// 1 -- meter. +// 2 -- millimeter. +// 3 -- inch. +// exclusiveCase: Parallel projection exclusive case. +// 0 -- NON case. +// 1 -- JSM-C2-NPOFF case. +// 2 -- CHNT. +// projectOrgPoint: If the original wall points need to be projected or not. +int geometryUnit = 1; +int anisoRefine = 0; +int isProject = 0; +int readDist = 0; +int isDeform = 0; +int exclusiveCase = 0; // 0: NON case; 1: JSM-C2-NPOFF case; 2: CHNT. +int projectOrgPoint = 0; // if project original wall points. + +// ----------------- RBF Parameters ------------------------------------- +// symmetryPlane: Which symmetry plane is used in the mesh. +// 0 -- without symmetry. +// 1 -- plane of x=0. +// 2 -- plane of y=0. +// 3 -- plane of z=0. +int numberOfReferenceCP = 10; +double influenceRadius = 20; +int symmetryPlane = 3; // 1: plane of x=0; 2: plane of y=0; 3: plane of z=0; + +// ----------------- Periodic Parameters -------------------------------- +// Notice: Rotational periodicity only support rotation along the X axis! +// periodicType: Which periodic boundary is used. +// 0 -- without Periodic Boundary. +// 1 -- Translational periodicity. +// 2 -- Rotational periodicity. +int periodicType = 0; +double translationLength[] = [0.0,0.0,0.0]; +double rotationAngle = 0.0; + +######################################################################### +# Default parameters for Partition # +######################################################################### +// pgridtype: The grid type. +// 0 -- unstruct grid. +// 1 -- struct grid. +// 2 -- refine structured grid. +// maxproc: The number of partition zones that want to be divided into. +int pgridtype = 0; +int maxproc = 4; + +// traceMark: Trace mark or not, only for structured grid partition. +// 0 -- Not. +// 1 -- Yes. +// blockIndexOfMark: the block index of mark, only for structured grid partition. +// cellIndexOfMark: the cell index of mark, only for structured grid partition. +int traceMark = 0; +int blockIndexOfMark = 0; +int cellIndexOfMark[] = [185,30,1]; + +// parallel Strategy: +//! -# 0 : each zone is assigned to the one that defined in grid partition procedure. +//! -# 1 : random assigned for each zone or by some else ways. +int parallelStrategy = 1; + +//----------------------------------------------------------------------- +# File path # +//----------------------------------------------------------------------- +// original_grid_file: Original grid file that want to be divided(PHengLEI type, *.fts). +// partition_grid_file: Target partition grid file(PHengLEI type, *.fts). +string original_grid_file = "./grid/sphere_mixed.fts"; +string partition_grid_file = "./grid/sphere_mixed__4.fts"; + +// ------------------ Sompe advanced parameters ------------------------- +// omit_no_bound_bc: What's boundary condition for the type of "no_boundary_condition". +// 0 -- Interface. (default) +// 1 -- Physical boundary condition, used in Hybrid solver. +// npartmethod: Method of interface reconstruction, default is 1. +// parallelPartMethod: Method of parallel partition, this is set only when execute parallel partition. It would be skipped when serial partition. +// 1 -- Using ParMetis for homogeneous MPI. +// 2 -- Using Metis for homogeneous MPI. +// 3 -- using METIS partition for homogeneous OpenMP. +// parmetisBalance: Used to specify the imbalance tolerance. +// 1 -- perfect balance. +// maxproc -- perfect imbalance. +// 1.05 -- recommended. + +int omit_no_bound_bc = 0; +int npartmethod = 1; +int parallelPartitionMethod = 2; +double parmetisBalance = 1.05; + +// numberOfMultigrid: Number of multi-grid levels, ONLY used for structured grid. +// 1 -- single level. +// 2 -- 2 level. +// N -- N level, ..., et al. +int numberOfMultigrid = 1; + +######################################################################### +# Default parameters for CFD simulation # +######################################################################### +// maxSimuStep: The max simulation step, don't care simulation is restart or not. +// intervalStepFlow: The step intervals for flow variables file 'flow.dat' saved. +// intervalStepPlot: The step intervals for tecplot visual file 'tecflow.dat' saved. +// intervalStepSample: The step intervals for monitored probes variables file 'sample.dat' saved. +// intervalStepForce: The step intervals for aerodynamics coefficients file 'aircoef.dat' saved. +// intervalStepRes: The step intervals for residual file 'res.dat' saved. +// ifLowSpeedPrecon: Precondition process to accelerate convergence for low speed flow. +// 0 -- no precondition process. (default, mach > 0.3) +// 1 -- carry out precondition process. (mach number <= 0.3) + +int maxSimuStep = 20000; + +int intervalStepFlow = 1000; +int intervalStepPlot = 1000; +int intervalStepSample = 1000; +int intervalStepForce = 100; +int intervalStepRes = 10; +int ifLowSpeedPrecon = 0; + +// compressible: +// 0 -- incompressible flow. +// 1 -- compressible flow. (default) +int compressible = 1; + +//----------------------------------------------------------------------- +# CFD Control Parameter # +//----------------------------------------------------------------------- +// refMachNumber: Mach number. +// attackd: Angle of attack. +// angleSlide: Angle of sideslip. +// inflowParaType: The type of inflow parameters. +// 0 -- the nondimensional conditions. +// 1 -- the flight conditions. +// 2 -- the experiment conditions. +// 3 -- the subsonic boundary conditions. +// refReNumber: Reynolds number, which is based unit length, unit of 1/m. +// refDimensionalTemperature: Dimensional reference temperature, or the total temperature only for the experiment condition. +// freestream_vibration_temperature: Dimensional freestream vibration temperature. +// refDimensionalPressure: Dimensional reference pressure, or the total pressure only for the experiment condition. +// height: Fly height, unit of km. +// wallTemperature: Temprature of the solid wall, minus value is for adiabatic boundary condition. +// gridScaleFactor: The customizable unit of the grid, default value is 1.0 for meter.Common dimensions like: +// 1 dm = 0.1 m. +// 1 cm = 0.01 m. +// 1 mm = 0.001m. +// 1 inch = 0.0254m. +// 1 foot = 12 inches = 0.3048m. +// 1 yard = 3 feet = 0.9144m. +// forceRefenenceLength, forceRefenenceLengthSpanWise, forceRefenenceArea: Reference length, SpanWise length and area, independent of grid unit. +// TorqueRefX, TorqueRefY, TorqueRefZ: Reference point, independent of grid unit. +// radiationCoef: The radiation coefficient on wall, it is used to compute the radiation heat flux on wall when the boundary +// condition is radiation equilibrium temperature, and 0.8 is the default value. + +double refMachNumber = 0.73; +double attackd = 2.79; +double angleSlide = 0.00; + +int inflowParaType = 0; +double refReNumber = 6.5e6; +double refDimensionalTemperature = 288.15; +double freestream_vibration_temperature = 10000.00; + +//int inflowParaType = 1; +//double height = 0.001; + +//int inflowParaType = 2; +//double refDimensionalTemperature = 6051.024; // The total temperature, T*(1+(refGama-1)*M*M/2). +//double refDimensionalPressure = 4.299696E09; // The total pressure, p*(T0/T)^(refGama/(refGama-1)). + +//int inflowParaType = 3; +//int nsubsonicInlet = 1; +//int nsubsonicOutlet = 1; +//string inLetFileName = "./bin/subsonicInlet.hypara"; +//string outLetFileName = "./bin/subsonicOutlet.hypara"; +//double refDimensionalTemperature = 288.144; +//double refDimensionalPressure = 1.01313E05; + +double wallTemperature = -1.0; + +double radiationCoef = 0.8; +double gridScaleFactor = 1.0; + +int numberOfAerodynamicForceComponents = 1; +double forceRefenenceLengthSpanWise = 1.0; // unit of meter. +double forceRefenenceLength = 1.0; // unit of meter. +double forceRefenenceArea = 1.0; // unit of meter^2. +double TorqueRefX = 0.0; // unit of meter. +double TorqueRefY = 0.0; // unit of meter. +double TorqueRefZ = 0.0; // unit of meter. + +//----------------------------------------------------------------------- +# Spatial Discretisation # +//----------------------------------------------------------------------- +#******************************************************************* +# Struct Solver * +#******************************************************************* +// inviscidSchemeName: Spatial discretisation scheme of struct grid. +// Using this when solve structered grid or hybrid. +// -- "vanleer", "steger", "hlle", "lax_f". +// -- "roe", "modified_roe". +// -- "ausm+", "ausm+w", "ausm+up", "ausmdv", "ausmpw". +// str_limiter_name: Limiter of struct grid. +// -- "vanalbada", "vanleer", "minmod", "smooth", "minvan", "3rdsmooth", "3rd_minmod_smooth". +// -- "nolim", no limiter. +// -- "vanalbada_clz", clz supersonic version. +string inviscidSchemeName = "roe"; +string str_limiter_name = "vanalbada"; + +#******************************************************************* +# UnStruct Solver or Common * +#******************************************************************* +// viscousType: Viscous model. +// 0 -- Euler. +// 1 -- Lamilar. +// 2 -- Algebraic. +// 3 -- 1eq turbulent. +// 4 -- 2eq turbulent. +// viscousName: Laminar or tubulent model. +// -- "0eq-bl". +// -- "1eq-sa". +// -- "2eq-kw-menter-sst". +// -- "2eq-kw-menter-bsl". +// -- "2eq-kw-wilcox-1988". +// -- "2eq-kw-wilcox-1998". +// -- "2eq-kw-kok-tnt". +// -- "2eq-kw-wilcox-2006". +// -- "easm-kw-2003". +// -- "easm-kw-2005". +// DESType: Type of DES. +// 0 -- RANS. (default) +// 1 -- DES. +// 2 -- DDES. +// 3 -- IDDES. +// uns_scheme_name: Spatial discretisation scheme of Unstruct grid. +// Using this when solve Unstructered grid or hybrid. +// -- "vanleer", "roe", "steger", "kfvs", "lax_f", "hlle". +// -- "ausm+", "ausmdv", "ausm+w", "ausmpw", "ausmpwplus". +// uns_limiter_name: Limiter of Unstruct grid. +// -- "barth", "vencat", "vanleer", "minmod". +// -- "vanalbada", "smooth", "nnd", "lpz", "1st". +// -- "nolim", no limiter. +// uns_vis_name: Discretisation method of viscous term. +// -- "std", "test", "aver", "new1", "new2". +// uns_gradient: Gradient reconstruction method. +// -- "default", "ggcell", "ggnode", "lsq". +// ivencat: Variation of vencat limiter. +// 0 -- org method, it is independent of grid scale. +// 1 -- new method, it is dependent of grid scale. +// 4 -- Ustar limiter model, without grid size unitary. +// 7 -- default used. +// venkatCoeff: Cofficient of vencat, when using vencat limter. +// limitVariables: Limit model (It is useful only if limitVector is 0). +// 0 -- limit only for pressure and denstiny, then get the min value. +// 1 -- limit for every variables, then get the min value. +// limitVector: +// 0 -- Each variable use the same limiter coefficient. +// 1 -- Each variable use the respective limiter coefficients. +// reconmeth: +// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. +// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. +// skewnessAngle: The skewness angle of grid cells. +// roeEntropyFixMethod: Entropy fix (correction) method. +// 1 -- direct fix, which limits the minimum eigenvalue directly. +// 2 -- multi-dimensional fix, which is derived from structured solver and now is only valid for struct solver. +// 3 -- Harten type, which is default used. +// roeEntropyScale: Entropy fix (correction) coefficient scale, default is 1.0. +// It is used to scale the default Roe entropy fix coefficients. + +//int viscousType = 0; +//string viscousName = "Euler"; + +//int viscousType = 1; +//string viscousName = "laminar"; + +int viscousType = 3; +string viscousName = "1eq-sa"; + +//int viscousType = 4; +//string viscousName = "2eq-kw-menter-sst"; + +int DESType = 0; + +string uns_scheme_name = "roe"; +string uns_limiter_name = "vencat"; +string uns_vis_name = "test"; +string gradientName = "ggnode"; + +int ivencat = 7; +double venkatCoeff = 5.0; +int reconmeth = 1; +int limitVariables = 0; +int limitVector = 0; +double skewnessAngle = 60.0; + +int roeEntropyFixMethod = 3; +double roeEntropyScale = 1.0; + +//----------------------------------------------------------------------- +# Temporal Discretisation # +//----------------------------------------------------------------------- +// iunsteady: Steady or unsteady. +// 0 -- steady. +// 1 -- unsteay. +// physicalTimeStep: The nondimensional physical time step. +// ifStartFromSteadyResults: The unsteady simulation is start from steady flowfield or not, 0 is for no and else is for yes. +// ifStaticsFlowField: Statistical variables for DES simulation. +// startStatisticStep: Outer step when start statistics. +// when the value is larger than "maxSimuStep", it is useless. +// min_sub_iter: The min sub iteration of unsteady simulation. +// max_sub_iter: The max sub iteration of unsteady simulation. +// tol_sub_iter: The tolerance of sub iteration of unsteady simulation. +// tscheme: Temporal Discretisation method. +// 1 -- Runge-Kutta Multi-State. +// 2 -- Point implicit. +// 3 -- Full implicit. +// 4 -- LU-SGS. +// 5 -- Block LU-SGS. +// 6 -- Jacobian iteration. +// 7 -- Lower G-S iteration. +// 8 -- Upper G-S iteration. +// 9 -- Lower/Upper G-S iteration. +// iSimplifyViscousTerm: Simplify the computation of viscous term in the Block LU-SGS method. The default value assigns 1 that could speed up the computation. +// Otherwise, the viscous Jacobian matrix Mv should be computed that will increase the memory and time in iteration of the BLUSGS method. +// CFLStart: Started cfl number. +// CFLEnd: End cfl number. +// CFLVaryStep: The number of step when cfl increase from CFLStart to CFLEnd. +// ktmax: Dtratio. dt[i] = MIN(dt[i], ktmax * dtmin / vol[i]) +// swapDq: Communication dq between forward/backward sweep of LUSGS or not, default is 0. +// nLUSGSSweeps: Sub iteration of LU-SGS or Block LU-SGS. +// LUSGSTolerance: Sub iter tolerance of LU-SGS or Block LU-SGS. +// ifLocalTimeStep: Time step method. +// 0 --Local. +// 1 --Global. +// visl_min: Minimum value of laminar viscosity coefficient. +// turbCFLScale: Turbulence model cfl number factor. +// codeOfAleModel: Arbitrary Lagrangian-Eulerian method. +// 0 -- no ALE method. +// 1 -- ALE method for non-moving grids. +// 2 -- ALE method for moving grids. +// 3 -- ALE method for deforming grids. +// wallFunctionType: The type of wall function to implement. +// 0 -- no wall function. (default) +// 1 -- standard wall function. +// 2 -- Pab3D wall function. +// RKStage: The number of Runge-Kutta step. +// lamda: Cofficient of Runge-Kutta step. + +int iunsteady = 0; +double physicalTimeStep = 0.01; +int ifStartFromSteadyResults = 0; +int ifStaticsFlowField = 0; +int startStatisticStep = 800000; +int linearTwoStepMethods = 1; // 1--BDF1; 2--C-N; 3--BDF2; + +int methodOfDualTime = 3; +int min_sub_iter = 50; +int max_sub_iter = 50; +double tol_sub_iter = 0.01; + +int tscheme = 4; +int iSimplifyViscousTerm = 1; +int ifLocalTimeStep = 0; +double CFLStart = 0.01; +double CFLEnd = 10.0; +int CFLVaryStep = 500; + +double ktmax = 1.0e10; + +int swapDq = 1; + +int nLUSGSSweeps = 1; +double LUSGSTolerance = 0.01; +int order = 2; + +double visl_min = 0.01; +double turbCFLScale = 1.0; +double csrv = 2.0; +double timemax = 1.0e10; +double dtsave = -1.0; +int codeOfAleModel = 0; +int aleStartStrategy = -1; +int maxale = 10; +double dtau = 0.001; + +int wallFunctionType = 0; + +int RKStage = 2; +double lamda[] = 0.5, 1.0; + +//int RKStage = 1; +//double lamda[] = 1.0; + +//int RKStage = 4; +//double lamda[] = [0.25, 0.33333333333, 0.5, 1.0]; + +//----------------------------------------------------------------------- +# File In or Out # +//----------------------------------------------------------------------- +// numberOfGridGroups: The number of grid groups. +// gridfile: The partitioned Grid file path, using relative path, +// which is relative to the working directory. +// IMPORTANT WARNING: The file index should be ignored, +// e.g. if the partitioned grid is rae2822_hybrid2d__4_0.fts, +// please use 'rae2822_hybrid2d__4.fts' here! +// plotFieldType: If dump out the field results to visulization. +// walldistMethod: The method to compute wall distance. +// 0 -- accurate but not fast enough. +// 1 -- fast but not accurate enough. +// 2 -- super fast but more non-accurate! +// resSaveFile: The file path to save the residual convergence process, write data for every default (intervalStepRes) steps. +// turbresfile: The file path to save the residual convergence process of turbulence, write data for every default (intervalStepRes) steps. +// aircoeffile: The file path to save the aerodynamic force coefficients convergence process, write data for every default (intervalStepForce) steps. +// restartNSFile: The file path to write restart flowfield variables, write data for every default (intervalStepFlow) steps. +// turbfile: The file path to write restart flowfield variables of turbulence , write data for every default(intervalStepFlow) steps. +// visualfile: The visualization file path of flowfield , write data for every default (intervalStepPlot) steps. +// wall_aircoefile: The file path to save flowfield variables of wall, write data for every default steps. +// nDumpSurfaceInfo = 0 the "wall_varfile" write the informations including heat flux. +// nDumpSurfaceInfo = 1 the "wall_varfile" write the informations without heat flux. + +int numberOfGridGroups = 1; +string gridfile = "./grid/rae2822_hybrid2d__4.fts"; + +int walldistMethod = 1; + +string resSaveFile = "results/res.dat"; +string turbresfile = "results/turbres.dat"; +string aircoeffile = "results/aircoef.dat"; + +string restartNSFile = "results/flow.dat"; +string turbfile = "results/turb.dat"; + +string visualfile = "results/tecflow.plt"; +string wall_aircoefile = "results/wall_aircoef.dat"; +string probesflowfile = "results/sample.dat"; + +int nDumpSurfaceInfo = 0; +string wall_varfile = ""; + +string jetDefineFile = "bin/jet.hypara"; + +string overset_gridfile = "results/iblank.ovs"; +string sixDofFileName = "results/sixDofInfo.dat"; + +int plotFieldType = 0; + +// visualfileType: The file type of visualfile. +// 0 -- Tecplot binary. +// 1 -- Tecplot ASCII. + +int visualfileType = 1; + +// visualSlice: The slice of tecflow. +// 0 -- Do not save slice data. +// 1 -- comput and save it to sliceFile. +// sliceAxis: Normal vector of slice. +// 1 -- X_DIR. +// 2 -- Y_DIR. +// 3 -- Z_DIR. +// slicePostion: Coordinate of slice. + +int visualSlice = 0; +int sliceAxis = 1; +double slicePostion = -0.5; +string sliceFile = "results/Slice.plt"; + +// min-max box of the visual block. +double lowerPlotFieldBox[] = [0.0 0.0 0.0]; +double upperPlotFieldBox[] = [1.0 1.0 1.0]; + +// nVisualVariables: Number of variables want to be dumped for tecplot visualization. +// visualVariables : Variable types dumped, listed as following: +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6), +// -- viscosityLaminar(7), viscosityTurbulent(8), +// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12), +// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17), +// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), +// -- vibration temperature(Tv, 33), electron temperature(Te, 34), vibrational energy(Ev, 35), electric energy(Ee, 36), +// -- number density of electron(Ne, 37), dimensioanl density(rho, 38), dimensioanl pressure(p, 39), dimensioanl temperature(T, 40), +// -- gradientUx(41), gradientUy(42), gradientVx(43), gradientVy(44), iblank(81). +// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! +// Variables order must from small to big. +int nVisualVariables = 8; +int visualVariables[] = [0, 1, 2, 3, 4, 5, 6, 15]; + +// dumpStandardModel: Dump many standard model data. +// 1 -- Turbulent flat plate. +int dumpStandardModel = 0; + +// ifSetDataMonitor: Whether to set the data monitor. +// 0 -- No. +// 1 -- Yes. +// dataMonitorType: The type of data Monitor. +// 0 -- Probes data monitor. +// 1 -- Lines data monitor. +// 2 -- Surfaces data monitor. +// probesDefineFile: Probes location information file. +// nLines: The number of lines need to be monitored. +// linesDefineFile: Lines location information file. +// nSurfaces: The number of surfaces need to be monitored. +// surfacesDefineFile: Surfaces location information file. +// searchCellsMethod: method to search the cell of each probe. +// 0 -- Nearest cell to the probe. +// 1 -- Real cell where the probe is located. +// nProbeVariables: Number of variables want to be dumped for probes monitered. +// probeVariables : Variable types dumped, listed as following: +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5). +// Important Warning: Array size of probeVariables MUST be equal to nProbeVariables!!! +// probeVariables order must from small to big. +// probeVariablesInterpolationMethod: Interpolation method used to compute the probe variables. +// 0 -- Take the value of probe's cell as probe real value. +// 1 -- Interpolation from probe's and neighbouring cell to probe. +// 2 -- Interpolation from probe's cell nodes to probe. +int ifSetDataMonitor = 0; + +int dataMonitorType = 0; +string probesDefineFile = "bin/probes_XYZ.dat"; + +//int dataMonitorType = 1; +//int nLines = 1; +//string linesDefineFile = "bin/lines_XYZ.dat"; + +//int dataMonitorType = 2; +//int nSurfaces = 4; +//string surfacesDefineFile = "bin/surfaces_XYZ.dat"; + +int searchCellsMethod = 0; + +int nProbeVariables = 6; +int probeVariables[] = [0, 1, 2, 3, 4, 5]; +int probeVariablesInterpolationMethod = 0; +//----------------------------------------------------------------------- +# Turbulence Parameter # +//----------------------------------------------------------------------- +// turbInterval: Iteration number of turbulence. +// kindOfTurbSource: Kinds of turbulent source. +// 0 -- Original. +// 1 -- Edwards. +// 2 -- new. +// mod_turb_res: If modify the residuals for the cells next to the wall or not, default is 0. + +int turbInterval = 1; +int kindOfTurbSource = 0; +int mod_turb_res = 0; +double turb_relax = 1.0; +double freeStreamViscosity = 1.0e-3; +double muoo = 3.0; +double kwoo = 5.0; +int transitionType = 0; +double turbIntensity = -1.0; + +# maximum eddy viscosity (myt/my) max. +double eddyViscosityLimit = 1.0e10; +int monitor_vistmax = 0; + +//----------------------------------------------------------------------- +# LES Parameter # +//----------------------------------------------------------------------- +// iLES: Create LESSolver or not. +// >= 1 - Create LESSolver; +// < 1 - not. +// amplitudeofDisturb: Amplitude of adding disturb. +// disturbstep: Unsteady time step or steady iteration of adding random disturb. +// iterdisturb: Add random disturb in every sub-iter or only first sub-iter. +// = 0 - in only first sub-iter; +// != 0 - in every sub-iter. +// ipraddisturb: Add density and pressure disturb or not. +// ibodyforce: Add body force in source flux of NS equations or not. +// = 0 - not; +// != 0 - Add body force. +// bodyforce: Body force in source flux of NS equations or not. +// utau: friction velocity, using in DNSDisturb. +// sgsmodel: subgrid scale model. +// = "smagorinsky"; +// = "dsm"; +// = "wale". +// deltaFunctionType: = 1 - MAX(deltai, deltaj, deltak); +// = 2 - pow(deltai * deltaj *deltak, 1/3); +// = 3 - Devloped by Scotti. +// wallDampingFunctionType: = 0 - no wall function; +// = 1 - van Driest; +// = 2 - developed by Dr. Deng Xiaobing; +// = 3 - developed by Piomelli. +// turbViscousCutType: turbulent viscosity cut type. +// = 0 - mu_total = mut + mul; +// = 1 - mu_total = max(mut-mul,0)+ mul; +// = 2 - mu_total = max(mut ,0)+ mul. +// smagConstant: constant of smagorinsky model. +// waleConstant: constant of wale model. +// filterDirection[3]: filter variables in i, j, k direction or not. +// averageDirection[3]: average variables in i, j, k direction or not. +// isotropicConstant: constant of isotropic part of SGS stress. + +int iLES = 0; +string sgsmodel = "smagorinsky"; +int deltaFunctionType = 2; +int wallDampingFunctionType = 1; +int turbViscousCutType = 2; +double smagConstant = 0.135; +double isotropicConstant = 0.0; +double waleConstant = 0.6; +int filterDirection[] = [1, 1, 0]; +int averageDirection[] = [0, 0, 0]; +double testFilterScale = 2.0; +int averageWidth = 1; +int monitorNegativeConstant = 0; + +//----------------------------------------------------------------------- +# Other Parameters for Hypersonic Non-equilibrium Gas # +//----------------------------------------------------------------------- +// dg_high_order: +// 0 -- generic order accuracy. +// 1 -- high order accuracy. +// iapplication: +// 0 -- gas model is fixed in the codes. +// 1 -- gas model is imported from library files. +// iCodeBranch: +// 0 -- The old code version is used for Navier-Stokes. +// 1 -- A new code version is active for Navier-Stokes solver. +// nm: Equation number of the physics, but is out of commision now. +// 4 -- for 2D. +// 5 -- for 3D. +// nGasModel: The type of gas. +// 0 -- Earth gas. +// 1 -- Mars gas. +// nchem: +// 0 -- without chemical reaction flow. +// 1 -- the chemical reaction flow is considered. +// nchemsrc: +// 0 -- the source terms are not computed. +// 1 -- the source terms are computed. +// nchemrad: +// 0 -- compute the spectrum radius without considering chemical reaction flow. +// 1 -- compute the spectrum radius that need to count the contribution from chemical reaction flow. +// ntmodel: The thermodynamic temperature model. +// 1 -- One-temperature model. +// 2 -- Two-temperature model. +// 3 -- Three-temperature model. +// catalyticCoef: +// 0.0 -- full non-catalytic wall boundary condition. +// 1.0 -- full catalytic wall boundary condition. +// in range of (0.0, 1.0) -- partial catalytic condition, the value indicates the catalytic coefficient. +// gasfile: Indicates the gas model, 9 models are provided, namely "Gu5", "Gu7", "Gu11", "Pa5", "Pa7", "Pa11", "DK5", "DK7", "DK11". +// "Gu" -- indicates the Gupta Model, three-Type Models are embeded in the library, namely, the 5-species-6-reactions, the 7-species-9-reactions, the 11-species-20-reactions. +// "Pa" -- indicates the Park Model, three-Type Models are embeded in the library, namely, the 5-species-17-reactions, the 7-species-22-reactions, the 11-species-48-reactions. +// "DK" -- indicates the Dunn-Kang Model, three-Type Models are embeded in the library, namely, the 5-species-11-reactions, the 7-species-15-reactions, the 11-species-26-reactions. +// "Mars-Pa8" is for Park model of Mars gas, "Mars-Mc8" for McKenzie model of Mars gas. +// For self-definition model, the gasfile is used to indicate the file path of the new gas model. +// speciesName: Used to list the names of each species, while each species name is separated by the symbol of comma. +// initMassFraction: Used to list the initial mass fractions of species in accordance with the sequence of names in the parameter speciesName. +// ifStartFromPerfectGasResults: The chemical reaction simulation is start from perfect gas flowfield or not, 0 is for no and else is for yes. + +int dg_high_order = 0; +int iapplication = 0; +int iCodeBranch = 0; +int nm = 5; + +double refGama = 1.4; +double prl = 0.72; +double prt = 0.90; +double sc_l = 0.5; +double sc_t = 0.5; + +int nGasModel = 0; +int nchem = 0; +int nchemsrc = 1; +int nchemrad = 1; +int ntmodel = 1; +int nChemicalFlowStep = 0; +double catalyticCoef = 0.0; +string gasfile = "DK5"; +//string gasfile = "./chemical/Dunn-Kang_air5s11r.dat"; +string speciesName = "O, O2, NO, N, N2"; +string initMassFraction = "0.0, 0.23, 0.0, 0.0, 0.77"; + +//string speciesName = "O, O2, NO, N, NO+, N2, e-"; +//string initMassFraction = "0.0, 0.23, 0.0, 0.0, 0.0, 0.77, 0.0"; + +//string speciesName = "O, O2, NO, N, O+, O2+, NO+, N+, N2+, N2, e-"; +//string initMassFraction = "0.0, 0.23, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.77, 0.0"; + +//string gasfile = "Mars-Pa8"; +//string speciesName = "O, O2, NO, N, N2, C, CO, CO2"; +//string initMassFraction = "0.0015, 0.0429, 0.0, 0.0, 0.0, 0.0, 0.0777, 0.8779"; + +int ifStartFromPerfectGasResults = 0; + +######################################################################### +// Multi-Grid parameters. +// nMGLevel: The number of level of Multi-Grid. +// <= 1 -- Single-level. +// > 1 -- multi-level. +// MGPreIteration: For each grid, the number of pre-smoothing steps. +// n_post: For each grid, the number of post-smoothing steps. +// MGCoarsestIteration: For the coarest grid the number of smoothing steps. +// MGFasType: V-multi cycle or W-multi cycle. +// 1 -- V-multi cycle. +// 2 -- W-multi cycle. +// flowInitStep: Flow initialization step, 0 - 500 is suggested. +// Multi-Grid : Number of steps computing on coarse grid, during flow initialization. +// Single-Grid: Number of steps computing using first-order with vanleer, during flow initialization. +// mgCFLScale: CFL number enlarge times for coarse grid. +// mprol: Multi-grid interpolation method, interpolation from coarse cell to fine grid. +// 1 -- zero order. +// 2 -- first-order. (default) +// mgCorrectionLimit: Multi-grid correction limit. + +int nMGLevel = 1; +int MGCoarsestIteration = 1; +int MGPreIteration = 1; +int MGFasType = 1; +int n_post = 0; +int flowInitStep = 100; +int mprol = 2; +double mgCFLScale = 1.0; +double mgCorrectionLimit = 0.01; + +//--------------- Some parameter for turbulent model -------------------- +// neasm: The variation of kw turbulent model. +// ismooth_turb: Residual smooth for turb or not. +// SSTProductType: The type of product term based on vorticity for SST. +// SAProductType: The type of product term based on vorticity for SA. +int neasm = -3; +int SSTProductType = 0; +int ismooth_turb = 0; +int SAProductType = 2; + +// ----------------- Overset Grid parameter ----------------------------- +int codeOfDigHoles = 1; +int codeOfTurbulentModel = 0; +string masterFileName = "./grid/searchFile.inp"; +string holeBasicFileName = "./grid/holeBasicFile.inp"; +string holeFullFileName = "./grid/holeFullFile.dat"; +string linkFileName = "./grid/topology.dat"; +string zoneInverseFileName = "./grid/zoneInverseMapping.inp"; + +######################################################################### +# High Order Struct Solver # +######################################################################### +// ifvfd: +// 0 -- NSSolverStruct using Finite Volume Method. +// 1 -- NSSolverStruct using Finite Differ Method. +// SolverStructOrder: Spatial discretisation order of NS equations with struct grid. +// <= 2 -- finite volume method. +// >= 3 -- finite difference order. (to be completed) +// 0 -- default. +// str_highorder_interpolation_epsilon: Epsilon in weighted interpolation, bigger epsilon, better convergence, +// smaller epsilon, robuster for shock-detecting. +// str_highorder_interpolation_type: +// -- "classical", "test". +// str_highorder_flux_name: +// -- "roe", "steger". +// structhighordergradient: +// -- "conservation", "chain_rule". +int ifvfd = 0; +string str_highorder_solver = "WCNS"; +int SolverStructOrder = 0; +double str_highorder_interpolation_epsilon = 1.0e-6; +string str_highorder_interpolation_type = "test"; +string str_highorder_flux_name = "steger"; +string structhighordergradient = "conservation"; +double coefofstrflux = 0.5; +double limitcoefofinterface = 0.0; + +// ----------------- Advanced choices ----------------------------------- +// outtimesc: Time stepping scheme for the outer loop. +// MUSCLCoefXk: The parameter of MUSCL interpolations, belongs to [-1, 1]. +// -1 -- seconde-order fully-upwind differencing. +// 0 -- seconde-order upwind-biased differencing. +// 0.333333 -- third-order upwind-biased differencing. +// 1 -- seconde-order central differencing. +// MUSCLCoefXb: The limiter parameter. +// 0 -- the effect of the limiter is cancelled, means the first-order interpolations. +// allReduceStep: Iteration intervals for MPI AllReduce operation, default is 1. +string outtimesc = "impbd2"; +double MUSCLCoefXk = -1; +double MUSCLCoefXb = 1.0; +int allReduceStep = 1; + +// ----------------- overlap configuration ------------------------------ +// codeOfOversetGrid: Overlapping(overset) grid or not. +// 0 -- NON-overlapping grid. +// 1 -- Overlapping grid. +int codeOfOversetGrid = 1; +int codeOfOversetSlipGrid = 0; +int readOversetFileOrNot = 0; +int symetryOrNot = 0; +int readInAuxiliaryInnerGrid = 1; +int readInAuxiliaryOuterGrid = 0; +int readInSklFileOrNot = 0; +string auxiliaryInnerGrid0 = "./grid/aux-upper.fts"; +string auxiliaryInnerGrid1 = "./grid/aux-lower.fts"; +string auxiliaryInnerGrid2 = ""; +string oversetGridFileName = "./grid/overlap.ovs"; +double walldistMainZone = 1.0 +double toleranceForOversetSearch = 1.0e-3; +double toleranceForOversetBox = 1.0e-3; +int twoOrderInterpolationOrNot = 0; +int keyEnlargeOfActiveNodes = 0; +int outTecplotOverset = 0; + +int numberOfMovingBodies = 2; + +// ---------------- ATP read -------------------------------------------- +//@int inflowParaType = 0; +//@double refReNumber = 2.329418E08; +//@double refDimensionalTemperature = 288.144; +//@double refDimensionalPressure = 1.01313E05; +//@double height = -0.001; +//@int nsubsonicInlet = 0; +//@int nsubsonicOutlet = 0; +//@string inLetFileName = "./bin/subsonicInlet.hypara"; +//@string outLetFileName = "./bin/subsonicOutlet.hypara"; + +######################################################################### +# Old Parameter # +######################################################################### +int isPlotVolumeField = 0; + diff --git a/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/cfd_para_transonic.hypara b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/cfd_para_transonic.hypara new file mode 100644 index 00000000..9639efb7 --- /dev/null +++ b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/cfd_para_transonic.hypara @@ -0,0 +1,203 @@ +######################################################################### +# General Control Parameter # +######################################################################### +// maxSimuStep: The max simulation step, don't care simulation is restart or not. +// intervalStepFlow: The step intervals for flow variables file 'flow.dat' saved. +// intervalStepPlot: The step intervals for tecplot visual file 'tecflow.dat' saved. +// intervalStepForce: The step intervals for aerodynamics coefficients file 'aircoef.dat' saved. +// intervalStepRes: The step intervals for residual 'res.dat' saved. + +int maxSimuStep = 1; + +int intervalStepFlow = 1; +int intervalStepPlot = 1; +int intervalStepForce = 1; +int intervalStepRes = 1; + +######################################################################### +# Inflow Parameter # +######################################################################### +// refMachNumber: Mach number. +// attackd: Angle of attack. +// angleSlide: Angle of sideslip. +// inflowParaType: The type of inflow parameters. +// 0 -- the nondimensional conditions. +// 1 -- the flight conditions. +// 2 -- the experiment conditions. +// 3 -- the subsonic boundary conditions. +// refReNumber: Reynolds number, which is based unit length, unit of 1/m. +// refDimensionalTemperature: Dimensional reference temperature, or the total temperature only for the experiment condition. +// refDimensionalPressure: Dimensional reference pressure, or the total pressure only for the experiment condition. +// height: Fly height, unit of km. +// gridScaleFactor: The customizable unit of the grid, default value is 1.0 for meter.Common dimensions like: +// 1 dm = 0.1 m. +// 1 cm = 0.01 m. +// 1 mm = 0.001m. +// 1 inch = 0.0254m. +// 1 foot = 12 inches = 0.3048m. +// 1 yard = 3 feet = 0.9144m. +// forceRefenenceLength, forceRefenenceLengthSpanWise, forceRefenenceArea: Reference length, SpanWise length and area, independent of grid unit. +// TorqueRefX, TorqueRefY, TorqueRefZ: Reference point, independent of grid unit. + +double refMachNumber = 0.95; +double attackd = 2.79; +double angleSlide = 0.00; + +int inflowParaType = 0; +double refReNumber = 6.5e6; +double refDimensionalTemperature = 288.15; + +//int inflowParaType = 1; +//double height = 0.001; + +//int inflowParaType = 2; +//double refDimensionalTemperature = 6051.024; // The total temperature, T*(1+(refGama-1)*M*M/2). +//double refDimensionalPressure = 4.299696E09; // The total pressure, p*(T0/T)^(refGama/(refGama-1)). + +double gridScaleFactor = 1.0; + +double forceRefenenceLengthSpanWise = 1.0; // unit of meter. +double forceRefenenceLength = 1.0; // unit of meter. +double forceRefenenceArea = 1.0; // unit of meter^2. +double TorqueRefX = 0.0; // unit of meter. +double TorqueRefY = 0.0; // unit of meter. +double TorqueRefZ = 0.0; // unit of meter. + +######################################################################### +# Physical models # +######################################################################### +// viscousType : Viscous model. +// 0 -- Euler. +// 1 -- Lamilar. +// 3 -- 1eq turbulent. +// 4 -- 2eq turbulent. +// viscousName: Laminar or tubulent model. +// -- "1eq-sa", when viscousType = 3. +// -- "2eq-kw-menter-sst", when viscousType = 4. +// DESType: Type of DES. +// 0 -- RANS.(default) +// 1 -- DES. +// 2 -- DDES. +// 3 -- IDDES. + +//int viscousType = 0; +//string viscousName = "Euler"; + +//int viscousType = 1; +//string viscousName = "laminar"; + +int viscousType = 3; +string viscousName = "1eq-sa"; + +//int viscousType = 4; +//string viscousName = "2eq-kw-menter-sst"; + +int DESType = 0; + +int roeEntropyFixMethod = 3; +double roeEntropyScale = 1.0; +######################################################################### +# Spatial Discretisation # +######################################################################### +#******************************************************************* +# Struct Solver * +#******************************************************************* +// inviscidSchemeName: Spatial discretisation scheme of struct grid. +// Using this when solve structered grid or hybrid. +// -- "roe", "vanleer", "ausm+up", "ausmpw". +// str_limiter_name: Limiter of struct grid. +// -- "3rdsmooth", "smooth". +// -- "nolim", no limiter. + +string inviscidSchemeName = "roe"; +string str_limiter_name = "smooth"; + +#******************************************************************* +# UnStruct Solver * +#******************************************************************* +// uns_scheme_name: Spatial discretisation scheme of Unstruct grid. +// Using this when solve Unstructered grid or hybrid. +// -- "vanleer", "roe", "steger", "kfvs", "lax_f", "hlle". +// -- "ausm+", "ausmdv", "ausm+w", "ausmpw", "ausmpwplus". +// uns_limiter_name: Limiter of Unstruct grid. +// -- "vencat", "barth". +// -- "1st", meaning accuracy of first-order. +// -- "nolim", no limiter. +// venkatCoeff: Coefficient of vencat limiter, when uns_limiter_name = 'vencat'. +// The smaller the value, the more robust it is. + +string uns_scheme_name = "roe"; +string uns_limiter_name = "vencat"; +double venkatCoeff = 5.0; + +######################################################################### +# Temporal Discretisation # +######################################################################### +// iunsteady: Steady or unsteady. +// 0 -- steady. +// 1 -- unsteay. +// CFLEnd: The CFL number, [0.1, 100]. +// The bigger the value, the convergence faster but lower robustness. +// nLUSGSSweeps: Number of Sub-iteration of LU-SGS. +// 1 -- is recommended for structured solver. +// 1-3 -- is recommended for unstructured solver. + +int iunsteady = 0; + +double CFLEnd = 10.0; + +int nLUSGSSweeps = 1; + +######################################################################### +# Multi-Grid parameters # +######################################################################### +// nMGLevel: The number of Multi-Grid level. +// = 1 -- single-level. +// > 1 -- multi-level. +// flowInitStep: Flow initialization step, 0 - 500 is suggested. +// Multi-Grid : Number of steps computing on coarse grid, during flow initialization. +// Single-Grid: Number of steps computing using first-order with vanleer, during flow initialization. + +int nMGLevel = 1; +int flowInitStep = 100; + +######################################################################### +# File In or Out # +######################################################################### +// gridfile: The partitioned Grid file path, using relative path, +// which is relative to the working directory. +// IMPORTANT WARNING: The file index should be ignored, +// e.g. if the partitioned grid is rae2822_hybrid2d__4_0.fts, +// Please use 'rae2822_hybrid2d__4.fts' here! +// plotFieldType: If dump out the whole field results to tecplot or not, 0 / 1. + +string gridfile = "./grid/updatedgrid.fts"; +int plotFieldType = 1; + +// ----------------- Advanced Parameters, DO NOT care it ---------------- +// nVisualVariables: Number of variables want to be dumped for tecplot visualization. +// visualVariables: Variable types dumped, listed as following: +// -- density(0), u(1), v(2), w(3), pressure(4), temperature(5), mach(6), +// -- viscosityLaminar(7), viscosityTurbulent(8), +// -- vorticity_x(9), vorticity_y(10), vorticity_z(11), vorticityMagnitude(12), +// -- strain_rate(13), Q_criteria(14), Cp(15), timeStep(16), volume(17), +// -- modeledTKE(18), modeleddissipationrate(19), SSTF1(20), SSTF2(21), iblank(81). +// Important Warning: Array size of visualVariables MUST be equal to nVisualVariables!!! +// Variables order must from small to big. + +int nVisualVariables = 1; +int visualVariables[] = [81]; + +// limitVariables: Limit model (It is useful only if limitVector is 0). +// 0 -- limit only for pressure and denstiny, then get the min value. +// 1 -- limit for every variables, then get the min value. +// limitVector: +// 0 -- Each variable use the same limiter coefficient. +// 1 -- Each variable use the respective limiter coefficients. +// reconmeth: +// 0 -- When reconstruct face value, Q+, Q- use respective limiter coefficients. +// 1 -- Q+, Q- use the min limiter coefficients of left and right cell. + +int reconmeth = 1; +int limitVariables = 0; +int limitVector = 0; diff --git a/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/grid_para.hypara b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/grid_para.hypara new file mode 100644 index 00000000..d81e67a1 --- /dev/null +++ b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/grid_para.hypara @@ -0,0 +1,30 @@ +######################################################################### +# Grid data type # +######################################################################### +// gridtype: Grid type for generation, conversion, reconstruction, merging. +// 0 -- Unstructured grid. +// 1 -- Structured grid. +// axisup: Type of Cartisien coordinates system, used in grid conversion. +// 1 -- Y upward. (default) +// 2 -- Z upward. +// from_gtype: Type of grid data type in grid conversion process. +// -1 -- MULTI_TYPE. +// 1 -- PHengLEI, *.fts. +// 2 -- CGNS, *.cgns. +// 3 -- Plot3D type of structured grid, *.dat/*.grd. +// 4 -- Fieldview type of unstructured grid, *.dat/*.inp. +// 5 -- Fluent, *.cas/*.msh. +// 6 -- Ustar, mgrid.in. +// 7 -- Hybrid, include both of unstructured and structured grid, *.fts. +// 8 -- GMSH, *.msh. +int gridtype = 1; +int axisup = 1; +int from_gtype = 3; + +######################################################################### +# File path # +######################################################################### +// from_gfile: path of original data file for unstructure grid convert from. +// out_gfile: path of target file for grid convert to, *.fts type of file usually. +string from_gfile = "./grid/updatedgrid.grd"; +string out_gfile = "./grid/updatedgrid.fts"; diff --git a/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/key.hypara b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/key.hypara new file mode 100644 index 00000000..7b8a76da --- /dev/null +++ b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/key.hypara @@ -0,0 +1,56 @@ +string title = "PHengLEI Main Parameter Control File"; + +// IMPORTANT NOTICE: DON NOT MODIFY THE FOWLLOWING LINE. +string defaultParaFile = "./bin/cfd_para.hypara"; + +// ndim: Dimensional of the grid, 2 or 3. +// nparafile: the number of parameter files. +// nsimutask: simulation task type. +// 0 -- CFD Solver of NS or Turbulation. +// 1 -- Grid generation: for special typical cases, such as cylinder, flat plate, etc. +// Grid conversion: from other format to PHengLEI format (.fts). +// Grid reconstruction: such as grid adaptation. +// Grid merging: merge two blocks into one block. +// Grid repairing: repair the original grid in order to remove the negative volume cells. +// 2 -- Wall distance computation for turb-solver. +// 3 -- Grid partition. +// 4 -- Knowledge repository / examples of PHengLEI-API. +int ndim = 3; +int nparafile = 1; + +int nsimutask = 0; +//string parafilename = "./bin/cfd_para_subsonic.hypara"; +string parafilename = "./bin/cfd_para_transonic.hypara"; +//string parafilename = "./bin/cfd_para_supersonic.hypara"; +//string parafilename = "./bin/cfd_para_hypersonic.hypara"; +//string parafilename = "./bin/incompressible.hypara"; + +//int nsimutask = 1; +//string parafilename = "./bin/grid_para.hypara"; + +//int nsimutask = 2; +//string parafilename = "./bin/cfd_para.hypara"; + +//int nsimutask = 3; +//string parafilename = "./bin/partition.hypara"; + +//int nsimutask = 4; +//string parafilename = "./bin/repository.hypara"; + +//int nsimutask = 5; +//string parafilename = "./bin/overset_grid_view.hypara"; + +//int nsimutask = 14; +//string parafilename = "./bin/integrative_solver.hypara"; + +//int nsimutask = 22; +//string parafilename = "./bin/grid_para.hypara"; + +//int nsimutask = 99; +//string parafilename = "./bin/post_processing.hypara"; + +// ---------------- Advanced Parameters, DO NOT care it ---------------- +int numberOfGridProcessor = 0; +// ATP read +//@string parafilename1 = "" +//@string parafilename2 = ""; diff --git a/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/overset.txt b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/overset.txt new file mode 100644 index 00000000..863e15c0 --- /dev/null +++ b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/bin/overset.txt @@ -0,0 +1,17 @@ +int taskSelector = 1; + +int codeOfLargeScale = 0; +int numberOfMultigrid = 1; +int numberOfProcessors = 8; + +string originalGridFile = "./grid/duodan.grd"; +string originalBoundaryFile = "./grid/duodan.inp"; + +int numberOfGridGroups = 4; +int zoneSpan[numberOfGridGroups] = 34,34,34,32; + +int solidBcSize = 4; +int solidColorList[solidBcSize] = 2,11,12,13; + +int outerBcSize = 1; +int outerColorList[outerBcSize] = 8; diff --git a/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/grid/duodan.grd b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/grid/duodan.grd new file mode 100644 index 00000000..282a30d2 Binary files /dev/null and b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/grid/duodan.grd differ diff --git a/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/grid/duodan.inp b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/grid/duodan.inp new file mode 100644 index 00000000..bcf94d14 --- /dev/null +++ b/F02_ThreeD_duodan_OversetGrid_SA_Struct_8CPU/grid/duodan.inp @@ -0,0 +1,2329 @@ + 1 + 134 + 33 33 21 + a01 + 6 + 1 33 -1 -33 1 1 -1 + 1 1 -33 -1 53 21 11 + 1 33 1 1 -1 -21 -1 + 1 33 -1 -21 1 1 3 + 33 33 1 33 -1 -21 -1 + 1 1 33 1 -21 -1 11 + 1 33 33 33 -1 -21 -1 + 1 33 -1 -21 13 13 4 + 1 33 -1 -33 21 21 -1 + -1 -33 33 1 1 1 5 + 1 1 1 33 1 21 11 + 33 33 21 + a02 + 6 + 1 33 -1 -33 1 1 -1 + -1 -33 33 1 13 13 5 + 1 33 1 1 -1 -21 -1 + 1 33 -21 -1 13 13 3 + 33 33 1 33 -1 -21 -1 + 17 17 33 1 -1 -21 12 + 1 33 33 33 -1 -21 -1 + 1 33 -21 -1 1 1 4 + 1 33 -1 -33 21 21 -1 + 17 17 -33 -1 53 21 12 + 1 1 1 33 1 21 11 + 33 21 13 + a03 + 6 + 1 33 -1 -21 1 1 -1 + 1 33 1 1 -1 -21 1 + 1 33 -21 -1 13 13 -1 + 1 33 1 1 -1 -21 2 + 1 33 1 1 -1 -13 -1 + 1 1 53 21 -29 -17 14 + 33 33 1 21 -1 -13 -1 + 1 1 21 1 -29 -17 14 + 1 33 21 21 -1 -13 -1 + 1 1 33 1 -1 -13 5 + 1 1 1 21 1 13 11 + 33 21 13 + a04 + 6 + 1 33 -1 -21 13 13 -1 + 1 33 33 33 -1 -21 1 + 1 33 -21 -1 1 1 -1 + 1 33 33 33 -1 -21 2 + 1 33 1 1 -1 -13 -1 + 1 33 17 17 -17 -29 16 + 33 33 1 21 -1 -13 -1 + 33 53 17 17 -17 -29 16 + 1 33 21 21 -1 -13 -1 + 33 33 33 1 -13 -1 5 + 1 1 1 21 1 13 11 + 33 33 13 + a05 + 6 + -1 -33 33 1 1 1 -1 + 1 33 -1 -33 21 21 1 + -1 -33 33 1 13 13 -1 + 1 33 -1 -33 1 1 2 + 1 1 33 1 -1 -13 -1 + 1 33 21 21 -1 -13 3 + 33 33 33 1 -13 -1 -1 + 1 33 21 21 -1 -13 4 + 1 33 1 1 -1 -13 -1 + 1 1 -61 -73 33 1 17 + 1 33 33 33 1 13 11 + 33 33 21 + a06 + 6 + 1 33 -1 -33 1 1 -1 + 17 17 -33 -1 1 33 13 + 1 33 1 1 -1 -21 -1 + 1 33 -1 -21 1 1 8 + 33 33 1 33 -1 -21 -1 + 17 17 33 1 -33 -53 13 + 1 33 33 33 -1 -21 -1 + 1 33 -1 -21 13 13 9 + 1 33 -1 -33 21 21 -1 + -1 -33 33 1 1 1 10 + 1 1 1 33 1 21 11 + 33 33 21 + a07 + 6 + 1 33 -1 -33 1 1 -1 + -1 -33 33 1 13 13 10 + 1 33 1 1 -1 -21 -1 + 1 33 -21 -1 13 13 8 + 33 33 1 33 -1 -21 -1 + 33 33 33 1 -1 -21 11 + 1 33 33 33 -1 -21 -1 + 1 33 -21 -1 1 1 9 + 1 33 -1 -33 21 21 -1 + 33 33 -33 -1 53 21 11 + 1 1 1 33 1 21 11 + 33 21 13 + a08 + 6 + 1 33 -1 -21 1 1 -1 + 1 33 1 1 -1 -21 6 + 1 33 -21 -1 13 13 -1 + 1 33 1 1 -1 -21 7 + 1 33 1 1 -1 -13 -1 + 1 1 53 21 -73 -61 14 + 33 33 1 21 -1 -13 -1 + 1 1 21 1 -73 -61 14 + 1 33 21 21 -1 -13 -1 + 1 1 33 1 -1 -13 10 + 1 1 1 21 1 13 11 + 33 21 13 + a09 + 6 + 1 33 -1 -21 13 13 -1 + 1 33 33 33 -1 -21 6 + 1 33 -21 -1 1 1 -1 + 1 33 33 33 -1 -21 7 + 1 33 1 1 -1 -13 -1 + 1 33 17 17 -61 -73 16 + 33 33 1 21 -1 -13 -1 + 33 53 17 17 -61 -73 16 + 1 33 21 21 -1 -13 -1 + 33 33 33 1 -13 -1 10 + 1 1 1 21 1 13 11 + 33 33 13 + a10 + 6 + -1 -33 33 1 1 1 -1 + 1 33 -1 -33 21 21 6 + -1 -33 33 1 13 13 -1 + 1 33 -1 -33 1 1 7 + 1 1 33 1 -1 -13 -1 + 1 33 21 21 -1 -13 8 + 33 33 33 1 -13 -1 -1 + 1 33 21 21 -1 -13 9 + 1 33 1 1 -1 -13 -1 + 1 1 -17 -29 33 1 17 + 1 33 33 33 1 13 11 + 33 33 53 + a11 + 10 + 1 1 -33 -1 53 21 -1 + 1 33 -1 -33 1 1 1 + 1 1 33 1 -21 -1 -1 + 33 33 1 33 -1 -21 1 + 33 33 33 1 -1 -21 -1 + 33 33 1 33 -1 -21 7 + 33 33 -33 -1 53 21 -1 + 1 33 -1 -33 21 21 7 + 1 33 -1 -33 1 1 -1 + 1 1 61 29 -1 -33 17 + 1 33 1 1 -1 -21 -1 + -53 -33 17 17 29 61 16 + 1 33 1 1 -21 -53 -1 + -33 -1 17 17 29 61 16 + 1 33 33 33 -1 -21 -1 + 1 1 -1 -21 29 61 14 + 1 33 33 33 -21 -53 -1 + 1 1 -21 -53 29 61 14 + 1 33 1 33 53 53 11 + 17 33 53 + a12 + 9 + 17 17 33 1 -1 -21 -1 + 33 33 1 33 -1 -21 2 + 17 17 -33 -1 53 21 -1 + 1 33 -1 -33 21 21 2 + 1 17 -1 -33 1 1 -1 + 1 1 89 73 -1 -33 17 + 1 1 1 33 -1 -53 -1 + 1 1 1 33 -53 -1 29 + 1 17 1 1 -1 -21 -1 + -53 -33 17 17 1 17 16 + 1 17 1 1 -21 -53 -1 + -33 -1 17 17 1 17 16 + 1 17 33 33 -1 -21 -1 + 1 1 -1 -21 1 17 14 + 1 17 33 33 -21 -53 -1 + 1 1 -21 -53 1 17 14 + 1 17 1 33 53 53 11 + 17 33 53 + a13 + 9 + 17 17 -33 -1 1 33 -1 + 1 33 -1 -33 1 1 6 + 17 17 33 1 -33 -53 -1 + 33 33 1 33 -1 -21 6 + 1 1 1 33 -1 -53 -1 + 1 1 1 33 -53 -1 30 + 1 17 1 1 -33 -53 -1 + -33 -53 17 17 89 73 16 + 1 17 1 1 -1 -33 -1 + -1 -33 17 17 89 73 16 + 1 17 33 33 -33 -53 -1 + 1 1 -21 -1 89 73 14 + 1 17 33 33 -1 -33 -1 + 1 1 -53 -21 89 73 14 + 1 17 -1 -33 53 53 -1 + 1 1 1 17 -1 -33 17 + 1 17 1 33 1 1 11 + 33 53 89 + a14 + 15 + 1 1 53 21 -29 -17 -1 + 1 33 1 1 -1 -13 3 + 1 1 21 1 -29 -17 -1 + 33 33 1 21 -1 -13 3 + 1 1 53 21 -73 -61 -1 + 1 33 1 1 -1 -13 8 + 1 1 21 1 -73 -61 -1 + 33 33 1 21 -1 -13 8 + 1 1 -1 -21 29 61 -1 + 1 33 33 33 -1 -21 11 + 1 1 -21 -53 29 61 -1 + 1 33 33 33 -21 -53 11 + 1 1 -1 -21 1 17 -1 + 1 17 33 33 -1 -21 12 + 1 1 -21 -53 1 17 -1 + 1 17 33 33 -21 -53 12 + 1 1 -21 -1 89 73 -1 + 1 17 33 33 -33 -53 13 + 1 1 -53 -21 89 73 -1 + 1 17 33 33 -1 -33 13 + 1 33 -1 -53 1 1 -1 + 1 33 -1 -53 89 89 31 + 1 33 1 1 -1 -89 -1 + 1 1 -89 -1 33 65 17 + 33 33 1 53 -1 -89 -1 + 53 1 -1 -89 25 25 15 + 1 33 -1 -53 89 89 -1 + 1 33 -1 -53 1 1 31 + 1 33 53 53 1 89 11 + 77 89 25 + a15 + 7 + 53 1 -1 -89 25 25 -1 + 33 33 1 53 -1 -89 14 + 1 77 1 1 -1 -25 -1 + 1 77 1 1 -25 -1 32 + 1 77 89 89 -1 -25 -1 + 1 77 89 89 -25 -1 32 + 53 77 -1 -89 25 25 -1 + 1 25 -89 -1 65 65 17 + 1 77 1 89 1 1 7 + 1 1 1 89 1 25 11 + 77 77 1 89 1 25 8 + 77 17 89 + a16 + 16 + 1 33 17 17 -17 -29 -1 + 1 33 1 1 -1 -13 4 + 33 53 17 17 -17 -29 -1 + 33 33 1 21 -1 -13 4 + 1 33 17 17 -61 -73 -1 + 1 33 1 1 -1 -13 9 + 33 53 17 17 -61 -73 -1 + 33 33 1 21 -1 -13 9 + -53 -33 17 17 29 61 -1 + 1 33 1 1 -1 -21 11 + -33 -1 17 17 29 61 -1 + 1 33 1 1 -21 -53 11 + -53 -33 17 17 1 17 -1 + 1 17 1 1 -1 -21 12 + -33 -1 17 17 1 17 -1 + 1 17 1 1 -21 -53 12 + -33 -53 17 17 89 73 -1 + 1 17 1 1 -33 -53 13 + -1 -33 17 17 89 73 -1 + 1 17 1 1 -1 -33 13 + 1 77 -1 -17 1 1 -1 + 1 77 -1 -17 89 89 33 + 53 77 17 17 -1 -89 -1 + 1 25 -89 -1 1 1 17 + 1 77 -1 -17 89 89 -1 + 1 77 -1 -17 1 1 33 + 1 1 1 17 1 89 11 + 77 77 1 17 1 89 8 + 1 77 1 1 1 89 7 + 25 89 65 + a17 + 11 + 1 1 -61 -73 33 1 -1 + 1 33 1 1 -1 -13 5 + 1 1 -17 -29 33 1 -1 + 1 33 1 1 -1 -13 10 + 1 1 61 29 -1 -33 -1 + 1 33 -1 -33 1 1 11 + 1 1 89 73 -1 -33 -1 + 1 17 -1 -33 1 1 12 + 1 1 1 17 -1 -33 -1 + 1 17 -1 -33 53 53 13 + 1 1 -89 -1 33 65 -1 + 1 33 1 1 -1 -89 14 + 1 25 -89 -1 65 65 -1 + 53 77 -1 -89 25 25 15 + 1 25 -89 -1 1 1 -1 + 53 77 17 17 -1 -89 16 + 1 25 1 1 -1 -65 -1 + 1 25 1 1 -65 -1 34 + 1 25 89 89 -1 -65 -1 + 1 25 89 89 -65 -1 34 + 25 25 1 89 1 65 8 + 33 33 21 + a18 + 6 + 1 33 -1 -33 1 1 -1 + -1 -33 33 1 13 13 22 + 1 33 1 1 -1 -21 -1 + 1 33 -21 -1 13 13 20 + 33 33 1 33 -1 -21 -1 + 1 1 33 1 -53 -33 28 + 1 33 33 33 -1 -21 -1 + 1 33 -21 -1 1 1 21 + 1 33 -1 -33 21 21 -1 + 1 1 -33 -1 1 33 28 + 1 1 1 33 1 21 11 + 33 33 21 + a19 + 6 + 1 33 -1 -33 1 1 -1 + 17 17 -33 -1 1 33 29 + 1 33 1 1 -1 -21 -1 + 1 33 -1 -21 1 1 20 + 33 33 1 33 -1 -21 -1 + 17 17 33 1 -33 -53 29 + 1 33 33 33 -1 -21 -1 + 1 33 -1 -21 13 13 21 + 1 33 -1 -33 21 21 -1 + -1 -33 33 1 1 1 22 + 1 1 1 33 1 21 11 + 33 21 13 + a20 + 6 + 1 33 -21 -1 13 13 -1 + 1 33 1 1 -1 -21 18 + 1 33 -1 -21 1 1 -1 + 1 33 1 1 -1 -21 19 + 1 33 1 1 -1 -13 -1 + 1 1 53 21 -73 -61 31 + 33 33 1 21 -1 -13 -1 + 1 1 21 1 -73 -61 31 + 1 33 21 21 -1 -13 -1 + 1 1 33 1 -1 -13 22 + 1 1 1 21 1 13 11 + 33 21 13 + a21 + 6 + 1 33 -21 -1 1 1 -1 + 1 33 33 33 -1 -21 18 + 1 33 -1 -21 13 13 -1 + 1 33 33 33 -1 -21 19 + 1 33 1 1 -1 -13 -1 + 1 33 17 17 -61 -73 33 + 33 33 1 21 -1 -13 -1 + 33 53 17 17 -61 -73 33 + 1 33 21 21 -1 -13 -1 + 33 33 33 1 -13 -1 22 + 1 1 1 21 1 13 11 + 33 33 13 + a22 + 6 + -1 -33 33 1 13 13 -1 + 1 33 -1 -33 1 1 18 + -1 -33 33 1 1 1 -1 + 1 33 -1 -33 21 21 19 + 1 1 33 1 -1 -13 -1 + 1 33 21 21 -1 -13 20 + 33 33 33 1 -13 -1 -1 + 1 33 21 21 -1 -13 21 + 1 33 1 1 -1 -13 -1 + 1 1 -73 -61 33 65 34 + 1 33 33 33 1 13 11 + 33 33 21 + a23 + 6 + 1 33 -1 -33 1 1 -1 + -1 -33 33 1 13 13 27 + 1 33 1 1 -1 -21 -1 + 1 33 -21 -1 13 13 25 + 33 33 1 33 -1 -21 -1 + 17 17 33 1 -1 -21 30 + 1 33 33 33 -1 -21 -1 + 1 33 -21 -1 1 1 26 + 1 33 -1 -33 21 21 -1 + 17 17 -33 -1 53 21 30 + 1 1 1 33 1 21 11 + 33 33 21 + a24 + 6 + 1 33 -1 -33 1 1 -1 + 33 33 -33 -1 1 33 28 + 1 33 1 1 -1 -21 -1 + 1 33 -1 -21 1 1 25 + 33 33 1 33 -1 -21 -1 + 33 33 33 1 -33 -53 28 + 1 33 33 33 -1 -21 -1 + 1 33 -1 -21 13 13 26 + 1 33 -1 -33 21 21 -1 + -1 -33 33 1 1 1 27 + 1 1 1 33 1 21 11 + 33 21 13 + a25 + 6 + 1 33 -21 -1 13 13 -1 + 1 33 1 1 -1 -21 23 + 1 33 -1 -21 1 1 -1 + 1 33 1 1 -1 -21 24 + 1 33 1 1 -1 -13 -1 + 1 1 53 21 -29 -17 31 + 33 33 1 21 -1 -13 -1 + 1 1 21 1 -29 -17 31 + 1 33 21 21 -1 -13 -1 + 1 1 33 1 -1 -13 27 + 1 1 1 21 1 13 11 + 33 21 13 + a26 + 6 + 1 33 -21 -1 1 1 -1 + 1 33 33 33 -1 -21 23 + 1 33 -1 -21 13 13 -1 + 1 33 33 33 -1 -21 24 + 1 33 1 1 -1 -13 -1 + 1 33 17 17 -17 -29 33 + 33 33 1 21 -1 -13 -1 + 33 53 17 17 -17 -29 33 + 1 33 21 21 -1 -13 -1 + 33 33 33 1 -13 -1 27 + 1 1 1 21 1 13 11 + 33 33 13 + a27 + 6 + -1 -33 33 1 13 13 -1 + 1 33 -1 -33 1 1 23 + -1 -33 33 1 1 1 -1 + 1 33 -1 -33 21 21 24 + 1 1 33 1 -1 -13 -1 + 1 33 21 21 -1 -13 25 + 33 33 33 1 -13 -1 -1 + 1 33 21 21 -1 -13 26 + 1 33 1 1 -1 -13 -1 + 1 1 -29 -17 33 65 34 + 1 33 33 33 1 13 11 + 33 33 53 + a28 + 10 + 1 1 33 1 -53 -33 -1 + 33 33 1 33 -1 -21 18 + 1 1 -33 -1 1 33 -1 + 1 33 -1 -33 21 21 18 + 33 33 -33 -1 1 33 -1 + 1 33 -1 -33 1 1 24 + 33 33 33 1 -33 -53 -1 + 33 33 1 33 -1 -21 24 + 1 33 1 1 -33 -53 -1 + -33 -53 17 17 61 29 33 + 1 33 1 1 -1 -33 -1 + -1 -33 17 17 61 29 33 + 1 33 33 33 -33 -53 -1 + 1 1 -21 -1 61 29 31 + 1 33 33 33 -1 -33 -1 + 1 1 -53 -21 61 29 31 + 1 33 -1 -33 53 53 -1 + 1 1 61 29 -65 -33 34 + 1 33 1 33 1 1 11 + 17 33 53 + a29 + 9 + 1 1 1 33 -53 -1 -1 + 1 1 1 33 -1 -53 12 + 17 17 -33 -1 1 33 -1 + 1 33 -1 -33 1 1 19 + 17 17 33 1 -33 -53 -1 + 33 33 1 33 -1 -21 19 + 1 17 1 1 -33 -53 -1 + -33 -53 17 17 89 73 33 + 1 17 1 1 -1 -33 -1 + -1 -33 17 17 89 73 33 + 1 17 33 33 -33 -53 -1 + 1 1 -21 -1 89 73 31 + 1 17 33 33 -1 -33 -1 + 1 1 -53 -21 89 73 31 + 1 17 -1 -33 53 53 -1 + 1 1 89 73 -65 -33 34 + 1 17 1 33 1 1 11 + 17 33 53 + a30 + 9 + 1 1 1 33 -53 -1 -1 + 1 1 1 33 -1 -53 13 + 17 17 33 1 -1 -21 -1 + 33 33 1 33 -1 -21 23 + 17 17 -33 -1 53 21 -1 + 1 33 -1 -33 21 21 23 + 1 17 -1 -33 1 1 -1 + 1 1 1 17 -65 -33 34 + 1 17 1 1 -1 -21 -1 + -53 -33 17 17 1 17 33 + 1 17 1 1 -21 -53 -1 + -33 -1 17 17 1 17 33 + 1 17 33 33 -1 -21 -1 + 1 1 -1 -21 1 17 31 + 1 17 33 33 -21 -53 -1 + 1 1 -21 -53 1 17 31 + 1 17 1 33 53 53 11 + 33 53 89 + a31 + 15 + 1 33 -1 -53 89 89 -1 + 1 33 -1 -53 1 1 14 + 1 33 -1 -53 1 1 -1 + 1 33 -1 -53 89 89 14 + 1 1 53 21 -73 -61 -1 + 1 33 1 1 -1 -13 20 + 1 1 21 1 -73 -61 -1 + 33 33 1 21 -1 -13 20 + 1 1 53 21 -29 -17 -1 + 1 33 1 1 -1 -13 25 + 1 1 21 1 -29 -17 -1 + 33 33 1 21 -1 -13 25 + 1 1 -21 -1 61 29 -1 + 1 33 33 33 -33 -53 28 + 1 1 -53 -21 61 29 -1 + 1 33 33 33 -1 -33 28 + 1 1 -21 -1 89 73 -1 + 1 17 33 33 -33 -53 29 + 1 1 -53 -21 89 73 -1 + 1 17 33 33 -1 -33 29 + 1 1 -1 -21 1 17 -1 + 1 17 33 33 -1 -21 30 + 1 1 -21 -53 1 17 -1 + 1 17 33 33 -21 -53 30 + 1 33 1 1 -1 -89 -1 + 1 1 -1 -89 33 1 34 + 33 33 1 53 -1 -89 -1 + 53 1 -89 -1 1 1 32 + 1 33 53 53 1 89 11 + 77 89 25 + a32 + 7 + 1 77 1 1 -25 -1 -1 + 1 77 1 1 -1 -25 15 + 1 77 89 89 -25 -1 -1 + 1 77 89 89 -1 -25 15 + 53 1 -89 -1 1 1 -1 + 33 33 1 53 -1 -89 31 + 53 77 -1 -89 1 1 -1 + 1 25 -89 -1 1 1 34 + 1 77 1 89 25 25 7 + 1 1 1 89 1 25 11 + 77 77 1 89 1 25 8 + 77 17 89 + a33 + 16 + 1 77 -1 -17 89 89 -1 + 1 77 -1 -17 1 1 16 + 1 77 -1 -17 1 1 -1 + 1 77 -1 -17 89 89 16 + 1 33 17 17 -61 -73 -1 + 1 33 1 1 -1 -13 21 + 33 53 17 17 -61 -73 -1 + 33 33 1 21 -1 -13 21 + 1 33 17 17 -17 -29 -1 + 1 33 1 1 -1 -13 26 + 33 53 17 17 -17 -29 -1 + 33 33 1 21 -1 -13 26 + -33 -53 17 17 61 29 -1 + 1 33 1 1 -33 -53 28 + -1 -33 17 17 61 29 -1 + 1 33 1 1 -1 -33 28 + -33 -53 17 17 89 73 -1 + 1 17 1 1 -33 -53 29 + -1 -33 17 17 89 73 -1 + 1 17 1 1 -1 -33 29 + -53 -33 17 17 1 17 -1 + 1 17 1 1 -1 -21 30 + -33 -1 17 17 1 17 -1 + 1 17 1 1 -21 -53 30 + 53 77 17 17 -1 -89 -1 + 1 25 -1 -89 65 65 34 + 1 1 1 17 1 89 11 + 77 77 1 17 1 89 8 + 1 77 1 1 1 89 7 + 25 89 65 + a34 + 11 + 1 25 1 1 -65 -1 -1 + 1 25 1 1 -1 -65 17 + 1 25 89 89 -65 -1 -1 + 1 25 89 89 -1 -65 17 + 1 1 -73 -61 33 65 -1 + 1 33 1 1 -1 -13 22 + 1 1 -29 -17 33 65 -1 + 1 33 1 1 -1 -13 27 + 1 1 61 29 -65 -33 -1 + 1 33 -1 -33 53 53 28 + 1 1 89 73 -65 -33 -1 + 1 17 -1 -33 53 53 29 + 1 1 1 17 -65 -33 -1 + 1 17 -1 -33 1 1 30 + 1 1 -1 -89 33 1 -1 + 1 33 1 1 -1 -89 31 + 1 25 -89 -1 1 1 -1 + 53 77 -1 -89 1 1 32 + 1 25 -1 -89 65 65 -1 + 53 77 17 17 -1 -89 33 + 25 25 1 89 1 65 8 + 33 33 21 + b01 + 6 + 1 33 -1 -33 1 1 -1 + 1 1 -33 -1 53 21 45 + 1 33 1 1 -1 -21 -1 + 1 33 -1 -21 1 1 37 + 33 33 1 33 -1 -21 -1 + 1 1 33 1 -21 -1 45 + 1 33 33 33 -1 -21 -1 + 1 33 -1 -21 13 13 38 + 1 33 -1 -33 21 21 -1 + -1 -33 33 1 1 1 39 + 1 1 1 33 1 21 12 + 33 33 21 + b02 + 6 + 1 33 -1 -33 1 1 -1 + -1 -33 33 1 13 13 39 + 1 33 1 1 -1 -21 -1 + 1 33 -21 -1 13 13 37 + 33 33 1 33 -1 -21 -1 + 17 17 33 1 -1 -21 46 + 1 33 33 33 -1 -21 -1 + 1 33 -21 -1 1 1 38 + 1 33 -1 -33 21 21 -1 + 17 17 -33 -1 53 21 46 + 1 1 1 33 1 21 12 + 33 21 13 + b03 + 6 + 1 33 -1 -21 1 1 -1 + 1 33 1 1 -1 -21 35 + 1 33 -21 -1 13 13 -1 + 1 33 1 1 -1 -21 36 + 1 33 1 1 -1 -13 -1 + 1 1 53 21 -29 -17 48 + 33 33 1 21 -1 -13 -1 + 1 1 21 1 -29 -17 48 + 1 33 21 21 -1 -13 -1 + 1 1 33 1 -1 -13 39 + 1 1 1 21 1 13 12 + 33 21 13 + b04 + 6 + 1 33 -1 -21 13 13 -1 + 1 33 33 33 -1 -21 35 + 1 33 -21 -1 1 1 -1 + 1 33 33 33 -1 -21 36 + 1 33 1 1 -1 -13 -1 + 1 33 -73 -61 17 17 68 + 33 33 1 21 -1 -13 -1 + 33 53 -73 -61 17 17 68 + 1 33 21 21 -1 -13 -1 + 33 33 33 1 -13 -1 39 + 1 1 1 21 1 13 12 + 33 33 13 + b05 + 6 + -1 -33 33 1 1 1 -1 + 1 33 -1 -33 21 21 35 + -1 -33 33 1 13 13 -1 + 1 33 -1 -33 1 1 36 + 1 1 33 1 -1 -13 -1 + 1 33 21 21 -1 -13 37 + 33 33 33 1 -13 -1 -1 + 1 33 21 21 -1 -13 38 + 1 33 1 1 -1 -13 -1 + 1 1 -61 -73 33 1 49 + 1 33 33 33 1 13 12 + 33 33 21 + b06 + 6 + 1 33 -1 -33 1 1 -1 + 17 17 -33 -1 1 33 47 + 1 33 1 1 -1 -21 -1 + 1 33 -1 -21 1 1 42 + 33 33 1 33 -1 -21 -1 + 17 17 33 1 -33 -53 47 + 1 33 33 33 -1 -21 -1 + 1 33 -1 -21 13 13 43 + 1 33 -1 -33 21 21 -1 + -1 -33 33 1 1 1 44 + 1 1 1 33 1 21 12 + 33 33 21 + b07 + 6 + 1 33 -1 -33 1 1 -1 + -1 -33 33 1 13 13 44 + 1 33 1 1 -1 -21 -1 + 1 33 -21 -1 13 13 42 + 33 33 1 33 -1 -21 -1 + 33 33 33 1 -1 -21 45 + 1 33 33 33 -1 -21 -1 + 1 33 -21 -1 1 1 43 + 1 33 -1 -33 21 21 -1 + 33 33 -33 -1 53 21 45 + 1 1 1 33 1 21 12 + 33 21 13 + b08 + 6 + 1 33 -1 -21 1 1 -1 + 1 33 1 1 -1 -21 40 + 1 33 -21 -1 13 13 -1 + 1 33 1 1 -1 -21 41 + 1 33 1 1 -1 -13 -1 + 1 1 53 21 -73 -61 48 + 33 33 1 21 -1 -13 -1 + 1 1 21 1 -73 -61 48 + 1 33 21 21 -1 -13 -1 + 1 1 33 1 -1 -13 44 + 1 1 1 21 1 13 12 + 33 21 13 + b09 + 6 + 1 33 -1 -21 13 13 -1 + 1 33 33 33 -1 -21 40 + 1 33 -21 -1 1 1 -1 + 1 33 33 33 -1 -21 41 + 1 33 1 1 -1 -13 -1 + 1 33 -29 -17 17 17 68 + 33 33 1 21 -1 -13 -1 + 33 53 -29 -17 17 17 68 + 1 33 21 21 -1 -13 -1 + 33 33 33 1 -13 -1 44 + 1 1 1 21 1 13 12 + 33 33 13 + b10 + 6 + -1 -33 33 1 1 1 -1 + 1 33 -1 -33 21 21 40 + -1 -33 33 1 13 13 -1 + 1 33 -1 -33 1 1 41 + 1 1 33 1 -1 -13 -1 + 1 33 21 21 -1 -13 42 + 33 33 33 1 -13 -1 -1 + 1 33 21 21 -1 -13 43 + 1 33 1 1 -1 -13 -1 + 1 1 -17 -29 33 1 49 + 1 33 33 33 1 13 12 + 33 33 53 + b11 + 10 + 1 1 -33 -1 53 21 -1 + 1 33 -1 -33 1 1 35 + 1 1 33 1 -21 -1 -1 + 33 33 1 33 -1 -21 35 + 33 33 33 1 -1 -21 -1 + 33 33 1 33 -1 -21 41 + 33 33 -33 -1 53 21 -1 + 1 33 -1 -33 21 21 41 + 1 33 -1 -33 1 1 -1 + 1 1 61 29 -1 -33 49 + 1 33 1 1 -1 -21 -1 + -53 -33 61 29 17 17 68 + 1 33 1 1 -21 -53 -1 + -33 -1 61 29 17 17 68 + 1 33 33 33 -1 -21 -1 + 1 1 -1 -21 29 61 48 + 1 33 33 33 -21 -53 -1 + 1 1 -21 -53 29 61 48 + 1 33 1 33 53 53 12 + 17 33 53 + b12 + 9 + 17 17 33 1 -1 -21 -1 + 33 33 1 33 -1 -21 36 + 17 17 -33 -1 53 21 -1 + 1 33 -1 -33 21 21 36 + 1 17 -1 -33 1 1 -1 + 1 1 89 73 -1 -33 49 + 1 1 1 33 -1 -53 -1 + 1 1 1 33 -53 -1 61 + 1 17 1 1 -1 -21 -1 + -53 -33 89 73 17 17 68 + 1 17 1 1 -21 -53 -1 + -33 -1 89 73 17 17 68 + 1 17 33 33 -1 -21 -1 + 1 1 -1 -21 1 17 48 + 1 17 33 33 -21 -53 -1 + 1 1 -21 -53 1 17 48 + 1 17 1 33 53 53 12 + 17 33 53 + b13 + 9 + 17 17 -33 -1 1 33 -1 + 1 33 -1 -33 1 1 40 + 17 17 33 1 -33 -53 -1 + 33 33 1 33 -1 -21 40 + 1 1 1 33 -1 -53 -1 + 1 1 1 33 -53 -1 62 + 1 17 1 1 -33 -53 -1 + -33 -53 1 17 17 17 68 + 1 17 1 1 -1 -33 -1 + -1 -33 1 17 17 17 68 + 1 17 33 33 -33 -53 -1 + 1 1 -21 -1 89 73 48 + 1 17 33 33 -1 -33 -1 + 1 1 -53 -21 89 73 48 + 1 17 -1 -33 53 53 -1 + 1 1 1 17 -1 -33 49 + 1 17 1 33 1 1 12 + 33 53 89 + b14 + 15 + 1 1 53 21 -29 -17 -1 + 1 33 1 1 -1 -13 37 + 1 1 21 1 -29 -17 -1 + 33 33 1 21 -1 -13 37 + 1 1 53 21 -73 -61 -1 + 1 33 1 1 -1 -13 42 + 1 1 21 1 -73 -61 -1 + 33 33 1 21 -1 -13 42 + 1 1 -1 -21 29 61 -1 + 1 33 33 33 -1 -21 45 + 1 1 -21 -53 29 61 -1 + 1 33 33 33 -21 -53 45 + 1 1 -1 -21 1 17 -1 + 1 17 33 33 -1 -21 46 + 1 1 -21 -53 1 17 -1 + 1 17 33 33 -21 -53 46 + 1 1 -21 -1 89 73 -1 + 1 17 33 33 -33 -53 47 + 1 1 -53 -21 89 73 -1 + 1 17 33 33 -1 -33 47 + 1 33 -1 -53 1 1 -1 + 1 33 -1 -53 89 89 63 + 1 33 1 1 -1 -89 -1 + 1 1 -89 -1 33 65 49 + 33 33 1 53 -1 -89 -1 + 53 1 -1 -89 25 25 66 + 1 33 -1 -53 89 89 -1 + 1 33 -1 -53 1 1 63 + 1 33 53 53 1 89 12 + 25 89 65 + b15 + 11 + 1 1 -61 -73 33 1 -1 + 1 33 1 1 -1 -13 39 + 1 1 -17 -29 33 1 -1 + 1 33 1 1 -1 -13 44 + 1 1 61 29 -1 -33 -1 + 1 33 -1 -33 1 1 45 + 1 1 89 73 -1 -33 -1 + 1 17 -1 -33 1 1 46 + 1 1 1 17 -1 -33 -1 + 1 17 -1 -33 53 53 47 + 1 1 -89 -1 33 65 -1 + 1 33 1 1 -1 -89 48 + 1 25 -1 -89 1 1 -1 + 53 77 -1 -89 17 17 68 + 1 25 1 1 -1 -65 -1 + 1 25 1 1 -65 -1 64 + 1 25 89 89 -1 -65 -1 + 1 25 89 89 -65 -1 64 + 1 25 -1 -89 65 65 -1 + 53 77 -89 -1 25 25 66 + 25 25 1 89 1 65 8 + 33 33 21 + b16 + 6 + 1 33 -1 -33 1 1 -1 + -1 -33 33 1 13 13 54 + 1 33 1 1 -1 -21 -1 + 1 33 -21 -1 13 13 52 + 33 33 1 33 -1 -21 -1 + 1 1 33 1 -53 -33 60 + 1 33 33 33 -1 -21 -1 + 1 33 -21 -1 1 1 53 + 1 33 -1 -33 21 21 -1 + 1 1 -33 -1 1 33 60 + 1 1 1 33 1 21 12 + 33 33 21 + b17 + 6 + 1 33 -1 -33 1 1 -1 + 17 17 -33 -1 1 33 61 + 1 33 1 1 -1 -21 -1 + 1 33 -1 -21 1 1 52 + 33 33 1 33 -1 -21 -1 + 17 17 33 1 -33 -53 61 + 1 33 33 33 -1 -21 -1 + 1 33 -1 -21 13 13 53 + 1 33 -1 -33 21 21 -1 + -1 -33 33 1 1 1 54 + 1 1 1 33 1 21 12 + 33 21 13 + b18 + 6 + 1 33 -21 -1 13 13 -1 + 1 33 1 1 -1 -21 50 + 1 33 -1 -21 1 1 -1 + 1 33 1 1 -1 -21 51 + 1 33 1 1 -1 -13 -1 + 1 1 53 21 -73 -61 63 + 33 33 1 21 -1 -13 -1 + 1 1 21 1 -73 -61 63 + 1 33 21 21 -1 -13 -1 + 1 1 33 1 -1 -13 54 + 1 1 1 21 1 13 12 + 33 21 13 + b19 + 6 + 1 33 -21 -1 1 1 -1 + 1 33 33 33 -1 -21 50 + 1 33 -1 -21 13 13 -1 + 1 33 33 33 -1 -21 51 + 1 33 1 1 -1 -13 -1 + 17 17 -61 -73 1 33 67 + 33 33 1 21 -1 -13 -1 + 17 17 -61 -73 33 53 67 + 1 33 21 21 -1 -13 -1 + 33 33 33 1 -13 -1 54 + 1 1 1 21 1 13 12 + 33 33 13 + b20 + 6 + -1 -33 33 1 13 13 -1 + 1 33 -1 -33 1 1 50 + -1 -33 33 1 1 1 -1 + 1 33 -1 -33 21 21 51 + 1 1 33 1 -1 -13 -1 + 1 33 21 21 -1 -13 52 + 33 33 33 1 -13 -1 -1 + 1 33 21 21 -1 -13 53 + 1 33 1 1 -1 -13 -1 + 1 1 -73 -61 33 65 64 + 1 33 33 33 1 13 12 + 33 33 21 + b21 + 6 + 1 33 -1 -33 1 1 -1 + -1 -33 33 1 13 13 59 + 1 33 1 1 -1 -21 -1 + 1 33 -21 -1 13 13 57 + 33 33 1 33 -1 -21 -1 + 17 17 33 1 -1 -21 62 + 1 33 33 33 -1 -21 -1 + 1 33 -21 -1 1 1 58 + 1 33 -1 -33 21 21 -1 + 17 17 -33 -1 53 21 62 + 1 1 1 33 1 21 12 + 33 33 21 + b22 + 6 + 1 33 -1 -33 1 1 -1 + 33 33 -33 -1 1 33 60 + 1 33 1 1 -1 -21 -1 + 1 33 -1 -21 1 1 57 + 33 33 1 33 -1 -21 -1 + 33 33 33 1 -33 -53 60 + 1 33 33 33 -1 -21 -1 + 1 33 -1 -21 13 13 58 + 1 33 -1 -33 21 21 -1 + -1 -33 33 1 1 1 59 + 1 1 1 33 1 21 12 + 33 21 13 + b23 + 6 + 1 33 -21 -1 13 13 -1 + 1 33 1 1 -1 -21 55 + 1 33 -1 -21 1 1 -1 + 1 33 1 1 -1 -21 56 + 1 33 1 1 -1 -13 -1 + 1 1 53 21 -29 -17 63 + 33 33 1 21 -1 -13 -1 + 1 1 21 1 -29 -17 63 + 1 33 21 21 -1 -13 -1 + 1 1 33 1 -1 -13 59 + 1 1 1 21 1 13 12 + 33 21 13 + b24 + 6 + 1 33 -21 -1 1 1 -1 + 1 33 33 33 -1 -21 55 + 1 33 -1 -21 13 13 -1 + 1 33 33 33 -1 -21 56 + 1 33 1 1 -1 -13 -1 + 17 17 -17 -29 1 33 67 + 33 33 1 21 -1 -13 -1 + 17 17 -17 -29 33 53 67 + 1 33 21 21 -1 -13 -1 + 33 33 33 1 -13 -1 59 + 1 1 1 21 1 13 12 + 33 33 13 + b25 + 6 + -1 -33 33 1 13 13 -1 + 1 33 -1 -33 1 1 55 + -1 -33 33 1 1 1 -1 + 1 33 -1 -33 21 21 56 + 1 1 33 1 -1 -13 -1 + 1 33 21 21 -1 -13 57 + 33 33 33 1 -13 -1 -1 + 1 33 21 21 -1 -13 58 + 1 33 1 1 -1 -13 -1 + 1 1 -29 -17 33 65 64 + 1 33 33 33 1 13 12 + 33 33 53 + b26 + 10 + 1 1 33 1 -53 -33 -1 + 33 33 1 33 -1 -21 50 + 1 1 -33 -1 1 33 -1 + 1 33 -1 -33 21 21 50 + 33 33 -33 -1 1 33 -1 + 1 33 -1 -33 1 1 56 + 33 33 33 1 -33 -53 -1 + 33 33 1 33 -1 -21 56 + 1 33 1 1 -33 -53 -1 + 17 17 61 29 -33 -53 67 + 1 33 1 1 -1 -33 -1 + 17 17 61 29 -1 -33 67 + 1 33 33 33 -33 -53 -1 + 1 1 -21 -1 61 29 63 + 1 33 33 33 -1 -33 -1 + 1 1 -53 -21 61 29 63 + 1 33 -1 -33 53 53 -1 + 1 1 61 29 -65 -33 64 + 1 33 1 33 1 1 12 + 17 33 53 + b27 + 9 + 1 1 1 33 -53 -1 -1 + 1 1 1 33 -1 -53 46 + 17 17 -33 -1 1 33 -1 + 1 33 -1 -33 1 1 51 + 17 17 33 1 -33 -53 -1 + 33 33 1 33 -1 -21 51 + 1 17 1 1 -33 -53 -1 + 17 17 89 73 -33 -53 67 + 1 17 1 1 -1 -33 -1 + 17 17 89 73 -1 -33 67 + 1 17 33 33 -33 -53 -1 + 1 1 -21 -1 89 73 63 + 1 17 33 33 -1 -33 -1 + 1 1 -53 -21 89 73 63 + 1 17 -1 -33 53 53 -1 + 1 1 89 73 -65 -33 64 + 1 17 1 33 1 1 12 + 17 33 53 + b28 + 9 + 1 1 1 33 -53 -1 -1 + 1 1 1 33 -1 -53 47 + 17 17 33 1 -1 -21 -1 + 33 33 1 33 -1 -21 55 + 17 17 -33 -1 53 21 -1 + 1 33 -1 -33 21 21 55 + 1 17 -1 -33 1 1 -1 + 1 1 1 17 -65 -33 64 + 1 17 1 1 -1 -21 -1 + 17 17 1 17 -53 -33 67 + 1 17 1 1 -21 -53 -1 + 17 17 1 17 -33 -1 67 + 1 17 33 33 -1 -21 -1 + 1 1 -1 -21 1 17 63 + 1 17 33 33 -21 -53 -1 + 1 1 -21 -53 1 17 63 + 1 17 1 33 53 53 12 + 33 53 89 + b29 + 15 + 1 33 -1 -53 89 89 -1 + 1 33 -1 -53 1 1 48 + 1 33 -1 -53 1 1 -1 + 1 33 -1 -53 89 89 48 + 1 1 53 21 -73 -61 -1 + 1 33 1 1 -1 -13 52 + 1 1 21 1 -73 -61 -1 + 33 33 1 21 -1 -13 52 + 1 1 53 21 -29 -17 -1 + 1 33 1 1 -1 -13 57 + 1 1 21 1 -29 -17 -1 + 33 33 1 21 -1 -13 57 + 1 1 -21 -1 61 29 -1 + 1 33 33 33 -33 -53 60 + 1 1 -53 -21 61 29 -1 + 1 33 33 33 -1 -33 60 + 1 1 -21 -1 89 73 -1 + 1 17 33 33 -33 -53 61 + 1 1 -53 -21 89 73 -1 + 1 17 33 33 -1 -33 61 + 1 1 -1 -21 1 17 -1 + 1 17 33 33 -1 -21 62 + 1 1 -21 -53 1 17 -1 + 1 17 33 33 -21 -53 62 + 1 33 1 1 -1 -89 -1 + 1 1 -1 -89 33 1 64 + 33 33 1 53 -1 -89 -1 + 53 1 -1 -89 25 25 65 + 1 33 53 53 1 89 12 + 25 89 65 + b30 + 11 + 1 25 1 1 -65 -1 -1 + 1 25 1 1 -1 -65 49 + 1 25 89 89 -65 -1 -1 + 1 25 89 89 -1 -65 49 + 1 1 -73 -61 33 65 -1 + 1 33 1 1 -1 -13 54 + 1 1 -29 -17 33 65 -1 + 1 33 1 1 -1 -13 59 + 1 1 61 29 -65 -33 -1 + 1 33 -1 -33 53 53 60 + 1 1 89 73 -65 -33 -1 + 1 17 -1 -33 53 53 61 + 1 1 1 17 -65 -33 -1 + 1 17 -1 -33 1 1 62 + 1 1 -1 -89 33 1 -1 + 1 33 1 1 -1 -89 63 + 1 25 -1 -89 1 1 -1 + 53 77 -1 -89 25 25 65 + 1 25 -1 -89 65 65 -1 + 17 17 -1 -89 53 77 67 + 25 25 1 89 1 65 8 + 77 89 25 + b31 + 7 + 53 1 -1 -89 25 25 -1 + 33 33 1 53 -1 -89 63 + 53 77 -1 -89 25 25 -1 + 1 25 -1 -89 1 1 64 + 1 77 1 1 -1 -25 -1 + 1 77 89 89 -1 -25 66 + 1 77 89 89 -1 -25 -1 + 1 77 1 1 -1 -25 66 + 1 77 1 89 1 1 7 + 1 1 1 89 1 25 12 + 77 77 1 89 1 25 8 + 77 89 25 + b32 + 7 + 53 1 -1 -89 25 25 -1 + 33 33 1 53 -1 -89 48 + 53 77 -89 -1 25 25 -1 + 1 25 -1 -89 65 65 49 + 1 77 89 89 -1 -25 -1 + 1 77 1 1 -1 -25 65 + 1 77 1 1 -1 -25 -1 + 1 77 89 89 -1 -25 65 + 1 77 1 89 1 1 7 + 1 1 1 89 1 25 12 + 77 77 1 89 1 25 8 + 17 89 77 + b33 + 16 + 17 17 -61 -73 1 33 -1 + 1 33 1 1 -1 -13 53 + 17 17 -61 -73 33 53 -1 + 33 33 1 21 -1 -13 53 + 17 17 -17 -29 1 33 -1 + 1 33 1 1 -1 -13 58 + 17 17 -17 -29 33 53 -1 + 33 33 1 21 -1 -13 58 + 17 17 61 29 -33 -53 -1 + 1 33 1 1 -33 -53 60 + 17 17 61 29 -1 -33 -1 + 1 33 1 1 -1 -33 60 + 17 17 89 73 -33 -53 -1 + 1 17 1 1 -33 -53 61 + 17 17 89 73 -1 -33 -1 + 1 17 1 1 -1 -33 61 + 17 17 1 17 -53 -33 -1 + 1 17 1 1 -1 -21 62 + 17 17 1 17 -33 -1 -1 + 1 17 1 1 -21 -53 62 + 17 17 -1 -89 53 77 -1 + 1 25 -1 -89 65 65 64 + 1 17 1 1 -1 -77 -1 + -1 -77 1 1 1 17 68 + 1 17 89 89 -1 -77 -1 + -1 -77 89 89 1 17 68 + 1 17 1 89 1 1 12 + 1 17 1 89 77 77 8 + 1 1 1 89 1 77 7 + 77 89 17 + b34 + 16 + 1 33 -73 -61 17 17 -1 + 1 33 1 1 -1 -13 38 + 33 53 -73 -61 17 17 -1 + 33 33 1 21 -1 -13 38 + 1 33 -29 -17 17 17 -1 + 1 33 1 1 -1 -13 43 + 33 53 -29 -17 17 17 -1 + 33 33 1 21 -1 -13 43 + -53 -33 61 29 17 17 -1 + 1 33 1 1 -1 -21 45 + -33 -1 61 29 17 17 -1 + 1 33 1 1 -21 -53 45 + -53 -33 89 73 17 17 -1 + 1 17 1 1 -1 -21 46 + -33 -1 89 73 17 17 -1 + 1 17 1 1 -21 -53 46 + -33 -53 1 17 17 17 -1 + 1 17 1 1 -33 -53 47 + -1 -33 1 17 17 17 -1 + 1 17 1 1 -1 -33 47 + 53 77 -1 -89 17 17 -1 + 1 25 -1 -89 1 1 49 + -1 -77 1 1 1 17 -1 + 1 17 1 1 -1 -77 67 + -1 -77 89 89 1 17 -1 + 1 17 89 89 -1 -77 67 + 1 77 1 89 1 1 7 + 1 1 1 89 1 17 12 + 77 77 1 89 1 17 8 + 33 33 21 + c01 + 6 + 1 33 -1 -33 1 1 -1 + 1 1 -33 -1 53 21 79 + 1 33 1 1 -1 -21 -1 + 1 33 -1 -21 1 1 71 + 33 33 1 33 -1 -21 -1 + 1 1 33 1 -21 -1 79 + 1 33 33 33 -1 -21 -1 + 1 33 -1 -21 13 13 72 + 1 33 -1 -33 21 21 -1 + -1 -33 33 1 1 1 73 + 1 1 1 33 1 21 13 + 33 33 21 + c02 + 6 + 1 33 -1 -33 1 1 -1 + -1 -33 33 1 13 13 73 + 1 33 1 1 -1 -21 -1 + 1 33 -21 -1 13 13 71 + 33 33 1 33 -1 -21 -1 + 17 17 33 1 -1 -21 80 + 1 33 33 33 -1 -21 -1 + 1 33 -21 -1 1 1 72 + 1 33 -1 -33 21 21 -1 + 17 17 -33 -1 53 21 80 + 1 1 1 33 1 21 13 + 33 21 13 + c03 + 6 + 1 33 -1 -21 1 1 -1 + 1 33 1 1 -1 -21 69 + 1 33 -21 -1 13 13 -1 + 1 33 1 1 -1 -21 70 + 1 33 1 1 -1 -13 -1 + 1 1 53 21 -29 -17 82 + 33 33 1 21 -1 -13 -1 + 1 1 21 1 -29 -17 82 + 1 33 21 21 -1 -13 -1 + 1 1 33 1 -1 -13 73 + 1 1 1 21 1 13 13 + 33 21 13 + c04 + 6 + 1 33 -1 -21 13 13 -1 + 1 33 33 33 -1 -21 69 + 1 33 -21 -1 1 1 -1 + 1 33 33 33 -1 -21 70 + 1 33 1 1 -1 -13 -1 + 1 33 -73 -61 17 17 102 + 33 33 1 21 -1 -13 -1 + 33 53 -73 -61 17 17 102 + 1 33 21 21 -1 -13 -1 + 33 33 33 1 -13 -1 73 + 1 1 1 21 1 13 13 + 33 33 13 + c05 + 6 + -1 -33 33 1 1 1 -1 + 1 33 -1 -33 21 21 69 + -1 -33 33 1 13 13 -1 + 1 33 -1 -33 1 1 70 + 1 1 33 1 -1 -13 -1 + 1 33 21 21 -1 -13 71 + 33 33 33 1 -13 -1 -1 + 1 33 21 21 -1 -13 72 + 1 33 1 1 -1 -13 -1 + 1 1 -61 -73 33 1 83 + 1 33 33 33 1 13 13 + 33 33 21 + c06 + 6 + 1 33 -1 -33 1 1 -1 + 17 17 -33 -1 1 33 81 + 1 33 1 1 -1 -21 -1 + 1 33 -1 -21 1 1 76 + 33 33 1 33 -1 -21 -1 + 17 17 33 1 -33 -53 81 + 1 33 33 33 -1 -21 -1 + 1 33 -1 -21 13 13 77 + 1 33 -1 -33 21 21 -1 + -1 -33 33 1 1 1 78 + 1 1 1 33 1 21 13 + 33 33 21 + c07 + 6 + 1 33 -1 -33 1 1 -1 + -1 -33 33 1 13 13 78 + 1 33 1 1 -1 -21 -1 + 1 33 -21 -1 13 13 76 + 33 33 1 33 -1 -21 -1 + 33 33 33 1 -1 -21 79 + 1 33 33 33 -1 -21 -1 + 1 33 -21 -1 1 1 77 + 1 33 -1 -33 21 21 -1 + 33 33 -33 -1 53 21 79 + 1 1 1 33 1 21 13 + 33 21 13 + c08 + 6 + 1 33 -1 -21 1 1 -1 + 1 33 1 1 -1 -21 74 + 1 33 -21 -1 13 13 -1 + 1 33 1 1 -1 -21 75 + 1 33 1 1 -1 -13 -1 + 1 1 53 21 -73 -61 82 + 33 33 1 21 -1 -13 -1 + 1 1 21 1 -73 -61 82 + 1 33 21 21 -1 -13 -1 + 1 1 33 1 -1 -13 78 + 1 1 1 21 1 13 13 + 33 21 13 + c09 + 6 + 1 33 -1 -21 13 13 -1 + 1 33 33 33 -1 -21 74 + 1 33 -21 -1 1 1 -1 + 1 33 33 33 -1 -21 75 + 1 33 1 1 -1 -13 -1 + 1 33 -29 -17 17 17 102 + 33 33 1 21 -1 -13 -1 + 33 53 -29 -17 17 17 102 + 1 33 21 21 -1 -13 -1 + 33 33 33 1 -13 -1 78 + 1 1 1 21 1 13 13 + 33 33 13 + c10 + 6 + -1 -33 33 1 1 1 -1 + 1 33 -1 -33 21 21 74 + -1 -33 33 1 13 13 -1 + 1 33 -1 -33 1 1 75 + 1 1 33 1 -1 -13 -1 + 1 33 21 21 -1 -13 76 + 33 33 33 1 -13 -1 -1 + 1 33 21 21 -1 -13 77 + 1 33 1 1 -1 -13 -1 + 1 1 -17 -29 33 1 83 + 1 33 33 33 1 13 13 + 33 33 53 + c11 + 10 + 1 1 -33 -1 53 21 -1 + 1 33 -1 -33 1 1 69 + 1 1 33 1 -21 -1 -1 + 33 33 1 33 -1 -21 69 + 33 33 33 1 -1 -21 -1 + 33 33 1 33 -1 -21 75 + 33 33 -33 -1 53 21 -1 + 1 33 -1 -33 21 21 75 + 1 33 -1 -33 1 1 -1 + 1 1 61 29 -1 -33 83 + 1 33 1 1 -1 -21 -1 + -53 -33 61 29 17 17 102 + 1 33 1 1 -21 -53 -1 + -33 -1 61 29 17 17 102 + 1 33 33 33 -1 -21 -1 + 1 1 -1 -21 29 61 82 + 1 33 33 33 -21 -53 -1 + 1 1 -21 -53 29 61 82 + 1 33 1 33 53 53 13 + 17 33 53 + c12 + 9 + 17 17 33 1 -1 -21 -1 + 33 33 1 33 -1 -21 70 + 17 17 -33 -1 53 21 -1 + 1 33 -1 -33 21 21 70 + 1 17 -1 -33 1 1 -1 + 1 1 89 73 -1 -33 83 + 1 1 1 33 -1 -53 -1 + 1 1 1 33 -53 -1 95 + 1 17 1 1 -1 -21 -1 + -53 -33 89 73 17 17 102 + 1 17 1 1 -21 -53 -1 + -33 -1 89 73 17 17 102 + 1 17 33 33 -1 -21 -1 + 1 1 -1 -21 1 17 82 + 1 17 33 33 -21 -53 -1 + 1 1 -21 -53 1 17 82 + 1 17 1 33 53 53 13 + 17 33 53 + c13 + 9 + 17 17 -33 -1 1 33 -1 + 1 33 -1 -33 1 1 74 + 17 17 33 1 -33 -53 -1 + 33 33 1 33 -1 -21 74 + 1 1 1 33 -1 -53 -1 + 1 1 1 33 -53 -1 96 + 1 17 1 1 -33 -53 -1 + -33 -53 1 17 17 17 102 + 1 17 1 1 -1 -33 -1 + -1 -33 1 17 17 17 102 + 1 17 33 33 -33 -53 -1 + 1 1 -21 -1 89 73 82 + 1 17 33 33 -1 -33 -1 + 1 1 -53 -21 89 73 82 + 1 17 -1 -33 53 53 -1 + 1 1 1 17 -1 -33 83 + 1 17 1 33 1 1 13 + 33 53 89 + c14 + 15 + 1 1 53 21 -29 -17 -1 + 1 33 1 1 -1 -13 71 + 1 1 21 1 -29 -17 -1 + 33 33 1 21 -1 -13 71 + 1 1 53 21 -73 -61 -1 + 1 33 1 1 -1 -13 76 + 1 1 21 1 -73 -61 -1 + 33 33 1 21 -1 -13 76 + 1 1 -1 -21 29 61 -1 + 1 33 33 33 -1 -21 79 + 1 1 -21 -53 29 61 -1 + 1 33 33 33 -21 -53 79 + 1 1 -1 -21 1 17 -1 + 1 17 33 33 -1 -21 80 + 1 1 -21 -53 1 17 -1 + 1 17 33 33 -21 -53 80 + 1 1 -21 -1 89 73 -1 + 1 17 33 33 -33 -53 81 + 1 1 -53 -21 89 73 -1 + 1 17 33 33 -1 -33 81 + 1 33 -1 -53 1 1 -1 + 1 33 -1 -53 89 89 97 + 1 33 1 1 -1 -89 -1 + 1 1 -89 -1 33 65 83 + 33 33 1 53 -1 -89 -1 + -1 -89 53 1 1 1 99 + 1 33 -1 -53 89 89 -1 + 1 33 -1 -53 1 1 97 + 1 33 53 53 1 89 13 + 25 89 65 + c15 + 11 + 1 1 -61 -73 33 1 -1 + 1 33 1 1 -1 -13 73 + 1 1 -17 -29 33 1 -1 + 1 33 1 1 -1 -13 78 + 1 1 61 29 -1 -33 -1 + 1 33 -1 -33 1 1 79 + 1 1 89 73 -1 -33 -1 + 1 17 -1 -33 1 1 80 + 1 1 1 17 -1 -33 -1 + 1 17 -1 -33 53 53 81 + 1 1 -89 -1 33 65 -1 + 1 33 1 1 -1 -89 82 + 1 25 -1 -89 1 1 -1 + 53 77 -1 -89 17 17 102 + 1 25 1 1 -1 -65 -1 + 1 25 1 1 -65 -1 98 + 1 25 89 89 -1 -65 -1 + 1 25 89 89 -65 -1 98 + 1 25 -1 -89 65 65 -1 + -89 -1 53 77 1 1 99 + 25 25 1 89 1 65 8 + 33 33 21 + c16 + 6 + 1 33 -1 -33 1 1 -1 + -1 -33 33 1 13 13 88 + 1 33 1 1 -1 -21 -1 + 1 33 -21 -1 13 13 86 + 33 33 1 33 -1 -21 -1 + 1 1 33 1 -53 -33 94 + 1 33 33 33 -1 -21 -1 + 1 33 -21 -1 1 1 87 + 1 33 -1 -33 21 21 -1 + 1 1 -33 -1 1 33 94 + 1 1 1 33 1 21 13 + 33 33 21 + c17 + 6 + 1 33 -1 -33 1 1 -1 + 17 17 -33 -1 1 33 95 + 1 33 1 1 -1 -21 -1 + 1 33 -1 -21 1 1 86 + 33 33 1 33 -1 -21 -1 + 17 17 33 1 -33 -53 95 + 1 33 33 33 -1 -21 -1 + 1 33 -1 -21 13 13 87 + 1 33 -1 -33 21 21 -1 + -1 -33 33 1 1 1 88 + 1 1 1 33 1 21 13 + 33 21 13 + c18 + 6 + 1 33 -21 -1 13 13 -1 + 1 33 1 1 -1 -21 84 + 1 33 -1 -21 1 1 -1 + 1 33 1 1 -1 -21 85 + 1 33 1 1 -1 -13 -1 + 1 1 53 21 -73 -61 97 + 33 33 1 21 -1 -13 -1 + 1 1 21 1 -73 -61 97 + 1 33 21 21 -1 -13 -1 + 1 1 33 1 -1 -13 88 + 1 1 1 21 1 13 13 + 33 21 13 + c19 + 6 + 1 33 -21 -1 1 1 -1 + 1 33 33 33 -1 -21 84 + 1 33 -1 -21 13 13 -1 + 1 33 33 33 -1 -21 85 + 1 33 1 1 -1 -13 -1 + 17 17 -61 -73 1 33 100 + 33 33 1 21 -1 -13 -1 + 17 17 -61 -73 33 53 100 + 1 33 21 21 -1 -13 -1 + 33 33 33 1 -13 -1 88 + 1 1 1 21 1 13 13 + 33 33 13 + c20 + 6 + -1 -33 33 1 13 13 -1 + 1 33 -1 -33 1 1 84 + -1 -33 33 1 1 1 -1 + 1 33 -1 -33 21 21 85 + 1 1 33 1 -1 -13 -1 + 1 33 21 21 -1 -13 86 + 33 33 33 1 -13 -1 -1 + 1 33 21 21 -1 -13 87 + 1 33 1 1 -1 -13 -1 + 1 1 -73 -61 33 65 98 + 1 33 33 33 1 13 13 + 33 33 21 + c21 + 6 + 1 33 -1 -33 1 1 -1 + -1 -33 33 1 13 13 93 + 1 33 1 1 -1 -21 -1 + 1 33 -21 -1 13 13 91 + 33 33 1 33 -1 -21 -1 + 17 17 33 1 -1 -21 96 + 1 33 33 33 -1 -21 -1 + 1 33 -21 -1 1 1 92 + 1 33 -1 -33 21 21 -1 + 17 17 -33 -1 53 21 96 + 1 1 1 33 1 21 13 + 33 33 21 + c22 + 6 + 1 33 -1 -33 1 1 -1 + 33 33 -33 -1 1 33 94 + 1 33 1 1 -1 -21 -1 + 1 33 -1 -21 1 1 91 + 33 33 1 33 -1 -21 -1 + 33 33 33 1 -33 -53 94 + 1 33 33 33 -1 -21 -1 + 1 33 -1 -21 13 13 92 + 1 33 -1 -33 21 21 -1 + -1 -33 33 1 1 1 93 + 1 1 1 33 1 21 13 + 33 21 13 + c23 + 6 + 1 33 -21 -1 13 13 -1 + 1 33 1 1 -1 -21 89 + 1 33 -1 -21 1 1 -1 + 1 33 1 1 -1 -21 90 + 1 33 1 1 -1 -13 -1 + 1 1 53 21 -29 -17 97 + 33 33 1 21 -1 -13 -1 + 1 1 21 1 -29 -17 97 + 1 33 21 21 -1 -13 -1 + 1 1 33 1 -1 -13 93 + 1 1 1 21 1 13 13 + 33 21 13 + c24 + 6 + 1 33 -21 -1 1 1 -1 + 1 33 33 33 -1 -21 89 + 1 33 -1 -21 13 13 -1 + 1 33 33 33 -1 -21 90 + 1 33 1 1 -1 -13 -1 + 17 17 -17 -29 1 33 100 + 33 33 1 21 -1 -13 -1 + 17 17 -17 -29 33 53 100 + 1 33 21 21 -1 -13 -1 + 33 33 33 1 -13 -1 93 + 1 1 1 21 1 13 13 + 33 33 13 + c25 + 6 + -1 -33 33 1 13 13 -1 + 1 33 -1 -33 1 1 89 + -1 -33 33 1 1 1 -1 + 1 33 -1 -33 21 21 90 + 1 1 33 1 -1 -13 -1 + 1 33 21 21 -1 -13 91 + 33 33 33 1 -13 -1 -1 + 1 33 21 21 -1 -13 92 + 1 33 1 1 -1 -13 -1 + 1 1 -29 -17 33 65 98 + 1 33 33 33 1 13 13 + 33 33 53 + c26 + 10 + 1 1 33 1 -53 -33 -1 + 33 33 1 33 -1 -21 84 + 1 1 -33 -1 1 33 -1 + 1 33 -1 -33 21 21 84 + 33 33 -33 -1 1 33 -1 + 1 33 -1 -33 1 1 90 + 33 33 33 1 -33 -53 -1 + 33 33 1 33 -1 -21 90 + 1 33 1 1 -33 -53 -1 + 17 17 61 29 -33 -53 100 + 1 33 1 1 -1 -33 -1 + 17 17 61 29 -1 -33 100 + 1 33 33 33 -33 -53 -1 + 1 1 -21 -1 61 29 97 + 1 33 33 33 -1 -33 -1 + 1 1 -53 -21 61 29 97 + 1 33 -1 -33 53 53 -1 + 1 1 61 29 -65 -33 98 + 1 33 1 33 1 1 13 + 17 33 53 + c27 + 9 + 1 1 1 33 -53 -1 -1 + 1 1 1 33 -1 -53 80 + 17 17 -33 -1 1 33 -1 + 1 33 -1 -33 1 1 85 + 17 17 33 1 -33 -53 -1 + 33 33 1 33 -1 -21 85 + 1 17 1 1 -33 -53 -1 + 17 17 89 73 -33 -53 100 + 1 17 1 1 -1 -33 -1 + 17 17 89 73 -1 -33 100 + 1 17 33 33 -33 -53 -1 + 1 1 -21 -1 89 73 97 + 1 17 33 33 -1 -33 -1 + 1 1 -53 -21 89 73 97 + 1 17 -1 -33 53 53 -1 + 1 1 89 73 -65 -33 98 + 1 17 1 33 1 1 13 + 17 33 53 + c28 + 9 + 1 1 1 33 -53 -1 -1 + 1 1 1 33 -1 -53 81 + 17 17 33 1 -1 -21 -1 + 33 33 1 33 -1 -21 89 + 17 17 -33 -1 53 21 -1 + 1 33 -1 -33 21 21 89 + 1 17 -1 -33 1 1 -1 + 1 1 1 17 -65 -33 98 + 1 17 1 1 -1 -21 -1 + 17 17 1 17 -53 -33 100 + 1 17 1 1 -21 -53 -1 + 17 17 1 17 -33 -1 100 + 1 17 33 33 -1 -21 -1 + 1 1 -1 -21 1 17 97 + 1 17 33 33 -21 -53 -1 + 1 1 -21 -53 1 17 97 + 1 17 1 33 53 53 13 + 33 53 89 + c29 + 15 + 1 33 -1 -53 89 89 -1 + 1 33 -1 -53 1 1 82 + 1 33 -1 -53 1 1 -1 + 1 33 -1 -53 89 89 82 + 1 1 53 21 -73 -61 -1 + 1 33 1 1 -1 -13 86 + 1 1 21 1 -73 -61 -1 + 33 33 1 21 -1 -13 86 + 1 1 53 21 -29 -17 -1 + 1 33 1 1 -1 -13 91 + 1 1 21 1 -29 -17 -1 + 33 33 1 21 -1 -13 91 + 1 1 -21 -1 61 29 -1 + 1 33 33 33 -33 -53 94 + 1 1 -53 -21 61 29 -1 + 1 33 33 33 -1 -33 94 + 1 1 -21 -1 89 73 -1 + 1 17 33 33 -33 -53 95 + 1 1 -53 -21 89 73 -1 + 1 17 33 33 -1 -33 95 + 1 1 -1 -21 1 17 -1 + 1 17 33 33 -1 -21 96 + 1 1 -21 -53 1 17 -1 + 1 17 33 33 -21 -53 96 + 1 33 1 1 -1 -89 -1 + 1 1 -1 -89 33 1 98 + 33 33 1 53 -1 -89 -1 + 25 25 -89 -1 53 1 101 + 1 33 53 53 1 89 13 + 25 89 65 + c30 + 11 + 1 25 1 1 -65 -1 -1 + 1 25 1 1 -1 -65 83 + 1 25 89 89 -65 -1 -1 + 1 25 89 89 -1 -65 83 + 1 1 -73 -61 33 65 -1 + 1 33 1 1 -1 -13 88 + 1 1 -29 -17 33 65 -1 + 1 33 1 1 -1 -13 93 + 1 1 61 29 -65 -33 -1 + 1 33 -1 -33 53 53 94 + 1 1 89 73 -65 -33 -1 + 1 17 -1 -33 53 53 95 + 1 1 1 17 -65 -33 -1 + 1 17 -1 -33 1 1 96 + 1 1 -1 -89 33 1 -1 + 1 33 1 1 -1 -89 97 + 1 25 -1 -89 1 1 -1 + 25 25 -89 -1 53 77 101 + 1 25 -1 -89 65 65 -1 + 17 17 -1 -89 53 77 100 + 25 25 1 89 1 65 8 + 89 77 25 + c31 + 7 + -1 -89 53 1 1 1 -1 + 33 33 1 53 -1 -89 82 + -89 -1 53 77 1 1 -1 + 1 25 -1 -89 65 65 83 + 89 89 1 77 -1 -25 -1 + -25 -1 89 89 1 77 101 + 1 1 1 77 -1 -25 -1 + -25 -1 1 1 1 77 101 + 1 89 1 77 25 25 7 + 1 89 1 1 1 25 13 + 1 89 77 77 1 25 8 + 17 89 77 + c32 + 16 + 17 17 -61 -73 1 33 -1 + 1 33 1 1 -1 -13 87 + 17 17 -61 -73 33 53 -1 + 33 33 1 21 -1 -13 87 + 17 17 -17 -29 1 33 -1 + 1 33 1 1 -1 -13 92 + 17 17 -17 -29 33 53 -1 + 33 33 1 21 -1 -13 92 + 17 17 61 29 -33 -53 -1 + 1 33 1 1 -33 -53 94 + 17 17 61 29 -1 -33 -1 + 1 33 1 1 -1 -33 94 + 17 17 89 73 -33 -53 -1 + 1 17 1 1 -33 -53 95 + 17 17 89 73 -1 -33 -1 + 1 17 1 1 -1 -33 95 + 17 17 1 17 -53 -33 -1 + 1 17 1 1 -1 -21 96 + 17 17 1 17 -33 -1 -1 + 1 17 1 1 -21 -53 96 + 17 17 -1 -89 53 77 -1 + 1 25 -1 -89 65 65 98 + 1 17 1 1 -1 -77 -1 + -1 -77 1 1 1 17 102 + 1 17 89 89 -1 -77 -1 + -1 -77 89 89 1 17 102 + 1 17 1 89 1 1 13 + 1 17 1 89 77 77 8 + 1 1 1 89 1 77 7 + 25 89 77 + c33 + 7 + 25 25 -89 -1 53 1 -1 + 33 33 1 53 -1 -89 97 + 25 25 -89 -1 53 77 -1 + 1 25 -1 -89 1 1 98 + -25 -1 89 89 1 77 -1 + 89 89 1 77 -1 -25 99 + -25 -1 1 1 1 77 -1 + 1 1 1 77 -1 -25 99 + 1 25 1 89 1 1 13 + 1 25 1 89 77 77 8 + 1 1 1 89 1 77 7 + 77 89 17 + c34 + 16 + 1 33 -73 -61 17 17 -1 + 1 33 1 1 -1 -13 72 + 33 53 -73 -61 17 17 -1 + 33 33 1 21 -1 -13 72 + 1 33 -29 -17 17 17 -1 + 1 33 1 1 -1 -13 77 + 33 53 -29 -17 17 17 -1 + 33 33 1 21 -1 -13 77 + -53 -33 61 29 17 17 -1 + 1 33 1 1 -1 -21 79 + -33 -1 61 29 17 17 -1 + 1 33 1 1 -21 -53 79 + -53 -33 89 73 17 17 -1 + 1 17 1 1 -1 -21 80 + -33 -1 89 73 17 17 -1 + 1 17 1 1 -21 -53 80 + -33 -53 1 17 17 17 -1 + 1 17 1 1 -33 -53 81 + -1 -33 1 17 17 17 -1 + 1 17 1 1 -1 -33 81 + 53 77 -1 -89 17 17 -1 + 1 25 -1 -89 1 1 83 + -1 -77 1 1 1 17 -1 + 1 17 1 1 -1 -77 100 + -1 -77 89 89 1 17 -1 + 1 17 89 89 -1 -77 100 + 1 77 1 89 1 1 7 + 1 1 1 89 1 17 13 + 77 77 1 89 1 17 8 + 21 57 93 + d01 + 6 + 1 1 1 57 -1 -93 -1 + 57 1 1 1 -93 -1 110 + 1 21 1 1 -1 -93 -1 + -1 -93 21 1 1 1 105 + 21 21 1 57 -1 -93 -1 + 57 1 105 105 -93 -1 132 + 1 21 -1 -57 93 93 -1 + -57 -1 1 21 1 1 131 + 1 21 1 57 1 1 3 + 1 21 57 57 1 93 2 + 93 21 41 + d02 + 6 + 1 93 -1 -21 1 1 -1 + 1 93 1 1 -1 -21 130 + 1 1 1 21 -1 -41 -1 + 1 1 -149 -189 21 41 109 + 1 93 1 1 -1 -41 -1 + 1 93 1 1 -41 -1 106 + 1 93 21 21 -1 -41 -1 + -1 -41 1 93 1 1 111 + 1 93 1 21 41 41 4 + 93 93 1 21 1 41 3 + 93 21 45 + d03 + 6 + -1 -93 21 1 1 1 -1 + 1 21 1 1 -1 -93 103 + 1 93 1 1 -1 -45 -1 + 93 1 1 1 -145 -189 106 + 93 93 1 21 -1 -45 -1 + 1 1 -45 -1 21 41 109 + 1 93 21 21 -1 -45 -1 + -1 -45 1 93 1 1 112 + 1 93 1 21 45 45 4 + 1 1 1 21 1 45 3 + 93 21 189 + d04 + 8 + 1 93 1 1 -41 -1 -1 + 1 93 1 1 -1 -41 104 + 93 1 1 1 -145 -189 -1 + 1 93 1 1 -1 -45 105 + 1 1 1 21 -1 -189 -1 + 1 1 -189 -1 21 1 109 + 1 93 1 1 -41 -145 -1 + 57 57 -1 -105 1 93 132 + 1 93 21 21 -1 -189 -1 + -1 -189 25 117 1 1 121 + 1 93 1 21 1 1 4 + 1 93 1 21 189 189 4 + 93 93 1 21 1 189 3 + 49 57 49 + d05 + 6 + 1 1 1 57 -1 -49 -1 + 1 57 17 17 -93 -45 110 + 49 49 1 57 -1 -49 -1 + 41 41 -1 -49 1 57 133 + 1 49 57 57 -1 -49 -1 + -1 -49 1 49 1 1 113 + 1 49 1 57 1 1 3 + 1 49 1 57 49 49 2 + 1 49 1 1 1 49 2 + 45 49 57 + d06 + 6 + 1 45 -1 -49 1 1 -1 + 45 1 -1 -49 1 1 114 + 1 1 1 49 -1 -57 -1 + -57 -1 1 1 17 65 131 + 1 45 1 1 -1 -57 -1 + -57 -1 17 17 1 45 110 + 1 45 49 49 -1 -57 -1 + 41 41 93 49 -57 -1 133 + 1 45 1 49 57 57 2 + 45 45 1 49 1 57 2 + 25 189 41 + d07 + 9 + 1 1 -149 -189 21 41 -1 + 1 1 1 21 -1 -41 104 + 1 1 -45 -1 21 41 -1 + 93 93 1 21 -1 -45 105 + 1 1 -189 -1 21 1 -1 + 1 1 1 21 -1 -189 106 + 1 25 -1 -189 1 1 -1 + -189 -1 25 1 1 1 121 + 1 1 45 149 -21 -41 -1 + 57 57 -21 -1 1 105 131 + 25 25 1 189 -1 -41 -1 + 1 1 -13 -53 189 1 134 + 1 25 -1 -189 41 41 -1 + 1 25 -1 -189 1 1 118 + 1 25 1 1 1 41 4 + 1 25 189 189 1 41 4 + 57 17 93 + d08 + 7 + 57 1 1 1 -93 -1 -1 + 1 1 1 57 -1 -93 103 + 1 57 17 17 -93 -45 -1 + 1 1 1 57 -1 -49 107 + -57 -1 17 17 1 45 -1 + 1 45 1 1 -1 -57 108 + 1 57 -1 -17 1 1 -1 + 1 57 1 1 -1 -17 131 + 57 57 1 17 -1 -93 -1 + 1 17 -1 -93 1 1 119 + 1 57 1 17 93 93 3 + 1 1 1 17 1 93 2 + 41 93 85 + d09 + 6 + -1 -41 1 93 1 1 -1 + 1 93 21 21 -1 -41 104 + 1 1 1 93 -1 -85 -1 + 1 1 93 1 -1 -85 120 + 1 41 1 1 -1 -85 -1 + 1 1 149 189 -1 -85 118 + 1 41 -1 -93 85 85 -1 + 41 81 -1 -93 1 1 122 + 41 41 1 93 1 85 4 + 1 41 93 93 1 85 3 + 45 93 85 + d10 + 8 + -1 -45 1 93 1 1 -1 + 1 93 21 21 -1 -45 105 + 1 1 1 93 -1 -9 -1 + 1 1 93 1 -1 -9 119 + 1 1 1 93 -9 -65 -1 + 1 1 93 1 -9 -65 119 + 1 1 1 93 -65 -85 -1 + 1 1 93 1 -65 -85 119 + 1 45 93 93 -1 -85 -1 + 1 1 45 1 -1 -85 118 + 1 45 -1 -93 85 85 -1 + 17 61 -1 -93 1 1 123 + 45 45 1 93 1 85 4 + 1 45 1 1 1 85 3 + 49 49 85 + d11 + 8 + -1 -49 1 49 1 1 -1 + 1 49 57 57 -1 -49 107 + 1 49 1 1 -1 -85 -1 + 17 17 93 45 -1 -85 119 + 49 49 1 5 -1 -85 -1 + 5 1 1 1 -1 -85 116 + 49 49 5 45 -1 -85 -1 + 1 41 9 9 -1 -85 117 + 49 49 45 49 -1 -85 -1 + 1 1 1 5 -1 -85 115 + 1 49 49 49 -1 -85 -1 + 41 41 1 49 -1 -85 120 + 1 49 -1 -49 85 85 -1 + 1 49 -1 -49 1 1 124 + 1 1 1 49 1 85 3 + 45 49 85 + d12 + 8 + 45 1 -1 -49 1 1 -1 + 1 45 -1 -49 1 1 108 + 1 1 1 5 -1 -85 -1 + 5 5 1 5 -1 -85 116 + 1 1 5 45 -1 -85 -1 + 1 41 1 1 -1 -85 117 + 1 1 45 49 -1 -85 -1 + 5 1 5 5 -1 -85 115 + 1 45 1 1 -1 -85 -1 + 17 17 45 1 -1 -85 119 + 45 45 1 49 -1 -85 -1 + 1 1 61 109 -1 -85 118 + 1 45 49 49 -1 -85 -1 + 41 41 49 93 -1 -85 120 + 1 45 -1 -49 85 85 -1 + 1 45 -1 -49 1 1 125 + 5 5 85 + d13 + 6 + 1 1 1 5 -1 -85 -1 + 49 49 45 49 -1 -85 113 + 5 1 5 5 -1 -85 -1 + 1 1 45 49 -1 -85 114 + 1 5 1 1 -1 -85 -1 + 41 41 9 5 -1 -85 117 + 5 5 1 5 -1 -85 -1 + 41 41 5 1 -1 -85 117 + 1 5 -1 -5 85 85 -1 + 1 5 -1 -5 1 1 126 + 1 5 1 5 1 1 2 + 5 5 85 + d14 + 6 + 5 1 1 1 -1 -85 -1 + 49 49 1 5 -1 -85 113 + 5 5 1 5 -1 -85 -1 + 1 1 1 5 -1 -85 114 + 1 1 1 5 -1 -85 -1 + 1 1 9 5 -1 -85 117 + 1 5 5 5 -1 -85 -1 + 1 1 5 1 -1 -85 117 + 1 5 -1 -5 85 85 -1 + 1 5 -1 -5 1 1 127 + 1 5 1 5 1 1 2 + 41 9 85 + d15 + 8 + 1 41 9 9 -1 -85 -1 + 49 49 5 45 -1 -85 113 + 1 41 1 1 -1 -85 -1 + 1 1 5 45 -1 -85 114 + 41 41 9 5 -1 -85 -1 + 1 5 1 1 -1 -85 115 + 41 41 5 1 -1 -85 -1 + 5 5 1 5 -1 -85 115 + 1 1 9 5 -1 -85 -1 + 1 1 1 5 -1 -85 116 + 1 1 5 1 -1 -85 -1 + 1 5 5 5 -1 -85 116 + 1 41 -1 -9 85 85 -1 + 1 41 -1 -9 1 1 128 + 1 41 1 9 1 1 2 + 25 189 85 + d16 + 10 + 1 25 -1 -189 1 1 -1 + 1 25 -1 -189 41 41 109 + 1 1 149 189 -1 -85 -1 + 1 41 1 1 -1 -85 111 + 1 1 45 1 -1 -85 -1 + 1 45 93 93 -1 -85 112 + 1 1 61 109 -1 -85 -1 + 45 45 1 49 -1 -85 114 + 1 1 45 61 -1 -85 -1 + 1 17 1 1 -1 -85 119 + 1 1 109 149 -1 -85 -1 + 41 1 93 93 -1 -85 120 + 25 25 1 189 -1 -85 -1 + 1 1 -53 -137 189 1 134 + 1 25 -1 -189 85 85 -1 + 1 25 -1 -189 1 1 129 + 1 25 1 1 1 85 4 + 1 25 189 189 1 85 4 + 17 93 85 + d17 + 9 + 1 17 -1 -93 1 1 -1 + 57 57 1 17 -1 -93 110 + 1 1 93 1 -1 -9 -1 + 1 1 1 93 -1 -9 112 + 1 1 93 1 -9 -65 -1 + 1 1 1 93 -9 -65 112 + 1 1 93 1 -65 -85 -1 + 1 1 1 93 -65 -85 112 + 17 17 93 45 -1 -85 -1 + 1 49 1 1 -1 -85 113 + 17 17 45 1 -1 -85 -1 + 1 45 1 1 -1 -85 114 + 1 17 1 1 -1 -85 -1 + 1 1 45 61 -1 -85 118 + 1 17 -1 -93 85 85 -1 + 17 1 -93 -1 1 1 123 + 1 17 93 93 1 85 3 + 41 93 85 + d18 + 7 + 1 1 93 1 -1 -85 -1 + 1 1 1 93 -1 -85 111 + 41 41 1 49 -1 -85 -1 + 1 49 49 49 -1 -85 113 + 41 41 49 93 -1 -85 -1 + 1 45 49 49 -1 -85 114 + 41 1 93 93 -1 -85 -1 + 1 1 109 149 -1 -85 118 + 1 41 -1 -93 1 1 -1 + 1 41 -1 -93 57 57 133 + 1 41 -1 -93 85 85 -1 + 41 1 -93 -1 1 1 122 + 1 41 1 1 1 85 3 + 189 117 13 + d19 + 7 + -1 -189 25 117 1 1 -1 + 1 93 21 21 -1 -189 106 + -189 -1 25 1 1 1 -1 + 1 25 -1 -189 1 1 109 + 1 189 1 1 -1 -13 -1 + 1 1 -13 -1 1 189 134 + 1 189 1 117 13 13 4 + 1 1 1 117 1 13 4 + 189 189 1 117 1 13 4 + 1 189 117 117 1 13 3 + 81 93 13 + d20 + 8 + 41 81 -1 -93 1 1 -1 + 1 41 -1 -93 85 85 111 + 41 1 -93 -1 1 1 -1 + 1 41 -1 -93 85 85 120 + 1 1 45 93 -1 -13 -1 + 49 1 49 49 -1 -13 124 + 1 1 1 45 -1 -13 -1 + 45 1 49 49 -1 -13 125 + 1 81 1 1 -1 -13 -1 + 1 1 109 189 -1 -13 129 + 1 81 1 93 13 13 4 + 81 81 1 93 1 13 4 + 1 81 93 93 1 13 3 + 61 93 13 + d21 + 8 + 17 61 -1 -93 1 1 -1 + 1 45 -1 -93 85 85 112 + 17 1 -93 -1 1 1 -1 + 1 17 -1 -93 85 85 119 + 1 1 49 93 -1 -13 -1 + 1 45 1 1 -1 -13 125 + 1 1 1 49 -1 -13 -1 + 1 49 1 1 -1 -13 124 + 1 61 93 93 -1 -13 -1 + 1 1 61 1 -1 -13 129 + 1 61 1 93 13 13 4 + 61 61 1 93 1 13 4 + 1 61 1 1 1 13 3 + 49 49 13 + d22 + 8 + 1 49 -1 -49 1 1 -1 + 1 49 -1 -49 85 85 113 + 49 1 49 49 -1 -13 -1 + 1 1 45 93 -1 -13 122 + 1 49 1 1 -1 -13 -1 + 1 1 1 49 -1 -13 123 + 49 49 1 5 -1 -13 -1 + 5 1 1 1 -1 -13 127 + 49 49 5 45 -1 -13 -1 + 1 41 9 9 -1 -13 128 + 49 49 45 49 -1 -13 -1 + 1 1 1 5 -1 -13 126 + 1 49 1 49 13 13 4 + 1 1 1 49 1 13 3 + 45 49 13 + d23 + 8 + 1 45 -1 -49 1 1 -1 + 1 45 -1 -49 85 85 114 + 45 1 49 49 -1 -13 -1 + 1 1 1 45 -1 -13 122 + 1 45 1 1 -1 -13 -1 + 1 1 49 93 -1 -13 123 + 1 1 1 5 -1 -13 -1 + 5 5 1 5 -1 -13 127 + 1 1 5 45 -1 -13 -1 + 1 41 1 1 -1 -13 128 + 1 1 45 49 -1 -13 -1 + 5 1 5 5 -1 -13 126 + 45 45 1 49 -1 -13 -1 + 1 1 61 109 -1 -13 129 + 1 45 1 49 13 13 4 + 5 5 13 + d24 + 6 + 1 5 -1 -5 1 1 -1 + 1 5 -1 -5 85 85 115 + 1 1 1 5 -1 -13 -1 + 49 49 45 49 -1 -13 124 + 5 1 5 5 -1 -13 -1 + 1 1 45 49 -1 -13 125 + 1 5 1 1 -1 -13 -1 + 41 41 9 5 -1 -13 128 + 5 5 1 5 -1 -13 -1 + 41 41 5 1 -1 -13 128 + 1 5 1 5 13 13 4 + 5 5 13 + d25 + 6 + 1 5 -1 -5 1 1 -1 + 1 5 -1 -5 85 85 116 + 5 1 1 1 -1 -13 -1 + 49 49 1 5 -1 -13 124 + 5 5 1 5 -1 -13 -1 + 1 1 1 5 -1 -13 125 + 1 1 1 5 -1 -13 -1 + 1 1 9 5 -1 -13 128 + 1 5 5 5 -1 -13 -1 + 1 1 5 1 -1 -13 128 + 1 5 1 5 13 13 4 + 41 9 13 + d26 + 8 + 1 41 -1 -9 1 1 -1 + 1 41 -1 -9 85 85 117 + 1 41 9 9 -1 -13 -1 + 49 49 5 45 -1 -13 124 + 1 41 1 1 -1 -13 -1 + 1 1 5 45 -1 -13 125 + 41 41 9 5 -1 -13 -1 + 1 5 1 1 -1 -13 126 + 41 41 5 1 -1 -13 -1 + 5 5 1 5 -1 -13 126 + 1 1 9 5 -1 -13 -1 + 1 1 1 5 -1 -13 127 + 1 1 5 1 -1 -13 -1 + 1 5 5 5 -1 -13 127 + 1 41 1 9 13 13 4 + 25 189 13 + d27 + 8 + 1 25 -1 -189 1 1 -1 + 1 25 -1 -189 85 85 118 + 1 1 109 189 -1 -13 -1 + 1 81 1 1 -1 -13 122 + 1 1 61 1 -1 -13 -1 + 1 61 93 93 -1 -13 123 + 1 1 61 109 -1 -13 -1 + 45 45 1 49 -1 -13 125 + 25 25 1 189 -1 -13 -1 + 1 1 -137 -149 189 1 134 + 1 25 1 189 13 13 4 + 1 25 1 1 1 13 4 + 1 25 189 189 1 13 4 + 93 57 21 + d28 + 6 + 1 93 1 1 -1 -21 -1 + 1 93 -1 -21 1 1 104 + 1 93 -1 -57 1 1 -1 + -57 -1 1 1 1 93 132 + 1 1 1 57 -1 -21 -1 + 57 1 -21 -1 105 105 131 + 1 93 -1 -57 21 21 -1 + 1 1 93 1 -57 -1 133 + 93 93 1 57 1 21 3 + 1 93 57 57 1 21 2 + 57 21 105 + d29 + 10 + -57 -1 1 21 1 1 -1 + 1 21 -1 -57 93 93 103 + -57 -1 1 1 17 65 -1 + 1 1 1 49 -1 -57 108 + 57 57 -21 -1 1 105 -1 + 1 1 45 149 -21 -41 109 + 1 57 1 1 -1 -17 -1 + 1 57 -1 -17 1 1 110 + 57 1 -21 -1 105 105 -1 + 1 1 1 57 -1 -21 130 + 1 57 1 1 -65 -105 -1 + -41 -1 93 93 1 57 133 + 1 57 21 21 -1 -105 -1 + 1 57 -105 -1 1 1 132 + 1 1 1 21 65 105 2 + 1 1 1 21 17 65 2 + 1 1 1 21 1 17 2 + 57 105 93 + d30 + 6 + 57 1 105 105 -93 -1 -1 + 21 21 1 57 -1 -93 103 + 57 57 -1 -105 1 93 -1 + 1 93 1 1 -41 -145 106 + -57 -1 1 1 1 93 -1 + 1 93 -1 -57 1 1 130 + 1 57 -105 -1 1 1 -1 + 1 57 21 21 -1 -105 131 + 1 57 1 105 93 93 3 + 1 1 1 105 1 93 2 + 41 93 57 + d31 + 7 + 41 41 -1 -49 1 57 -1 + 49 49 1 57 -1 -49 107 + 41 41 93 49 -57 -1 -1 + 1 45 49 49 -1 -57 108 + 1 41 -1 -93 57 57 -1 + 1 41 -1 -93 1 1 120 + 1 1 93 1 -57 -1 -1 + 1 93 -1 -57 21 21 130 + -41 -1 93 93 1 57 -1 + 1 57 1 1 -65 -105 131 + 1 41 1 93 1 1 2 + 1 41 1 1 1 57 3 + 13 149 189 + d32 + 9 + 1 1 -13 -53 189 1 -1 + 25 25 1 189 -1 -41 109 + 1 1 -53 -137 189 1 -1 + 25 25 1 189 -1 -85 118 + 1 1 -13 -1 1 189 -1 + 1 189 1 1 -1 -13 121 + 1 1 -137 -149 189 1 -1 + 25 25 1 189 -1 -13 129 + 1 13 1 149 1 1 4 + 1 13 1 149 189 189 4 + 13 13 1 149 1 189 4 + 1 13 1 1 1 189 4 + 1 13 149 149 1 189 4