-
Notifications
You must be signed in to change notification settings - Fork 843
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
new onera optimization/tutorial 8 config file credit: Santiago
- Loading branch information
hlkline
committed
Jan 15, 2014
1 parent
4da51f3
commit 40d0e82
Showing
1 changed file
with
392 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,392 @@ | ||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
% % | ||
% Stanford University unstructured (SU2) configuration file % | ||
% Case description: Optimization case for the ONERA M6 wing in inviscid flow % | ||
% Author: Francisco Palacios % | ||
% Institution: Stanford University % | ||
% Date: 09.27.2013 % | ||
% File Version 2.0.7 % | ||
% % | ||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||
|
||
% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% | ||
% | ||
% Physical governing equations (EULER, NAVIER_STOKES, | ||
% PLASMA_EULER, PLASMA_NAVIER_STOKES, | ||
% FLUID_STRUCTURE_EULER, FLUID_STRUCTURE_NAVIER_STOKES, | ||
% AEROACOUSTIC_EULER, AEROACOUSTIC_NAVIER_STOKES, | ||
% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY) | ||
PHYSICAL_PROBLEM= EULER | ||
% | ||
% Mathematical problem (DIRECT, ADJOINT) | ||
MATH_PROBLEM= DIRECT | ||
% | ||
% Restart solution (NO, YES) | ||
RESTART_SOL= YES | ||
|
||
% -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% | ||
% | ||
% Mach number (non-dimensional, based on the free-stream values) | ||
MACH_NUMBER= 0.8395 | ||
% | ||
% Angle of attack (degrees) | ||
AoA= 3.06 | ||
% | ||
% Side-slip angle (degrees) | ||
SIDESLIP_ANGLE= 0.0 | ||
% | ||
% Free-stream pressure (101325.0 N/m^2 by default, only for Euler equations) | ||
FREESTREAM_PRESSURE= 101325.0 | ||
% | ||
% Free-stream temperature (273.15K by default) | ||
FREESTREAM_TEMPERATURE= 273.15 | ||
|
||
% --------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% | ||
% | ||
% Ratio of specific heats (1.4 (air), only for compressible flows) | ||
GAMMA_VALUE= 1.4 | ||
% | ||
% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) | ||
GAS_CONSTANT= 287.87 | ||
|
||
% ---------------------- REFERENCE VALUE DEFINITION ---------------------------% | ||
% | ||
% Conversion factor for converting the grid to meters | ||
CONVERT_TO_METER= 1.0 | ||
% | ||
% Reference origin for moment computation | ||
REF_ORIGIN_MOMENT_X = 0.2015 | ||
REF_ORIGIN_MOMENT_Y = 0.00 | ||
REF_ORIGIN_MOMENT_Z = 0.00 | ||
% | ||
% Reference length for pitching, rolling, and yawing non-dimensional moment | ||
REF_LENGTH_MOMENT= 0.64607 | ||
% | ||
% Reference area for force coefficients (0 implies automatic calculation) | ||
REF_AREA= 0 | ||
% | ||
% Reference pressure (101325.0 N/m^2 by default) | ||
REF_PRESSURE= 101325.0 | ||
% | ||
% Reference temperature (273.15 K by default) | ||
REF_TEMPERATURE= 273.15 | ||
% | ||
% Reference density (1.2886 Kg/m^3 (air), 998.2 Kg/m^3 (water)) | ||
REF_DENSITY= 1.2886 | ||
% | ||
% Reference element length for computing the slope and sharp edges limiters. | ||
REF_ELEM_LENGTH= 0.1 | ||
% | ||
% Reference coefficient (sensitivity) for detecting sharp edges. | ||
REF_SHARP_EDGES= 3.0 | ||
|
||
% ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% | ||
% | ||
% Marker of the Euler boundary (0 implies no marker) | ||
MARKER_EULER= ( UPPER_SIDE, LOWER_SIDE, TIP ) | ||
% | ||
% Marker of the far field (0 implies no marker) | ||
MARKER_FAR= ( XNORMAL_FACES, ZNORMAL_FACES, YNORMAL_FACE ) | ||
% | ||
% Marker of symmetry boundary (0 implies no marker) | ||
MARKER_SYM= ( SYMMETRY_FACE ) | ||
% | ||
% Marker of the surface which is going to be plotted or designed | ||
MARKER_PLOTTING= ( UPPER_SIDE, LOWER_SIDE, TIP ) | ||
% | ||
% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated | ||
MARKER_MONITORING= ( UPPER_SIDE, LOWER_SIDE, TIP ) | ||
|
||
% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% | ||
% | ||
% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) | ||
NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES | ||
% | ||
% Courant-Friedrichs-Lewy condition of the finest grid | ||
CFL_NUMBER= 10.0 | ||
% | ||
% CFL ramp (factor, number of iterations, CFL limit) | ||
CFL_RAMP= ( 1.0, 50, 1.0 ) | ||
% | ||
% Runge-Kutta alpha coefficients | ||
RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) | ||
% | ||
% Number of total iterations | ||
EXT_ITER= 2000 | ||
|
||
% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% | ||
% | ||
% Linear solver for the implicit formulation (BCGSTAB, FGMRES) | ||
LINEAR_SOLVER= FGMRES | ||
% | ||
% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) | ||
LINEAR_SOLVER_PREC= LU_SGS | ||
% | ||
% Min error of the linear solver for the implicit formulation | ||
LINEAR_SOLVER_ERROR= 1E-6 | ||
% | ||
% Max number of iterations of the linear solver for the implicit formulation | ||
LINEAR_SOLVER_ITER= 5 | ||
|
||
% -------------------------- MULTIGRID PARAMETERS -----------------------------% | ||
% | ||
% Multi-Grid Levels (0 = no multi-grid) | ||
MGLEVEL= 2 | ||
% | ||
% Multi-Grid Cycle (0 = V cycle, 1 = W Cycle) | ||
MGCYCLE= 0 | ||
% | ||
% Reduction factor of the CFL coefficient in the coarse levels | ||
MG_CFL_REDUCTION= 0.9 | ||
% | ||
% Maximum number of children in the agglomeration stage | ||
MAX_CHILDREN= 250 | ||
% | ||
% Maximum length of an agglomerated element (compared with the domain) | ||
MAX_DIMENSION= 0.15 | ||
% | ||
% Multi-Grid PreSmoothing Level | ||
MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) | ||
% | ||
% Multi-Grid PostSmoothing Level | ||
MG_POST_SMOOTH= ( 0, 0, 0, 0 ) | ||
% | ||
% Jacobi implicit smoothing of the correction | ||
MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) | ||
% | ||
% Damping factor for the residual restriction | ||
MG_DAMP_RESTRICTION= 0.9 | ||
% | ||
% Damping factor for the correction prolongation | ||
MG_DAMP_PROLONGATION= 0.9 | ||
|
||
% --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% | ||
% Convective numerical method: (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, | ||
% ROE-2ND_ORDER) | ||
CONV_NUM_METHOD_FLOW= JST | ||
% | ||
% Slope limiter: (NONE, VENKATAKRISHNAN) | ||
SLOPE_LIMITER_FLOW= NONE | ||
% | ||
% Coefficient for the limiter | ||
LIMITER_COEFF= 0.3 | ||
% | ||
% 1st, 2nd and 4th order artificial dissipation coefficients | ||
AD_COEFF_FLOW= ( 0.15, 0.5, 0.04 ) | ||
% | ||
% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) | ||
TIME_DISCRE_FLOW= EULER_IMPLICIT | ||
|
||
% ----------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION ------------------% | ||
% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, | ||
% MOMENT_Y, MOMENT_Z, EFFICIENCY, | ||
% EQUIVALENT_AREA, NEARFIELD_PRESSURE, | ||
% FORCE_X, FORCE_Y, FORCE_Z, THRUST, | ||
% TORQUE, FREE_SURFACE) | ||
ADJ_OBJFUNC= DRAG | ||
% | ||
% Convective numerical method: (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, | ||
% ROE-2ND_ORDER) | ||
CONV_NUM_METHOD_ADJ= JST | ||
% | ||
% Slope limiter: (NONE, VENKATAKRISHNAN, SHARP_EDGES) | ||
SLOPE_LIMITER_ADJFLOW= SHARP_EDGES | ||
% | ||
% Coefficient for the sharp edges limiter | ||
SHARP_EDGES_COEFF= 3.0 | ||
% | ||
% 1st, 2nd, and 4th order artificial dissipation coefficients | ||
AD_COEFF_ADJ= ( 0.15, 0.5, 0.04 ) | ||
% | ||
% Reduction factor of the CFL coefficient in the adjoint problem | ||
ADJ_CFL_REDUCTION= 0.25 | ||
% | ||
% Limit value for the adjoint variable | ||
ADJ_LIMIT= 1E6 | ||
% | ||
% Remove sharp edges from the sensitivity evaluation (NO, YES) | ||
SENS_REMOVE_SHARP= YES | ||
% | ||
% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) | ||
TIME_DISCRE_ADJ= EULER_IMPLICIT | ||
|
||
% --------------------------- PARTITIONING STRATEGY ---------------------------% | ||
% | ||
% Write a tecplot file for each partition (NO, YES) | ||
VISUALIZE_PART= NO | ||
|
||
% ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% | ||
% | ||
% Airfoil sections definition, Ycoord (root, tip) | ||
GEO_SECTION_LIMIT= (0.0806, 1.1284) | ||
% | ||
% Geometrical evaluation mode (FUNCTION, GRADIENT) | ||
GEO_MODE= FUNCTION | ||
|
||
% --------------------------- CONVERGENCE PARAMETERS --------------------------& | ||
% | ||
% Convergence criteria (CAUCHY, RESIDUAL) | ||
CONV_CRITERIA= RESIDUAL | ||
% | ||
% Residual reduction (order of magnitude with respect to the initial value) | ||
RESIDUAL_REDUCTION= 5 | ||
% | ||
% Min value of the residual (log10 of the residual) | ||
RESIDUAL_MINVAL= -5.70 | ||
% | ||
% Start convergence criteria at iteration number | ||
STARTCONV_ITER= 100 | ||
% | ||
% Number of elements to apply the criteria | ||
CAUCHY_ELEMS= 100 | ||
% | ||
% Epsilon to control the series convergence | ||
CAUCHY_EPS= 1E-10 | ||
% | ||
% Direct function to apply the convergence criteria (LIFT, DRAG, NEARFIELD_PRESS) | ||
CAUCHY_FUNC_FLOW= DRAG | ||
% | ||
% Adjoint function to apply the convergence criteria (SENS_GEOMETRY, SENS_MACH) | ||
CAUCHY_FUNC_ADJ= SENS_GEOMETRY | ||
% | ||
% Epsilon for full multigrid method evaluation | ||
FULLMG_CAUCHY_EPS= 1E-4 | ||
|
||
% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% | ||
% Mesh input file | ||
MESH_FILENAME= mesh_ONERAM6_inv.su2 | ||
% | ||
% Mesh output file | ||
MESH_OUT_FILENAME= mesh_out.su2 | ||
% | ||
% Restart flow input file | ||
SOLUTION_FLOW_FILENAME= solution_flow.dat | ||
% | ||
% Restart adjoint input file | ||
SOLUTION_ADJ_FILENAME= solution_adj.dat | ||
% | ||
% Mesh input file format (SU2) | ||
MESH_FORMAT= SU2 | ||
% | ||
% Output file format (PARAVIEW, TECPLOT) | ||
OUTPUT_FORMAT= TECPLOT | ||
% | ||
% Output file convergence history | ||
CONV_FILENAME= history | ||
% | ||
% Output file restart flow | ||
RESTART_FLOW_FILENAME= restart_flow.dat | ||
% | ||
% Output file restart adjoint | ||
RESTART_ADJ_FILENAME= restart_adj.dat | ||
% | ||
% Output file flow (w/o extension) variables | ||
VOLUME_FLOW_FILENAME= flow | ||
% | ||
% Output file adjoint (w/o extension) variables | ||
VOLUME_ADJ_FILENAME= adjoint | ||
% | ||
% Output Objective function gradient (using continuous adjoint) | ||
GRAD_OBJFUNC_FILENAME= of_grad.dat | ||
% | ||
% Output file surface flow coefficient (w/o extension) | ||
SURFACE_FLOW_FILENAME= surface_flow | ||
% | ||
% Output file surface adjoint coefficient (w/o extension) | ||
SURFACE_ADJ_FILENAME= surface_adjoint | ||
% | ||
% Writing solution file frequency | ||
WRT_SOL_FREQ= 500 | ||
% | ||
% Writing solution file frequency for physical time steps (dual time) | ||
WRT_SOL_FREQ_DUALTIME= 1 | ||
% | ||
% Writing convergence history frequency | ||
WRT_CON_FREQ= 1 | ||
% | ||
% Writing convergence history frequency (dual time, only written to screen) | ||
WRT_CON_FREQ_DUALTIME= 10 | ||
% | ||
% Writing linear solver history frequency | ||
WRT_LIN_CON_FREQ= 1 | ||
% | ||
% Output rind layers in the solution files | ||
WRT_HALO= NO | ||
% | ||
% ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% | ||
% | ||
% Kind of deformation (NO_DEFORMATION, HICKS_HENNE, PARABOLIC, NACA_4DIGITS, | ||
% DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, | ||
% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, | ||
% FFD_ROTATION, FFD_CAMBER, FFD_THICKNESS, FFD_VOLUME) | ||
DV_KIND= NO_DEFORMATION | ||
% | ||
% Marker of the surface in which we are going apply the shape deformation | ||
DV_MARKER= ( UPPER_SIDE, LOWER_SIDE, TIP ) | ||
% | ||
% Parameters of the shape deformation | ||
% - FFD_CONTROL_POINT ( Chunk, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) | ||
% - FFD_DIHEDRAL_ANGLE ( Chunk, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) | ||
% - FFD_TWIST_ANGLE ( Chunk, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) | ||
% - FFD_ROTATION ( Chunk, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) | ||
% - FFD_CAMBER ( Chunk, i_Ind, j_Ind ) | ||
% - FFD_THICKNESS ( Chunk, i_Ind, j_Ind ) | ||
% - FFD_VOLUME ( Chunk, i_Ind, j_Ind ) | ||
DV_PARAM= ( 0, 1, 0, 0, 0.0, 0.0, 1.0 ) | ||
% | ||
% New value of the shape deformation | ||
DV_VALUE= 0.0 | ||
|
||
% ------------------------ GRID DEFORMATION PARAMETERS ------------------------% | ||
% | ||
% Grid deformation technique (SPRING, FEA) | ||
GRID_DEFORM_METHOD= SPRING | ||
% | ||
% Visualize the deformation (NO, YES) | ||
VISUALIZE_DEFORMATION= NO | ||
|
||
% --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% | ||
% Available flow based objective functions or constraint functions | ||
% DRAG, LIFT, SIDEFORCE, EFFICIENCY, | ||
% FORCE_X, FORCE_Y, FORCE_Z, | ||
% MOMENT_X, MOMENT_Y, MOMENT_Z, | ||
% THRUST, TORQUE, FIGURE_OF_MERIT, | ||
% EQUIVALENT_AREA, NEARFIELD_PRESSURE, | ||
% FREE_SURFACE | ||
% | ||
% Available geometrical based objective functions or constraint functions | ||
% MAX_THICKNESS, 1/4_THICKNESS, 1/2_THICKNESS, 3/4_THICKNESS, AREA, AOA, CHORD, | ||
% MAX_THICKNESS_SEC1, MAX_THICKNESS_SEC2, MAX_THICKNESS_SEC3, MAX_THICKNESS_SEC4, MAX_THICKNESS_SEC5, | ||
% 1/4_THICKNESS_SEC1, 1/4_THICKNESS_SEC2, 1/4_THICKNESS_SEC3, 1/4_THICKNESS_SEC4, 1/4_THICKNESS_SEC5, | ||
% 1/2_THICKNESS_SEC1, 1/2_THICKNESS_SEC2, 1/2_THICKNESS_SEC3, 1/2_THICKNESS_SEC4, 1/2_THICKNESS_SEC5, | ||
% 3/4_THICKNESS_SEC1, 3/4_THICKNESS_SEC2, 3/4_THICKNESS_SEC3, 3/4_THICKNESS_SEC4, 3/4_THICKNESS_SEC5, | ||
% AREA_SEC1, AREA_SEC2, AREA_SEC3, AREA_SEC4, AREA_SEC5, | ||
% AOA_SEC1, AOA_SEC2, AOA_SEC3, AOA_SEC4, AOA_SEC5, | ||
% CHORD_SEC1, CHORD_SEC2, CHORD_SEC3, CHORD_SEC4, CHORD_SEC5 | ||
% | ||
% Available design variables | ||
% HICKS_HENNE ( 1, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) | ||
% COSINE_BUMP ( 2, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc, x_Size ) | ||
% SPHERICAL ( 3, Scale | Mark. List | ControlPoint_Index, Theta_Disp, R_Disp ) | ||
% NACA_4DIGITS ( 4, Scale | Mark. List | 1st digit, 2nd digit, 3rd and 4th digit ) | ||
% DISPLACEMENT ( 5, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) | ||
% ROTATION ( 6, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) | ||
% FFD_CONTROL_POINT ( 7, Scale | Mark. List | Chunk, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) | ||
% FFD_DIHEDRAL_ANGLE ( 8, Scale | Mark. List | Chunk, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) | ||
% FFD_TWIST_ANGLE ( 9, Scale | Mark. List | Chunk, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) | ||
% FFD_ROTATION ( 10, Scale | Mark. List | Chunk, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) | ||
% FFD_CAMBER ( 11, Scale | Mark. List | Chunk, i_Ind, j_Ind ) | ||
% FFD_THICKNESS ( 12, Scale | Mark. List | Chunk, i_Ind, j_Ind ) | ||
% FFD_VOLUME ( 13, Scale | Mark. List | Chunk, i_Ind, j_Ind ) | ||
% FOURIER ( 14, Scale | Mark. List | Lower(0)/Upper(1) side, index, cos(0)/sin(1) ) | ||
% | ||
% Optimization objective function with scaling factor | ||
% ex= Objective * Scale | ||
OPT_OBJECTIVE= DRAG * 0.1 | ||
% | ||
% Optimization constraint functions with scaling factors, separated by semicolons | ||
% ex= (Objective = Value ) * Scale, use '>','<','=' | ||
OPT_CONSTRAINT= (LIFT > 0.2864) * 0.1; (MAX_THICKNESS_SEC1 > 0.0570) * 0.1; (MAX_THICKNESS_SEC2 > 0.0513) * 0.1; (MAX_THICKNESS_SEC3 > 0.0457) * 0.1; (MAX_THICKNESS_SEC4 > 0.0399) * 0.1; (MAX_THICKNESS_SEC5 > 0.0343) * 0.1 | ||
% | ||
% Optimization design variables, separated by semicolons | ||
DEFINITION_DV= ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 0, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 0, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 0, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 0, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 0, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 1, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 1, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 1, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 1, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 1, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 2, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 2, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 2, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 2, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 2, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 3, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 3, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 3, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 3, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 3, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 4, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 4, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 4, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 4, 1, 0.0, 0.0, 1.0 ); ( 7, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 4, 1, 0.0, 0.0, 1.0 ); |