le

[en] [fr]
[ru]

LEPARAGLIDING 3.10
USER MANUAL
 
lep-3.00

Program version 3.10 is the result of working intensively in the source code of LEparagliding. There is a lot of invisible work in subroutines and code improvements. Version 3.10 has an expanded data file structure with respect to the previous version 2.60. Sections 1 to 18 of version 2.60 are the same as those of version 3.10. But new version has addicitonal sections numbered 19,20,21 ... up to 31. To convert a file from version 2.60 to 3.10, just add the new sections at the end of the archive leparagliding.txt

Most of the data included in the new sections can be considered as "invariant parameters", sections 19,20,24,25,28,30,31. That is, they can be used as default values for any new model.  The new parameters allow for greater control of the DXF results and add some new features. Extension of the DXF-2D plans to an array 4 rows x of 7 columns (28 plans). Plan 1-7 used for rods. New plan 4-7 includes general text notes for constructor. New sections save a lot of drawing work with CAD, and now the paraglider is almost finished from the program. Section 31 allows skin tension with control of up to 100 points and applicable individually to each panel.

Main features added in lep-3.10 over precedent version:

Data file leparagliding.txt:
Section 29. 3D-shaping active.
Section 20.  Marks types, activated type8 which allows control of position and size of roman numerals
New plans added in file leparagliding.dxf:
Box (1,8) Intermediate and ovalized airfoils (*)
Box (-1,3) and (-1,5) extrados panels with 3D cuts
Box (0,3) and (0,5) intrados panels with 3D cuts
New graphics in lep-3d.dxf: intermetiade and ovalized airfoils are draw if desired.
New three informative sections added in lep-out.txt file:
Section 9. 3D internal calculus values, informative (**)
Section 10. The quotient between the lengths of the panel and ribs, for extrados and intrados.
Section 11. Counting of points in all profiles, informative

(*) Plan (1,8) shows median airfoils between rib i and i-1 and the corresponding ovalized median airfoil, including marks of the points j1,j2,j3,j4,j5,j6,j7 used in the defintion of the 3D-shaping.
(**) Section 9, with the length ot the arch of airfoil (d1) and the arch of the ovalized airfoil (d2), the differences of longitude (d2-d1) calculated automatically in each zone, and the amplitude value (f) applied consistently to each cut using the values (d2-d1) of the adjacent zones and the coefficient aof depth of the 3D effect. According to theoretical study.

Next developments:

- Update and combine manual versions 2.60 & 3.10
- Translate manual (at least)  to french and russian
languages
- DXF and STL surfaces, representing a model of the skin tensioned and 3D-shaped surface. Probably will be used to CFD analysis.
- Roman numbers, extend representation control
- Integrate “3D” panel plans in boxes (-1,3),(0,3) and (-1,5) (0,5) to classical panel locations (1,3) (2,3) and (1,5),(2,5)
- Automatically panel colors division.
- DXF parts in blocs (?)
- Use standard .dat files for airfoils?
- Add new vents types 4 and -4, type diagonal fully adjustable

The Graphical User Interface, It is also evolving, thanks a very big python programming developpment work done by Stefan from Switzerland.
But for now, you need to try to understand my  drawings and cryptic explanations, and write the parameters directly into the text file!


The data structure of the new sections is described below, to be added below the 18th section.

6. COMPOSITION OF THE INPUT DATA FILE leparagliding.txt (version 3.10)

    SECTION 19: DXF LAYERS NAMES
    SECTION 20: MARKS TYPES
    SECTION 21: JONCS DEFINITION (NYLON RODS)
    SECTION 22: NOSE MYLARS DEFINITION
    SECTION 23: TAB REINFORCEMENTS
    SECTION 24: GENERAL 2D DXF OPTIONS
    SECTION 25: GENERAL 3D DXF OPTIONS
    SECTION 26: GLUE VENTS
    SECTION 27: SPECIAL WINGTIP
    SECTION 28: PARAMETERS FOR CALAGE SPEED AND TRIMER STUDY
    SECTION 29: 3D SHAPING
   
SECTION 30: AIRFOIL THICKNESS MODIFICATION
    SECTION 31: NEW SKIN TENSION
    SECTION 32: ROMAN NUMBERS CONTROL

DOWNLOAD LEPARAGLIDING SOURCE CODE AND EXECUTABLE FILES
 
FIGURE INDEX

Figure 1: Mark types
Figure 2: Joncs definition
Figure 3: Mylar definition
Figure 4: Tabs definition
Figure 5: Glue vents
Figure 6: Special wingtips
Figure 7a,7b,7c: Calage variation principe, calage variation cases, calage graphic
Figure 8: 3D shaping

SECTION 19: DXF LAYER NAMES

This section allows the user to choose some layers names in the DXF files. To facilitate the edition and modification of DXF files. In version 2.75 only the layers "points" "circles" and "triangles" are functional.

By lines, and regardless of the lines beginning with * which are comments or notes for help:

Line 1: integer
integer :   max layers number, now is 10

Line 2: text1  text2
text1:
general layer name (do not change this text)
text2:
default layer name, to choose freely (with character and space restrictions)

Line 3: text1  text2
text1:
line-external (do not change this text)
text2:
layer name for external cuts, to choose freely (with character and space restrictions)

Line 4: text1  text2
text1:
line-sewing (do not change this text)
text2:
layer name for sewing lines, to choose freely (with character and space restrictions)

Line 4: text1  text2
text1:
line-sewing (do not change this text)
text2:
layer name for sewing lines, to choose freely (with character and space restrictions)

Line 5: text1  text2
text1:
points (do not change this text)
text2:
layer name for euclidean unidimensional points, to choose freely (with character and space restrictions)

Line 6: text1  text2
text1:
circles (do not change this text)
text2:
layer name for minicircle points, to choose freely (with character and space restrictions). Minicircles as alternative for points.

Line 7: text1  text2
text1:
triangles (do not change this text)
text2:
layer name for minitriangles, to choose freely (with character and space restrictions). Used is some special marks (tabs).

Line 8: text1  text2
text1:
square (do not change this text)
text2:
layer name for minisquares, to choose freely (with character and space restrictions). Used is some special marks.

Line 9: text1  text2
text1:
text (do not change this text)
text2:
text layer name, to choose freely (with character and space restrictions).

Line 10: text1  text2
text1:
reference (do not change this text)
text2:
reference layer name, to choose freely (with character and space restrictions).

Line 11: text1  text2
text1:
notes (do not change this text)
text2:
notes layer name, to choose freely (with character and space restrictions).

Example:
******************************************************
*       19. DXF layer names
******************************************************
10
general          default
line-external    cutexternal
line-sewing      cutinternal
points           points
circles          circles
triangles        triangle
square           square
text             text
reference        refer
notes            notes


SECTION 20: MARKS TYPES

This section allows the user to choose different types of marking elements in DXF files (one-dimensional points, minicircles, triangles, segments, ...). This is especially useful for laser cutting plotters, and the ability to adapt marking to manufacturer preferences. Remember that leparagliding generates two types of plans, some for use with conventional printer ("print" version), and others for professional use with computerized cutting plotters ("laser" version).

By lines, and regardless of the lines beginning with * which are comments or notes for help:

Line 1: integer
integer
:   max number of different marks, now is 10

Line 2: text integer real real integer real real   (OK)
text: 
typepoint  is the point for general use
integer:
1=constructed point, 2=minicircle - print
real: radius of minicircle in mm - print
real: offset in mm - print
integer: 1=unidimensional, 2=minicircle - laser
real: radius of minicircle in mm - laser
real: offset in mm - laser

Line 3: text integer real real integer real real   (still not used, set defaults)
text: 
typepoint2
integer:
1=unidimensional, 2=minicircle - print
real: radius of minicircle in mm - print
real: offset in mm - print
integer: 1=unidimensional, 2=minicircle - laser
real: radius of minicircle in mm - laser
real: offset in mm - laser

Line 4: text integer real real integer real real   (still not used, set defaults)
text: 
typepoint3
integer:
1=unidimensional, 2=minicircle - print
real: radius of minicircle in mm - print
real: offset in mm - print
integer: 1=unidimensional, 2=minicircle - laser
real: radius of minicircle in mm - laser
real: offset in mm - laser

Line 5: text integer real real integer real real  (OK)
text: 
typevent
integer:
1=two green points, 2=segment, 3=double segment - print
real: points separation or segment in mm - print
real: offset in mm - print
integer: 1=two green points, 2=segment, 3=double segment - laser
real:
points separation or segment in mm - laser
real: offset in mm - laser

Line 6: text integer real real integer real real  (OK)
text: 
typetab
integer:
1=tree orange points, 2=tree orange full control, 3=triangle - print
real: points separation or segment in mm - print
real: offset in mm - print
integer: 1=tree orange points, 2=tree orange full control, 3=triangle - laser
real:
points separation or triangle height in mm - laser
real: offset in mm - laser


Line 7: text integer real real integer real real (still not used, set defaults)
text: 
typejonc
integer:
1=single point, 2=segment, 3=double segment - print
real: points separation or segment in mm - print
real: offset in mm - print
integer: 1=single point, 2=segment, 3=double segment - laser
real:
points separation or segment in mm - laser
real: offset in mm - laser

Line 8: text integer real real integer real real  (still not used, set defaults)
text: 
typeref
integer:
1,2,3 - print
real: dimesion in mm - print
real: offset in mm - print
integer: 1,2,3 - laser
real:
dimension in mm - laser
real: offset in mm - laser

Line 9: text integer real real integer real real  (OK)
text: 
type8 - romano numbering in panels generated using section 29
integer:
1 still not used - print and laser
real:
0.2 spanning from 0.0 to 1.0 means the position of the roman number (0.0 totally to the left and 1.0 totally to the right, normal values 0.2 or 0.5 - print and laser
real:
4.0 means the vertical offset in mm with respect to the baseline. May be positive or negative number - print and laser
integer: 1 still not used - print and laser
real:
0.0 still not used
real:
4.0 means the offset in mm between dots of the roman numeral (global size of the roman numerals) - print and laser

Line 10: text integer real real integer real real  (still not used, set defaults)
text: 
type9 (not defined yet)
integer:
1,2,3 - print
real: dimesion in mm - print
real: offset in mm - print
integer: 1,2,3 - laser
real:
dimension in mm - laser
real: offset in mm - laser


Example:
******************************************************
*       20. Marks types
******************************************************
10
typepoint   1  2.5   1.2     2  0.2  1.2
typepoint2  1  2.5   1.2     2  0.2  1.2
typepoint3  1  2.5   1.2     2  0.2  1.2
typevent    1  0.    0.0     1  10.  2.0
typetab     1  0.    0.0     3  2.0  1.0
typejonc    1  0.    0.0     2  2.0  0.0
typeref     1  5.    1.      1  2.0  0.0
type8       1  0.20  4.0     1  0.0  4.0
type9       1  0.25  1.2     2  0.2  1.2
type10      1  0.25  1.2     2  0.2  1.2

S20
Figure 1. Section 20 reference marks

SECTION 21: JONCS DEFINITION (NYLON RODS)

Section now fully functional. Now it is possible to define type 1 rods, which are the most used. A rod on the nose with small deflections at both ends, which are completely controllable in position, transition, and depth of deflection, with 8 parameters. The program calculates the rods and shapes of the pockets, which are also fully controllable in widths, with 4 parameters. It is possible to define different rods for each cell, individually or by groups. If you don't need rods, leave the value to "0".

Line 1: integer
if integer = 0 rods are not considered
if integer = 1 add some others parametes to define and draw rods

Only if first integer is 1 (use joncs "type 1") then add:

Line 2: integer
integer: number of groups to define


Line 3: integer1  integer2  integer3
integer1:
1 (group number 1)
integer2: number of first rib in group 1
integer3:
number of last rib in group 1

Line 5: real1  real2  real3  real4
real1:
extrados init point deflection in % of chord
real2: extrados final point deflection in % of chord
real3: value of max deflection in intrados % of chord
real4: value n of exponent in curve of deflection type y=k·x^n (normaly use n=2.0, parabolic)

Line 6: real1  real2  real3  real4 real5
real1:
line 1, offset (mm) defining the rod (see figure)
real2: line 2, external width of pocket (mm)
real3: line 3, width for rod between sewing lines (mm)
real4: line 4, internal width of pocket (mm)

Lines 7,8,9 repeat same definitions for the group 2, and so on until final group.

Note that it is possible to define as many groups as profiles have the wing, and thus define a different rod for each profile. But normally with a group or two it is sufficient for the whole wing.

Example 1: Do not use rods
*******************************************************
*       21. JONCS DEFINITION (NYLON RODS)
*******************************************************
0

Example 2: Joncs type "1". Use two groups from 1 to 15 ribs and from 16 to 19
*******************************************************
*       21. JONCS DEFINITION (NYLON RODS)
*******************************************************
1
2
1 1 15
5.5  10.    1.5   2.0
5.   11.    2.2   2.0
0.0  9.35  6.3  9.35
2   16 19
5.   9.    2.5  2.0
5.   12    3.   2.0
0.0  9.35  6.3 9.35

S21
Figure 2. Section 21 joncs

SECTION 22: NOSE MYLARS DEFINITION

This section allows the user to draw nose mylars.

Line 1: integer
if integer = 0 mylars are not considered
if integer = 1 add some others parametes to define and draw mylars

Example 1:
*******************************************************
*       22. NOSE MYLARS DEFINITION
*******************************************************
0

Example 2:
*******************************************************
*       22. NOSE MYLARS DEFINITION
*******************************************************
1
1
1    1    22
2.   3.0   1.0   13.5   3.   1.

S22
Figure 3. Section 22 nose mylars definition


SECTION 23: TAB REINFORCEMENTS

This section allows the user to draw tab reinforcements. Still not functional. Leave the value to "0".

Line 1: integer
if integer = 0 tab reinforcements are not considered
if integer = 1 add some others parametes to define and tab reinforcements

Example 1:
*******************************************************
*       23. TAB REINFORCEMENTS
*******************************************************
0

Example 2:
*******************************************************
*       23. TAB REINFORCEMENTS
*******************************************************
1
1
1   1   22
1   2   3   4
schemes
1   1   0    p1   p2   p3   p4   p5
2   3   0    p1   p2   p3   p4   p5
3   5   0    p1   p2   p3   p4   p5
3   2   1    p1   p2   p3   p4   p5

In this data, one group of reinforcements applicable to ribs 1 to 22 is defined. On the tabs A B C D, the "schemes" 1,2,3,4 respectively are applied. The schemes are defined below the word "schemes":
- Scheme 1, using tab type 1 (circular sector), parameter "0" means use units in % of chord, and 5 parameters to define the tab. In this case only the radius r.
- Scheme 2, using tab type 2 (trapezoidal sector), parameter "0" means use units in % of chord, and 5 parameters to define the tab. In this case r1-,r1+,r2-,r2+,h.
- Scheme 3, using tab type 5 (circular sector), parameter "0" means use units in % of chord, and 5 parameters to define the tab. In this case only r-,r+,h,l. The shape of the triangle is calculated automatically taking into account the inclination of the line in space. The length "l" is discounted at the final length of the line.
- Scheme 4, using tab type 2 (rectangular sector), parameter "1" means use absolute units in cm, and 5 parameters to define the tab. In this case only r-,r+,h.

S23
Figure 4. Section 23 tab reinforcements

SECTION 24: GENERAL 2D DXF OPTIONS

This section allows the user to define some colorsin the 2D DXF plans.

Line 1: integer
if integer = 0 DXF options set by default
if integer = 1 add some others parameters for DXF

Only if first integer is 1 then add:

Line 2: text1  integer  text2
tex1:
A_lines_color (do not change this text)
integer: color number index for "A" lines
text2: color name (optional text not used)

Line 3: text1  integer  text2
tex1:
B_lines_color (do not change this text)
integer: color number index for "B" lines
text2: color name (optional text not used)

Line 4: text1  integer  text2
tex1:
C_lines_color (do not change this text)
integer: color number index for "C" lines
text2: color name (optional text not used)

Line 5: text1  integer  text2
tex1:
D_lines_color (do not change this text)
integer: color number index for "D" lines
text2: color name (optional text not used)

Line 6: text1  integer  text2
tex1:
E_lines_color (do not change this text)
integer: color number index for "E" lines
text2: color name (optional text not used)

Line 7: text1  integer  text2
tex1:
F_lines_color (do not change this text)
integer: color number index for "F" brake lines
text2: color name (optional text not used)

Example:
*******************************************************
*       24. GENERAL 2D DXF OPTIONS
*******************************************************
1
A_lines_color    1     red
B_lines_color    30    orange
C_lines_color    3     green
D_lines_color    4     cyan
E_lines_color    6     magenta
F_lines_color    5     blue

Note: Remember usual color index numbers for CAD systems:
1= red, 2=yellow, 3=green, 4=cyan, 5=blue, 6=magenta 7=white 8=dark grey 9= grey,... up to 255 depending on your color palette. It is preferable not to use colors with more than two digits.

SECTION 25: GENERAL 3D DXF OPTIONS

This section allows the user to define some colors in the 3D DXF plans. Allows to draw unifilar not ovalized  versions of the surfaces.

Line 1: integer
if integer = 0 DXF options set by default
if integer = 1 add some others parameters for the 3D DXF

Only if first integer is 1 then add:

Line 2: text1  integer  text2
tex1:
A_lines_color (do not change this text)
integer: color number index for "A" lines
text2: color name (optional text not used)

Line 3: text1  integer  text2
tex1:
B_lines_color (do not change this text)
integer: color number index for "B" lines
text2: color name (optional text not used)

Line 4: text1  integer  text2
tex1:
C_lines_color (do not change this text)
integer: color number index for "C" lines
text2: color name (optional text not used)

Line 5: text1  integer  text2
tex1:
D_lines_color (do not change this text)
integer: color number index for "D" lines
text2: color name (optional text not used)

Line 6: text1  integer  text2
tex1:
E_lines_color (do not change this text)
integer: color number index for "E" lines
text2: color name (optional text not used)

Line 7: text1  integer  text2
tex1:
F_lines_color (do not change this text)
integer: color number index for "F" brake lines
text2: color name (optional text not used)

Line 8: text1 integer integer text2
tex1: Extrados (do not change this text)
integer: if set to "0" unifiilar extrados is not drawn, if set to "1" is drawn
integer: color index for the extrados
text 2: optional text with the color name

Line 9: text1 integer integer text2
tex1: Vents (do not change this text)
integer: if set to "0" unifiilar vents is not drawn, if set to "1" is drawn
integer: color index for the vents
text 2: optional text with the color name

Line 10: text1 integer integer text2
tex1: Intrados (do not change this text)
integer: if set to "0" unifiilar intrados is not drawn, if set to "1" is drawn
integer: color index for the intrados
text 2: optional text with the color name

Example:
*******************************************************
*       25. GENERAL 3D DXF OPTIONS
*******************************************************
1
A_lines_color    1     red
B_lines_color    8     grey
C_lines_color    8     grey
D_lines_color    8     grey
E_lines_color    8     grey
F_lines_color    30    orange
Extrados    1    5     blue
Vents       0    1     red
Intrados    1    3     green

SECTION 26. GLUE VENTS

This section allows to automatically "glue" the air inlets (vents) into the panel of extrados, intrados, or to separate them. The vents include sewing edges. The skin tension i the vent is linear and automatically corresponds to that defined at the points correspondingin extrados and intrados.
The vent definition is very easy and intuitive. You have to make a list of two columns. In the first column, the profile number is indicated, and in the second column the corresponding parameter:
1 means glue the vent to the extrados (normally used in paragliders single skin type)
0 means do not glue anywhere (open air inlet). It is drawn apart to define with CAD special air intakes (circles, ellipses, ...)
-1 means glue the vent to the intrados (usually means, closed cell)
-2 means diagonal vent 100% open ant left, glued to intrados
-3 means diagonal vent 100% open alt right, glued to intrados

Line 1: integer
if integer = 0 then end the section and use old vents style (not recommended)
if integer = 1 add some others parameters for precise vents control

Only if first integer is 1 then add N lines,
one for each airfoil number i:

Line i: integer1 integer2
integer1:
airfoil number (cell between airfoil i and airfoil i-1)
integer2: vent parameter (available parameters 1, 0, -1,-2,-3 as explained above)

Examples 1 (use old style):

*******************************************************

*       26. GLUE VENTS
*******************************************************
0

Examples 2 (full vent control):

*******************************************************
*       26. GLUE VENTS
*******************************************************
1  
1    0
2    0
3    1
4   -2
5   -3
...
20  -2
21  -1
22  -1
23  -1

S26
Figure 5. Glue vents

Functional vents in version 3.02:
0 (=open, but print apart for design special vents)
1 (=closed and "glued" to upper surface)
-1 (=closed and "glued" to lower surface)
-2 (=diagonal vent open at left and "glued" to lower surface)
-3 (=diagonal vent open at right and "glued" to lower surface)

vents types
Figure 5+: Vents types (version >= 3.02)

SECTION 27 SPECIAL WINGTIPS

It is used for defining wingtips with special shapes:
Section 27
Figure 6. Special wingtip

Line 1:
integer
if integer = 0 do not add wingtip modifications(set by default)
if integer = 1 add some wingtip modifications

Only if first integer is 1 then add:

Line 2: text  real
text:
AngleLE (do not change this text)
real: angle in degrees between
the horizontal and the leading edge in the last cell

Line 3: text  real
text:
AngleTE (do not change this text)
real: angle in degrees between
the horizontal and the trailing edge in the last cell

Example 1:

*******************************************************
*       27. SPECIAL WING TIP
*******************************************************
1
AngleLE 45
AngleTE -7.78

"1" refers to define "type 1" wing tip modifications. It is planned to define several modifications. Type 1 is the simplest.
"AngleLE" is a name not computed. It serves to remember that next we have to write the new angle in degrees between the horizontal and the leading edge in the last cell. It is usual to force the angle of the last cell, and this section allows it to be done without modifying the geometry matrix. Set 45ŗ for example. "AngleTE" is a name not computed for the trailing edge. Set the angle as desired, -7.78ŗ for example.

Example 2:

*******************************************************
*       27. SPECIAL WING TIP
*******************************************************
0


SECTION 28 PARAMETERS FOR CALAGE VARIATION

Study the variations in the riser lengths and calage when applying speed system or trim system. It is interesting to experiment with new calages in prototypes or to define the speed or trim systems.
s28a
Figure 7a. Principles of the study of the calage variations.

We study the variations in the riser lengths when applying accelerator (speed system) pivoting in the last riser (most common case), which remains with constant length. For practical purposes we define a negative alpha  angle of pitch increased in N1 spaces gradually, and then we compute  the variations in the line  lengths and calage. We do the same study, assuming a trim system that increases the picth angle in N2 spaces gradually. In this case, the most usual is to consider the constant length A riser and the other variables in length.

The program analyzes a total of 4 cases, depending on the pivot point and if it is reduction or increase in angle:
s28b
Figure 7b. Cases a,b,c,d reported in file lep-out.txt

In output file SECTION 7: lep-out.txt we see the tables that relate in detail the variations of angle, with the calage variations, and increments or decrements of length in each riser. It is interesting to experiment with new calages in prototypes or to define the speed or trim systems. Four cases:
a) Speed system pivot in last riser
b) Speed system pivot in first riser
c) Trimer system pivot in first riser
d) Trimer system pivot in last riser

 Example lep-out.txt:
a) Speed system pivot in last riser:
 -------------------------------------------
 i   alpha       A       B       C  Calage
 1     .00     .00     .00     .00   25.00
 2   -1.00   -2.18   -1.29     .00   21.19
 3   -2.00   -4.35   -2.59     .00   17.40
 4   -3.00   -6.52   -3.88     .00   13.66

Column 2 > angle alpha in degrees
Column 3 >
Decrease of length A riser (amount of accelerator) in cm
Column 4 > Decrease of length B riser in cm
Column 5 > Decrease of length C riser in cm = 0 (pivot in C riser)
Column 6 > New calage %

Write data in in SECTION 28 with one or four lines:

Line 1: integer
if integer = 0 do nothing
if integer = 1 do calage study "type 1"

Only if first integer is 1 then add:

Line 2: integer
integer: number of risers to be considered (2,3,4,5 or 6)

Line 3: real1 real2 real3 real4 real5 real6
real1:
% of central chord for riser A (
is not necessary to match anchor position)
...
real6: % of central chord for riser E (
is not necessary to match anchor position)

Line 4: real1 integer1 real2 integer2
real1:
max angle (negative) in degrees set by the speed system

integer1: number of steps in angle for study purpose
real2: max angle (positive) in degrees set by the trim system
integer2: number of steps in angle for study purpose

Example:
*******************************************************
*       28. PARAMETERS FOR CALAGE VARIATION
*******************************************************
1
3
10. 30.35  60  0  0  0
-4 4 5 10
*******************************************************


Explanation:
Set to calage type "1" (first line), only type "1" available
"3" risers to be considered
A=10.%  B=30.35%  C=60%  D=  E=  F=   (set % to be considered)
Speed angle set to -4ŗ and compute in 4 steps
Trim angle set to 5ŗ and compute in 10 steps

s28c
Figure 7c. New graphic in plan 2-1 (.dxf output)


SECTION 29 3D SHAPING

The model of 3-Shaping proposed by the Laboratori, consists in making one or two transverse cuts in the upper surface, near the leading edge, and another optional cut on the bottom surface. We will call this model as "type 1". The edges of the transverse cuts will be modified from the straight line into an arc of a circle. In this way, we can "add fabric" lengthwise and we can control the ovalization and the tension in this direction. Ovalization in transverse direction is achieved via the module of skin tension (SECTIONS 5 or 31). In summary, we can control the amount of tissue and tension in transverse and in longitudinal direction near the nose, where the curvatures are greatest.

To set the parameters of the 3D-shaping in the model "type 1" is necessary to study the profile in detail, viewing and counting the individual points that form it, Laboratori style! :-) You need to view your profile in CAD (or in the .txt file), identify and count points. Remember that the points in a profile is counted starting in the trailing edge (point 1), continuing by the upper surface, nose, vents, lower surface, and ending again in the trailing edge. Exactly as described previously. We could define another model "type 2" where the position of the cut points are defined in % of the length of the panel, but in this model 1, is considered to specify exactly the points considered.

For each cut, it is necessary to define a "zone of influence". In the zones of influence is measured the length of a section of the profile and is compared with the corresponding length in the ovalized profile. This question is fundamental to understand the 3D-shaping type 1. It is necessary to view the figure below:

3d
Figure 8. Cuts and zones of influence. J1,j2,j3,j4,j5,j6,j7 indicate numeric values of the selected points in the profile, starting to count from the trailing edge. J4 and j5 are the vent points.

For the purposes of notation, we will call the different parts in which we divide the profile as:
zone 1 (between j1 and j2), extrados part 1
zone
2 (between j2 and j3), extrados part 2
zone
3 (between j3 and j4), extrados part 3 or nose
zone
4 (between j4 and j5), or vents
zone
5 (between j5 and j6), intrados part 1
zone
6 (between j6 and j7), intrados part 2

In each zone 1,2,3,4,5,6 the program computes the length ot the arch of airfoil (d1) and the arch of the ovalized airfoil (d2). The differences of longitude (d2-d1) are calculated automatically in each zone, and then applied consistently to each cut with a value (f) obtained using the values (d2-d1) of the adjacent zones. Is provided a setting parameter around 1.0, which serves the designer to regulate the depth of the 3D-shaping in each cut, in relation to the automatic calculation. Thus, using the coefficient of 1.0, the depth of 3D is according to the theory exposed. Using a coefficient of 0.0 does not apply the 3D effect, and using values higher or lower than 1.0 increases or decreases the effect. The control of the depth of 3D-shaping is continuous and individual for each cut. A more detailed description, and the formulas used in the calculation are described in this technical note about 3D-shaping. For each rib, a full report of the values d1, d2, d2-d1, computed in each zone, and the final values f aplied in each cut are printed in tabular form in section 9 of the file lep-out.txt.
Also, for verification purposes, a new section 10 is written to the lep-out.txt file with the counting of the points of each profile, to verify that they are all the same for all profiles, and that they are compatible with the defined cuts.

It should be noted, that the parameters applied in this section, will be usually "invariant values" applied to the majority of the designs. We just have to think about all this, a single time for each type of profile. And the Laboratory will provide soon the recommended values in next designs. Of course, finding the good parameters is a real art. The program LEparagliding now provides the tools to make numerical and graphical experiments (
lep-out.txt section 9 and leparagliding.txt plan in box 1-8).

Explanation of the parameters in SECTION 29:

Line 1: integer
if integer = 0 then no not use 3D-shaping, and finish writing the section.
if integer = 1 then use 3D-shaping, and continue writing:

Line 2: integer
integer =
type of 3D-shaping theory used, now we use only model "type 1" using transverse cuts, set parameter to 1.

Line 3: character  integer
character = groups
integer1 = number of groups used

Line 4: character  integer1  integer2  integer3
character = group
integer1 = number of the group
integer2 = initial rib in group
integer3 = final rib in group

Line 5: character 
integer1  integer2
character = upper , word meaning upper surface (extrados)
integer1 = number of cuts in upper surface (possible values 1 or 2).
integer2 = subtype of cuts, set to 1, only value accepted

Line 6:
integer1  integer2  real
integer1 = initial point in the first zone of influence (j1)
integer2 = point where the first cut is set (j2)
real = "depth" of 3D-shaping in the cut, possible values 0.0, 0.1,....,1.0,1.2,... (multiplier coefficient arount 1.0)

Line 7: integer1  integer2  real   (only if we use two extrados cuts)
integer1 = initial point in the second zone of influence (j2)
integer2 = point where the second cut is set (j3)
real = "depth" of 3D-shaping in the cut, possible values 0.0, 0.1,....,1.0,1.2,... (multiplier coefficient arount 1.0)

Line 8: character  integer1  integer2
character = lower , word meaning lower surface (intrados)
integer1 = number of cuts in lower surface (possible values 0 or 1).
integer2 = subtype of cuts, set to 1, only value accepted

If the number of cuts in intrados is 0, stop writing, else

Line 9: integer1  integer2  real   (only if we use two extrados cuts)
integer1 = point where the intrados cut is set (j6)
integer2 = final point in the intrados zone of influence (j7)
real = "depth" of 3D-shaping in the cut, possible values 0.0, 0.1,....,1.0,1.2,... (multiplier coefficient arount 1.0)

(...Repeat lines 5,6,7,8,9 for next groups...)

Line 10: character
character =  "
* print parameters:" (comment line, it is mandatory to write something)

Line 11: character  integer1  integer2 integer3  integer4
character = Inter3D, word to indicate representation of the intermediate airfoils in 3D lep-3d.dxf
integer1 = 0 indicates do not draw, and 1 draw
integer2 = index of first airfoil to draw
integer3 = index of last airfoil to draw
integer4 = 0 it indicates to draw with symmetry, 1 only one side

Line 12: character  integer1  integer2 integer3  integer4
character = Ovali3D, word to indicate representation of the intermediate ovalized airfoils in 3D lep-3d.dxf
integer1 = 0 indicates do not draw, and 1 draw
integer2 = index of first airfoil to draw
integer3 = index of last airfoil to draw
integer4 = 0 it indicates to draw with symmetry, 1 only one side

Line 13: character  integer1  integer2 integer3  integer4
character = tesse3D, word to indicate representation of panel tessellation in 3D lep-3d.dxf
integer1 = 0 indicates do not draw, and 1 draw
integer2 = index of first panel to draw
integer3 = index of last panel to draw
integer4 = 0 it indicates to draw with symmetry, 1 only one side

Line 14: character  integer1  integer2 integer3  integer4
character = exteDXF, word to indicate representation of panels tessellation in 3D in a new external DXF file (possible use in CFD analysis)
integer1 = 0 indicates do not draw, and 1 draw
integer2 = index of first panel to draw
integer3 = index of last panel to draw
integer4 = 0 it indicates to draw with symmetry, 1 only one side

Line 15: character  integer1  integer2 integer3  integer4
character = exteSTL, word to indicate representation of panels tessellation in 3D in a new external STL file (used with programs of 3D modelling as OpenSCAD gold FreeCAD)
integer1 = 0 indicates do not draw, and 1 draw
integer2 = index of first panel to draw
integer3 = index of last panel to draw
integer4 = 0 it indicates to draw with symmetry, 1 only one side

Lines 12, 13, 14, 15 are mandatory to write, but  the actions are not yet functional. We are working on the programming. These parameters will generate independent dxf files  with the ovalized surfaces, and even a .stl model to view with FreeCAD or OpenSCAD, or even analyze with CFD programs.

All this may seem complicated, but it is much easier to understand section structure watching a few examples:

Example 1: Do not use 3D-shaping. Set one line with "0" parameter. It is the simplest solution to avoid the complicated 3D-shaping module! :)


*******************************************************
*       29. 3D SHAPING
*******************************************************
0

Example 2: Active 3D-shaping module but without any cut. The utility of defining this, is that the representation of plan 1-8 is activated automatically, with the drawing of the intermediate and ovalized airfoils in 2D. You can also activate the 3D representations in 3D, changing the settings "0" to "1" in the "Print parameters" subsection. In general, preferable to use example 2, that use the example 1 (the two are invariant sections).

************************************************************
*       29. 3D SHAPING
*******************************************************

1
1
groups  1
group   1    1    1
upper   0    1
lower   0    1
* Print parameters
Inter3D 0    1    1    0
Ovali3D 0    1    1    0
tesse3D 0    1    1    0
exteDXF 0    1    1    0
exteSTL 0    1    1    0

Example 3. Easy case, only one group and one cut in extrados.
First group from rib 1 to 14 using one cuts type 1 in upper surface and zero in lower surface.
Zone of influence of first cut started in point 30 and cut located in point 40,
depth of the effect 0.8.
Zero cuts in lower surface, type 1.
Prints 3D intermediate (Inter3D) and ovalized (Ovali3D) airfoils at the left of rins 1 to 14

*******************************************************
*       29. 3D SHAPING
*******************************************************
1
1
groups   1
group    1    1   14

upper    1    1
1       30   40   0.8
lower    0    1
* Print parameters
Inter3D 1    1    14    0
Ovali3D 1    1    14    0
tesse3D 0    1    1     0
exteDXF 0    1    1     0
exteSTL 0    1    1     0


Example 4:
General case, using two groups.

First group from rib 1 to 10 using two cuts in upper surface and one in lower surface.
Zone of influence of first cut started in point 25 and cut located in point 33,
depth of the effect 0.8.
Zone of influence of the second cut in point 33 and cut located in point 44, depth of the effect 0.9.
Cut in lower surface in point 79 and zone of influence up to point 84, depth of effect 1.0.

Second group from rib 11 to 14 using two cuts in upper surface and one in lower surface.
Zone of influence of first cut started in point 25 and cut located in point 33,
depth of the effect 0.9.
Zone of influence of the second cut in point 33 and cut located in point 44, depth of the effect 0.9.
Cut in lower surface in point 79 and zone of influence up to point 83, depth of effect 1.0.

*******************************************************
*       29. 3D SHAPING
*******************************************************
1
1
groups   2
group    1    1   10
upper    2    1
1       25   33   0.8
2       33   44   0.9
lower    1    1
1       79   84   1.0
group    2   11   14
upper    2    1
1       25   33   0.9
2       33   44   0.9
lower    1    1
1       79   83   1.0
* Print parameters
Inter3D 1    1    14    0
Ovali3D 1    1    14    0
tesse3D 0    1    1     0
exteDXF 0    1    1     0
exteSTL 0    1    1     0


The location of the cut points depends mainly on the study of the shape of the profile. It is interesting to concentrate the cuts where the difference in lengths between segments located in the intermediate profile and the ovalized (balloned) profile are larger. As a first approximation, can be studied to place the cuts in the 5.5% and 13.5% of the profile chord, counting from the leading edge. It is also important to choose correctly the coefficient of depth. Theoretically 1.0 is the best, but to smooth out the surfaces, you can choose a smaller coefficient.

As Piet
suggests from the Netherlands, the 3D module can also be used as a simple alternative to separate colored panels in the noses area, or panels with more durable fabric. Remember that the 3D effect is adjustable in depth, and you can even use the parameter amplification 0.0 so that the cut between the parts of the panels is completely straight line. The subroutines developed in this section will be adapted to complete the separation in parts of colors.

The programming of this 3D-shaping module has been made possible thanks to the support of Scott Roberts from USA (Fluid Wings https://www.fluidwings.com/ ).


SECTION 30: AIRFOIL THICKNESS MODIFICATION

Coefficients of amplification or reduction of the thickness of the cells. Normally define as "1.0", or "0.0" in the wingtip.

Line 1:
integer
if integer = 0 then no airfoil amplification set
if integer = 1 then add:

Lines 1,2,3,...,maxrib: integer   real
I
nteger: set rib number (1,2,3...) in all ribs
real: set amplification coefficient, for example 1.0 as default

Example:
*******************************************************
*       30. AIRFOIL THICKNESS MODIFICATION
*******************************************************
1
1    1.2
2    1.1
3    1.0
4    1.0
5    1.0
6    1.0
7    1.0
8    1.0
9    1.0
(...)
23   0.0


SECTION 31: NEW SKIN TENSION

The correct definition of the skin tension is essential for the internal solidity and the flight quality of the apparatus. For this reason, it is recommended that the designer have total control over the skin tension, with a very precise form (law of increments of width), and allowing changes in different panels along the span. This is what allows the new module.

The module new skin tension, functional from version 3.00, defines the additional widths of panels, to achieve the desired ovalitzation. The values applied to the extrados and intrados, for compatibility are the same as those explained in
SECTION 5 (read again and notice the scheme 20181230), but there is a greater control. The number of points to define the widths is not limited to 6, now can be up to 100 points (!) (to choose freely). And it is possible to choose different widths for each one of the ribs, if it is considered necessary, (defining different "groups" of widths). Of course, the number of groups can be equal to the number of ribs, and thereby define the widths of each panel individually (for example, different tension in the panels of the center panels and in the wingtip.

The basic idea is to calculate increments of width to the left and to the right of each rib. Thus, a panel can have a 2% increase maximum in the left border and a 3% maximum to the right border. Negative values of increase are also acceptable, although I recommend not to use to simplify.

It is very recommended to use always the same number of points among different groups, because the current programming can generate undesiderd distortions (to be corrected soon).

The system allows to define in detail the tension in the extrados and intrados surfaces, but in the air inlets (vents)? The program automatically adds a linear transition in the vents area between extrados and intrados.

The "mysterious" two correction parameters of the last two lines of section 5 continue to have application. Normally no need to modify ever. I recommend use always:
 1000   1.0

There are different ways of defining the skin tension. In the current version it is only active the version of "type 1", which consists of a linear interpolation and a width of reference for applying the law of increments of width, equal to the average width of each panel. Given the large amount of points available to interpolate (100) is not strictly necessary, a version with splines "type 2", to propose later. Usually with 10 or 15 points, linear interpolation is sufficient (old version uses only 6). Another proposal to consider is a version of linear interpolation "type 3" where the law of increments of width is not in reference to the mean width of the panel, but the width existing at each point between two adjacent profiles adjacent (possibly this is the solution that is most perfect).

To clarify and better explain all these fundamental issues, soon I'll be posting an article with diagrams.

Explanation of the parameters in section 31:

Line 1: integer
if integer = 0 then no not use new skin tension module, and finish writting the section.
if integer = 1 then use new skin tension module, and continue writting:

Line 2: integer
integer =
number of skin tension grups (max= number of ribs)

Line 3: character
character
= comment line explaining the group "i" from rib n1 to rib n2, using X points, and type "1".
(for now, only type "1" is possible, and means it uses linear interpolation between points. Add more points to smooth out, if necessary.)

Line 4: integer1 integer2 integer3
integer4 integer5
integer1 = group number
integer2
= initial rib
integer3
= final rib
integer4 =  points for interpolation
integer5
= 1 , type linear of interpolation

Lines 5 to 5-1+ npoints of interpolation: integer real1 real2 real3 real4
integer
= point of interpolation in consucutive order
real1 = Distance in % of length of the extrados panel starting in the leading edge
real2 = Additional width in % of the extrados panel
real3 =
Distance in % of length of the intrados panel starting in the trailing edge
real4 =
Additional width in % of the intrados panel

(Same geometric definition as in
SECTION 5.)

In the following lines. Continue describing groups starting with the line of comments.

Examples:

Example 1 (do not use new skin tension module):

*******************************************************
*       31. NEW SKIN TENSION MODULE
*******************************************************
0


Example 2:

*******************************************************
*       31. NEW SKIN TENSION MODULE
*******************************************************
1
3
* Skin tension group number "1" from rib 1 to 10, 7 points, type "1"
1    1    10    7    1
1    0.         0.5     0.         0.
2    7.5        1.3     10.        1.33
3    15.        2.5     20.        2.5
4    80.        2.5     80.        2.5
5    90.        1.33    90.        1.33
6    95.        0.65    95.        0.9
7    100.       0.0    100.        0.5
* Skin tension group number "2" from rib 11 to 19, 7 points, type "1"
1    11    19    7    1
1    0.        0.5       0.        0.
2    7.5        1.3     10.        1.33
3    15.        2.5     20.        2.5
4    80.        2.5     80.        2.5
5    90.        1.33    90.        1.33
6    95.        0.65    95.        0.9
7    100.       0.0    100.        0.5
* Skin tension group number "3" from rib 20 to 23, 7 points, type "1"
1    20    23    7    1
1    0.         0.5      0.         0.
2    7.5        1.3     10.         1.33
3    15.        2.5     20.         2.5
4    80.        2.5     80.         2.5
5    90.        1.33    90.         1.33
6    95.        0.65    95.         0.9
7    100.      -0.5    100.         0.5
********************************************************

Data file 2.96 version examples: gnuA+, gnuLAB4, BHL4, BHL5 paragliders (works also in 3.10).


DOWNLOAD LEPARAGLIDING SOURCE CODE AND EXECUTABLE FILES

Download the source code and executable files for your system:
Notes
Source code
Linux version
Windows version
MAC version
3D-shaping active
leparagliding.f lep-3.10-lin-32bit
lep-3.10-lin-64bit
(includes gnuA+
example)
lep-3.10-win32-xp
lep-3.10-win-32bit
lep-3.10-win-64bit
(includes gnuA+ example)
Compile

README.txt Notes about new versions 
FAQ leparagliding.
Informative notes about cygwin .dll's libraries used in Windows versions
informative notes about source code compilation optional.

Current version of LEparagliding is 3.10 "Pirineus"
And pre-processor is 1.5 "Baldiri"

Pere Casellas
pere at laboratoridenvol dot com
Teią-Barcelona, Catalonia
May 3, 2020


index