lep/ contains source code and executable files
man/ contains some help files and internal data for development
noNaN/ 
jpg/ contains some schemes
png/ contains captures
pre/ Pre-processor version 1.6
stl/ surface files .stl format
xflr5/ files for xflr5

app improvements

------------------------------------------------------------------
Version 3.28  (2026-05-01)
------------------------------------------------------------------

Section 37: Added special code 3001 for mini-rib transitions

Section 27: Working in special wingtip type 2 for rounded wingtips

Section 21: Now joncs type 3 (shark none)

Section 32: Added three new parameters to control the separation of the rod pockets in the drawing box (1,7)

jonc_x  > multiplier coefficient for horizontal separation
jonc_y  > multiplier coefficient for vertical separation
jonc_i  > multiplier coefficient for vertical separation between the two rods type "3" (shark nose)

New output file "run-log.txt" Contains a record of the same that is printed to the console when the program is executed. 
It can be useful to detect at which section the reading of the data stops if data is not in the expected format.

I have also been working on updating the program manual (much needed). It is almost updated to 3.28. Some aspects to clarify. For now only in the English version.

Still a lot of work to do... I still don't let AI touch my code :-) but AI is helping me understand the meaning of some used variables and the free positions in vectors and matrices for new variables.

-------------------------------------------------------------------
VERSION 3.27+ (2026-01-06)
-------------------------------------------------------------------

Solved the problem encountered by Paweł about the limitation to 20 holes per rib, now up to 200 per rib!

Section 37: Added special code 2000.

In this version, I have started working on the rounded wingtip with a parabola, but only draw in planform, 
not redesign the panels yet  :(  
Read more: https://laboratoridenvol.com/leparagliding/dev/lep-dev.en.html

2026-01-06: Corrected the position marks of the air inlets in the profiles. Previously, cases 1 and -1 marked both inlets and this caused confusion. 
In the type -4 inlets (variable diagonal) the marks were not in the correct position (detected by Tim Weber mb the Swoop). 
Now the marks of types 4 and -4 are correctly interpolated to their real position.

-------------------------------------------------------------------
VERSION 3.27e (2025-12-11)
-------------------------------------------------------------------

Minor changes in internal code.
Other changes not yet documented.

-------------------------------------------------------------------
VERSION 3.25 (2025-01-10)
-------------------------------------------------------------------

Small changes compared to previous versions 3.23 and 3.24. Version 3.24 never oficially released, Only sent to some enthusiasts!

1) Some internal code corrections to avoid warnings and errors generated with the new Fortran compiler "Flang". 
Suggestion from Lorenz Lechner - OpenGlider ( https://github.com/looooo/ ), who has worked with scripts for automatic cross-platform compilation Windows/Linux/OSX. 
Thanks! More information here:

 https://github.com/looooo/leparagliding/actions/runs/12678783683
 https://github.com/looooo/leparagliding/releases/tag/main

2) Proposed by Paweł Lipsky (Altair Paragliders).

SECTION 15 Extrados colors and SECTION 16 Intrados colors
It is now possible to define color cuts according the method "2":

Write by lines:
   integer
Write the NEGATIVE integer -2, thus the program uses case 2
   integer
integer is the number of panels with colored cuts
Then, for each panel with color cuts, write two lines:
   integer1 integer2
Where integer1 is the panel number, and integer2 the number of cuts in this panel
   integer real1 real2 real3 real4
Where integer is the cut number, starting with 1
Where real1 is the cut to the left of the panel in % from the trailing edge
Where real2 is the cut to the right of the panel in % from the trailing edge
Where real3 is the width in mm of the seam edge to join colors
Where real4 is the number 0.0, unused fallback parameter
continue the same structure through the next cut, and then continue with the next panel

Example: 
Panels 2,3,4 with cuts. 1 cut in panels 2 and 3 with 1 cut, panel 4 with 3 cuts.

*****************************************************
*	15. Extrados colors
*****************************************************
-2
3
2	1
1	40.1	20.15	10.  0.
3	1
1	20.15	0.00	10.  0.
4	3
1       0.0     15.0    10.  0.
2       15.0    30.0    10.  0.
3       50.0    60.0    10.  0.

Same definition to define the intrados cuts (section 16).

Note: When the wing has an odd number of panels (center panel of nonzero width), 
the cut to the left of the center panel (panel 1) is defined exactly on the wing's axis of symmetry, 
for make symmetrical designs possible.


3) But... there is still a lot to do! We need to automate color cuts, especial wingtips, 
special miniribs and many other things. In 2025 we need to program more in Fortran!


-------------------------------------------------------------------
VERSION 3.23+ (2024-01-17)
-------------------------------------------------------------------
Added the marks that indicate the positions of the brake connection points to the profiles, 
when they are not located exactly at 100% of the chord. Request from Eric Fontaine, 
who noticed this detail when he was developing his new kitesurf wing. Thanks for the warning!

-------------------------------------------------------------------
VERSION 3.23 (2023-12-11)
-------------------------------------------------------------------

December 2023. Still alive! This is important :)

Changes in version 3.23:

1) In 2D dxf drawing box (2,1) CALAGE ESTIMATION
There was an error in the graphical representation of the assiette angle. 
Remember that by definition we define the glide angle (gamma), the angle of attack (alpha), and the assiette (tetha) as: 
gamma = alpha + thetha 
We are considering that the thetha angle is positive when the central reference profile is inclined BELOW the horizon, 
and angle tetha is negative when central profile ABOVE the horizon.
The cyan color line that marks the angle of assiette, had the sign reversed (!). It is now fixed. 
The numerical values indicated by the angles, and their signs, were already correct. 
It's a minor detail that doesn't affect previous designs, but we've fixed it now, 
since in this version we study the theta angle in detail to improve the recommended "z" rotation angles as explained below.


2) ANGLES BETWEEN AIRFOIL PLANE AND GLIDEPATH LINE  (phi) and local AoA (chi) (Section 12 of lep-out.txt)

Improvement in internal code. Calculus of phi and chi angles reported in section 12 of lep-out.txt 
Arnaud Martinez realized that there was a calculation error in the program's code. When calculating the angles phi and chi, 
the assiette of the wing was not taken into account (!)The calculation was made as if the assiette was always zero, which is not always true.

Now I corrected the code. Remember, we have defined:
phi=angle between airfoil plane and glidepath line
chi=angle between chord line and glidepath line (local AoA)
Now let's explain the used trick...
We want to compare the angles between profile planes or chords with the flight path
We will modify the angle of trajectory to take into account the angle of assiette, 
since the ones we are interested in calculating are the relative angles phii and chii. 
That is, instead of turning the whole wing the angle of assiette, 
we will turn the angle of trajectory, which is easier: alpha_ii=alpha_ii-assiette_ii

Let's also remember that the assiette is the angle formed by the chord of the central profile of the wing with respect to the horizon. 
We are talking about a central profile with a geometric twist of 0º. 
In the case of using a central torsion other than 0º (I do not recommend it) 
the assiette angle always refers to the central virtual profile and with zero geometric torsion.

And the relation between the s'assiette angle (tetha), glide angle (gamma), and angle of attack (alpha) is given by:
gamma = alpha + theta
Thus, if alpha < gamma, angle assiette is positive and below the horizon. 
If alpha > gamma, the assiette angle is above the horizon and has a negative value. 
Very important to note the correct sign. Make a schematic drawing to verify.

In section 37 of leparagliding.txt we have activated an new optional code (arbitrary value 2003) which is used to indicate the angle of assiette desired by the designer, for the wing. 
If this code and angle is indicated, this is the assiette taken into account to calculate chi and phi, bypassing the program's internal calculation for tetha.
Example section 37 of leparagliding.txt, setting and assiette of -1º:
2003 	-1.0  

This section is very important for new single skin paraglider designs. As Arnaud Martinez has shown in his STORK design, 
where he has carefully chosen the angles of the profiles in the three axes, to obtain maximum performance and stability.
In the designs BHL3 and BHL7 we also use the rotations of the profiles in the "z" axis, but the values can be improved.


3) In SECTION 4, added holes "type 4". Rectangular holes, request from Paweł Lipski.

Rectangular holes with rounded corners. Parameters are very similar to triangular holes type 3.

If the hole is type 4, type in a horizontal line:

integer : 4
real : x Distance from LE to main rectangle corner in % of chord
real : y Distance from chord line to main reangle corner in % of chord
real : a rectangle width as % of chord
real : b rectangle heigth as % of chord
real : Rotation angle (degrees) relative to chord line
real : Radius (%) of the smoothed corners
real : 0. (not used)
real : 0. (not used)

The main vertex or reference vertex of the rectangle is the bottom left. 
If the width value (a) is positive, the rectangle is drawn to the right of the main vertex. 
If the value of (a) is negative, then the rectangle is drawn to the left. Similar to the case of triangular holes.



-------------------------------------------------------------------
VERSION 3.22 (2023-07-01)
-------------------------------------------------------------------
We have started writing code, to be able to optionally use headerless profile files (standard .dat type). 
This has the difficulty that it is necessary to reformat the profiles internally and define a number of points 
for each of the parts that make up the profile (extrados, vents, intrados). Working on this…
Test versions. No reported

-------------------------------------------------------------------
VERSION 3.21T (2023-01-05)
-------------------------------------------------------------------
Test versions. No reported

-------------------------------------------------------------------
VERSION 3.20V (2022-09-18)
-------------------------------------------------------------------

This version is the final 3.20 version. Developed in August and September 2022


Acknowledgments:

Many thanks to François de Villiers with whom we are working on different aspects of geometry and aerodynamics that are being added to the program. We have also analyzed the recent prototypes HEGALA (Eric Fontaine) and TULUAQ (Julien Caquineau), comparing the theoretical parameters with reality.


Report version 7

Pere Casellas

Teià, 2022-09-18


1. OVERVIEW

Leparagliding-3.20V adds five new sections to the leparagliding.txt data file over the previous version 3.19. Also, there are small changes to three existing data sections. However, you don't need to worry too much! A file in 3.20V format will also work in program version 3.19, and some earlier, without any change.

The three sections with changes are:
- Section 8 Global angle of attack estimation
- Section 9 Suspensions lines description
- Section 10 Brakes

The five new sections are:
- Section 33 Detailed risers
- Section 34 Lines characteristics table
- Section 35 Solve equilibrium equations
- Section 36 Create files for XFLR5 analysis
- Section 37 Some special parameters

Likewise two new folders stl/ and xflr5/ are automatically generated at the same level as lep/

With these changes it is possible to automatically or explicitly define the diameters and properties of each of the lines. 

New .xwimp geometry file and .dat profiles are automatically generated to be imported into the XFLR5 program and perform aerodynamic studies. This complements the .stl files generated in the previous version that can be used to analyze the wing surfaces with CFD programs. 

Now, the program performs geometric and physical calculations internally, to calculate all the forces and angles  involved and try to solve the longitudinal balance equations. There is a very detailed calculation of the aerodynamic drags and weights of each one of the lines. The drag is calculated for each line taking into account its surface and the drag coefficient adapted to the Reynolds number with which each one works, flow speed and air parameters, and taking into account the effect of the loops.

In the lines.txt file, the total lengths of each type of line according to diameters and materials have been added, to facilitate the work of the constructors.

In the lep-out.txt output file, new sections 15,16,17,18. 19. have been added with information about the new sections. Particularly interesting is section 17 with abundant geometrical and physical data on the paraglider. Presentation of lep-out.txt slightly improved. Display with fixed-width font.

We will soon apply the 3.20V program to the new gnuComet and gnuReflex paragliders, currently in the design phase.



2. SIMPLIFIED NEW SECTIONS STRUCTURE

In LEP-3.20V you don't need to complicate yourself with the new sections. Add this code below your leparagliding.txt file, and everything will continue as before!

*******************************************************
*       33. DETAILED RISERS
*******************************************************
0
*******************************************************
*       34. LINES CHARACTERISTICS TABLE
*******************************************************
0
*******************************************************
*       35. SOLVE EQUILIBRIUM EQUATIONS
*******************************************************
0
*******************************************************
*       36. CREATE FILES FOR XFLR5 ANALYSIS
*******************************************************
0
*******************************************************
*       37. SOME SPECIAL PARAMETERS
*******************************************************
0


Therefore, if you want it is not necessary to continue reading! :)
3. SECTION 8: GLOBAL ANGLE OF ATTACK ESTIMATION

This section should be completed once a complete analysis has been performed according to SECTION 35. However, you can continue to use the traditional method and remember that the really important parameter is the "CALAGE", which is the position of the pilot with respect to the wing and that will completely define all flight characteristics. Normally, we determine the ideal calage based on experience with similar previous models, empirical formulas, and flight tests using trimmers.
From this version (3.20V), the parameter we previously called "Cp" (pressure center), we will now call it "Pp" (plumb point, the point on the central chord, located just at the same vertical of the pilot), since this definition is more appropriate to physical real world. The center of pressure is another point, to be determined precisely by numerical aerodynamic analysis. 

************************************************************
*           8. Global angle of attack estimation           *
*************************************************************
* Finesse GR
	5.66
* Plumb point estimation %
	43.32
* Calage %
	36.01
* Risers lenght cm
	47
* Line lenght cm
	620
* Karabiners cm
	40

The finesse, plumb point, and calage parameters can be defined before or after performing an optional aerodynamic analysis according to section 35.

4. SECTION 9: SUSPENSION LINES DESCRIPTION

Optionally, (is not mandatory) now is possible to describe the type, diameter, materials and other characteristics of each individual line. You need to add some parameters (integers) designate "type" according to the table in section 34, or the table predefined internally in the program by default.

This will serve to force the definition of line types and thicknesses in the design phase, automatically calculate the required lengths of each type of line, and calculate aerodynamic parameters (drag and weight for static balance effects, according to section 35).

Example:

***************************************************
*          9. SUSPENSION LINES DESCRIPTION
***************************************************
3
3
13
3	1 1	2 1	3 1	0 0 	1 1	-  1 2 4     	
3	1 1	2 1	3 2	0 0	1 2	-  1 2 4
3	1 1	2 1	3 3	0 0	1 3	-  1 2 4
3	1 1	2 2	3 4	0 0	1 4	-  1 2 4
(…)

The integer numbers added after the character "-" mean: 
1 --> in level 1 use line type "1"
2 --> in level 2 use line type "2"
4 --> in level 3 use line type "4"

If you do not specify the type of each line for each level, the program internally specifies the “i” type at “i” level from i 1 through 4, except for the main brake line 1F1 which is automatically assigned as type 6. It is necessary to assign a type to all the lines, or to none of them (it is not allowed to assign types only in some lines).

5. SECTION 10: BRAKES

Same description types as section 9.

6. SECTION 33: DETAILED RISERS

Type a single parameter "0" to bypass this section and use pre-set values :)
Type 1 and additional parameters to design a paraglider with risers of different lengths A, B, C, D, E (not usual, but sometimes it may be necessary). Works.
Type 2,3 or 4 to project the risers of a vario seat system of two, three, four points (types 2,3,4 still not available).

*******************************************************
*       33. DETAILED RISERS
*******************************************************
1
1
A	45.0  cm
B	50.0  cm
C	60.0  cm

7. SECTION 34: LINES CHARACTERISTICS TABLE

Type a single parameter "0" to bypass this section and use predefined typical values.

Definition table of the properties of N different types of lines used in our paraglider. Up to 50 different types of lines.
Each type is described in a line with 12 positions:
1 --> Line type
2 --> r or c (r=rectangular axb or c=circular section)
3 --> line diameter (mm) or a dimensions (mm)
3.5 --> nothing or b dimension (mm), used only in "r" types
4 --> line label "Riser", "PPSL275", "DC60",... use names without spaces up to 15 characters
5 --> minimum breaking strenght (daN)
6 --> daN
7 --> material type "dyneema", "aramid", "polyester"... use names without spaces up to 15 characters
8 --> weight per line meter (g)
9 --> g
10 --> s or p (s=sewed or p=spliced loop)
11 --> total loop length (cm)
12 --> cm
13 → set line CAD color, used only if code 1341 is active in section 37 (idea by Eric Fontaine)

Define your own lines types according to manufacturers' tables.

Example:

*******************************************************
*       34. LINES CHARACTERISTICS TABLE
*******************************************************
1
6
1  r  25.  2. Riser    1000 daN  polyester   20.0   g   s 12. cm  7
2  c  1.90    Line275   275 daN  s_dyneem    2.26   g   s 12. cm  1
3  c  1.40    Line160   160 daN  s_dyneem    1.34   g   s 10. cm  3
4  c  1.15    Line120   120 daN  s_dyneem    1.00   g   s 10. cm  5
5  c  0.80    Line100U  100 daN  u_dyneem    0.43   g   p 8.  cm  2
6  c  2.00    Line200B  200 daN  s_dynemm    3.10   g   s 12. cm  6

8. SECTION 35: SOLVE EQUILIBRIUM EQUATIONS

Type a single parameter "0" to bypass this complicated section! :)

Definition of the initial basic parameters used to solve the longitudinal equilibrium of the paraglider. This section is informative and is used by the designer, to study the values of the forces involved in the balance of the wing, the flight speed, the angles, and the glide coefficient.
To find realistic values, it is necessary to do the study simultaneously with the XFLR5 program or CFD programs, and perform several iterations until satisfactory values are obtained. Currently, it is not yet possible to fully automate this calculation. The designer must apply his criteria according to the type of wing under study. 
We have discussed this section extensively with Francois de Villiers during the last few weeks, using different approaches to the final solution.

*******************************************************
*       35. SOLVE EQUILIBRIUM EQUATIONS
*******************************************************
1
g        9.807  m/s2 gravity of Eart
ro       1.225  kg/m3 air mass density
mu       18.46  muPa·s air dynamic viscosity (microPascals)
V        12.7   m/s  estimated flow speed
Alpha    9.45    deg  estimated wing angle of attact at trim speed
Cl       0.55619     wing lift coefficient
cle      1.0         lift correction coefficient
Cd	   0.03560     wing drag coefficient
cde      1.35        drag correction coefficient
Cm       0.0         wing moment coefficient
Spilot   0.438  m2   pilot+harness frontal surface
Cdpilot  0.6         pilot+harness drag coefficient   
Mw       5.0    kg   wing mass
Mp       65.9   kg   pilot mass included harness and instruments
Pmc      0.2    m    pilot mass center below main karabiners
Mql      8.0    g    one quick link mass (riser-lines)
Ycp      0.489  m   y-coordinate center of pressure
Zcp      0.299  m   z-coordinate center of pressure

Explanations:

g → gravity of Earth (9.80665 m/s2 standard gravity)
ro → air mas density kg/m3
mu → air dynamic viscosity microPascals·s
V → estimated initial flow speed m/s, used for first Cl, Cd, Cm values
Alpha → estimated ideal angle of attack deg. Max glide ratio according wing aerodynamic analysis
Cl → Wing lift coefficient, obtained by analysis with individual profiles, XFLR5, or CFD
Cle → multiplier coefficient of Cl, to consider non-modeled geometries, use 1.0 in case of doubt
Cd → Wing drag coefficient, obtained by analysis with individual profiles, XFLR5, or CFD
Cde → multiplier coefficient of Cd, to consider non-modeled geometries, use 1.15 in case of doubt. If the Cd data comes from CFD this coefficient can be very close to 1.0. Currently studying how this coefficient affects the results. Probably by adjusting through Cde the expected GR, the rest of the parameters will be very close to reality.
Cm → Wing moment coefficient, obtained by analysis with individual profiles XFLR5, or CFD
Spilot → Pilot + harness frontal surface (m2)
Cdpilot → Pilot+harness drag coefficient (depends on the type of harness, especially if have fairings)
Mw → Wing mass (kg) without lines and risers
Mp → Pilot+harness+instruments mass (kg)
Pmc → Pilot+harness mass center distance from main carabiners (m)
Mql → Mass of one quicklink used to connect riser with lines (kg)
Ycp → Y-coordinate of center of pressure (m), obtained by analysis with individual profiles, XFLR5, or CFD
Zcp → Z-coordinate of center of pressure (m), obtained by analysis with individual profiles, XFLR5, or CFD

Remember that the axes used in LEparagliding are:
 Origin (0,0,0)= at the nose of the central profile section.
 X-axis horizontal and in the span direction
 Y-axis along the central chord
 Z-axis perpendicular to the XY plane and pointing down (not coincides with gravity axis)

9. SECTION 36: CREATE FILES FOR XFLR5 ANALYSIS

0 --> don't perform xflr5 analysis
1 --> set parameters for xflr5
* Panel parameters
10 chord nr
5 per cell 
1 cosine distribution along chord
1 uniform along span
* Include billowed airfoils (more accuracy) [Still not working]
0

If you use this section, it will automatically be created in xflr5/ directory with a .xwimp file and profiles in .dat format to use in an aerodynamic analysis with the XFLR5 program. The details of how to do it are explained here: http://www.laboratoridenvol.com/info/lep2xflr5/lep2xflr5.html
Unfortunately with XFLR5 we cannot model paragliders with profile rotations in the Z angle, nor single skin paragliders. CFD programs must be used for this type of paraglider.

10. SECTION 37: SOME SPECIAL PARAMETERS

This section will be a "wildcard", to add special parameters to control things from previous or future data sections… It is an unorthodox and somewhat “dangerous” section, because any parameter or modification of previous or future ones could be added here. (!).
It will consist of an initial control parameter "0" to end and define nothing! :)
Or the parameter "1" to activate the section, and below the parameter N which means add N lines with special parameters.
Each line will start with a control code, an integer that will have a meaning to be specified. And then, on the same line, one or more parameters (integers, reals, or characters) related to the subject of the control code.
It may seem a little abstract..., but you will see that it will be very practical...
For example, it can be used to activate transitions in the thickness of miniribs (HEGALA style...), or add nylons in the middle of the inlets...

The codes available in 2022-09-18 are:

- Code 1146, which means that it is necessary add a real estimated mass center % of a typical section (0% leading edge, 100% trailing edge). Used only to calculate the estimated wing center of mass. Default value is 36%. 
- Code 1291, which means that it is necessary to write on the right an integer number which is the number of transversal segments to use on the STL surfaces (related to section 29)
- Code 1341, if code is followed by a "1", then the lines will be drawn according to the colors by type defined in section 34. If it is a "0" the colors will be drawn according to the risers, in accordance with sections 24 and 25 . If code 1341 does not exist, the colors are defined by sections 24 and 25.
And some “Programmer secret parameters” (maybe, they will be removed soon):
- Code 1351, set the solve method of equilibrium equations. Six different methods are currently being calibrated. 
Method 1: The Lift and Drag are multiplied by a coefficient K to homogenize their value. The system of vertical (I) and horizontal (II) equilibrium equations is solved numerically for the unknowns K and gamma (glide angle), and all other parameters being data. A continuous range of gamma values is explored, and when the K1 values in the vertical equation match the K2 value in the horizontal equation, the system is considered solved. By adding to the data file some additional drag coefficient Cde=1.1 to 1.4 the results are quite realistic. This extra drag coefficient tries to represent the geometry not modeled in the aerodynamic calculation (probably billow and inlets). 
Method 2: In the balance equations an Extra Drag of the wing is considered: The two unknowns to be solved are gamma and Dragextra, with a numerical method similar to the previous case, we explore a range of gamma until the Dragextra values match in the two equations . With some initial values of Lift and Drag, the system does not converge, a warning message is displayed in output file, and then general scaling adjustments in pilot weight or wing area are required.
Method 3: Combination of the previous two, first a coefficient K is provisionally calculated, to homogenize the Lift and Drag, and then the two equations (V,H) system is solved by gamma angle and extra drag. This method provides quite good results.  
Method 4: Solves glide angle gamma directly using analytical expression (horizontal equilibrium). Use code 1352 set to 2 when using method 4. Flight speed is obtained from the Lift equation (same as in the previous methods).
Method 5: Solves glide angle gamma directly using analytical expression (horizontal equilibrium), as in method 4. Then solves flight speed numerically, from the vertical equilibrium equation. Then computes again gamma, Lift, Drag and other values. 
Method 6: This is a fully analytical method. The glide angle calculation gamma is based on the horizontal balance equation. Gamma is expressed from initial values (and results of intermediate calculations), and independent of flight speed. The flight speed is also calculated analytically from the vertical balance equation. With the flight speed calculated, the Lift and Drag values are calculated again, and used in the moment balance equation to obtain the ideal trim “calage”. Also other values derived in simple form. Thus the system is completely resolved in a very elegant way.
The calage calculation is carried out using only the moment balance equation (III), once the gamma (glide) and theta (assiette) angles are known, and is the same for all methods.
The accuracy of the methods and their applicability is currently under study. It is recommended to use only method 1 or method 6. The results are practically the same. Results of methods 1 and 6 are consistent with the experimental results obtained with Hegala and Tuluaq paragliders. The parameter “cle” (extra lift coefficient) is usually set to 1.0. The parameter “cde” (extra drag coefficient), has a key importance in the final result. It represents the drag that the numerical model used (XFLR5 o CFD) could not determine. For practical purposes it is necessary to use "cde" values based on previous paraglider designs, or simply adjust cde until the output glide ratio is as expected... This will provide a calage value close to reality. 
If code 1351 is not specified, the default used method is 1. Methods 2 to 5 are still under review, do not use. 
- Code 1352, set 1 to use flat area, or 2 to use projected area, in Lift, Drag, and speed calculus. Due to the internal adjustments made, this aspect has almost no influence on the results. By default the value used is 2. Use value 2 when using method 4 in code 1352. It is a code that the regular user does not need to specify
- Code 1353, set 0 to output the standard report in section 17 of lep-out.txt, or set to 1 or 2 for more detailed output used for studies and calibrating methods. Default is 0. Most verbose mode is 2.

Example:

*******************************************************
*       37. SOME SPECIAL PARAMETERS
*******************************************************
1
6
1291	  12   nsegments in transverse direction (stl surfaces)
1341    1    use CAD colors for each line type according table 34
1146	 36.   gravity center in % of a typical section (default is 36%)
1351	  1    Solve method (1 or 6), default is 1
1352	  2    Use flat area (1) or projected area (2), default is 2
1353    2    Print normal (0) or advanced detailed output (1),(2)

Type a single parameter "0" to bypass this section! :)


11. Two new directories necessary at the same level as lep:

Folder: stl/
All .stl and .scad files are now grouped in this folder, in order not to accumulate an excess of files in the lep directory.

Folder xflr5/
New automatically generated geometry file ".xwimp" and all ".dat" necessary airfoils are put in this folder, used to import directly into the xflr5 external program and perform numerical analyzes.
Soon 1 or more billoweb airfoils will be added automatically to each cell, to make a more precise analysis.
This section made possible by the studies done by Francois de Villiers, on how to export LEP geometry to XFLR5 and how to choose the right parameters.

12. OUTPUT FILES

Output file lines.txt:
---------------------------------------------
Added the type and diameter specified for each line.
Automatic calculation of total length of lines with loops and without loops.
Table of required lengths for each type of line. including loops, to facilitate the selection of materials.
The selection of line types works automatically, without the need to specify anything, but it is fully configurable.

Output file lep-out.txt:
Small improvements in the general presentation.
Added wing estimated mass center in section 1.
Detailed individual lines and risers properties (lenght with and without loops), mass, area, and center of mass. Global lines and risers properties (total mass (kg), area (m2), mass center coordinates). Added some output for new sections 33,34,35,36,37.

Section 17. of lep-out.txt:

With this version of LEparagliding, for the first time an automatic calculation of the longitudinal balance is carried out. It is necessary to provide first the basic aerodynamic parameters of the wing (without lines or pilot) coefficients Cl, Cd, Cm, and point Cp, obtained with an external program. The rest of the geometric and aerodynamic parameters are generated internally by Leparagliding.

The main results are the glide angle gamma, the angle of the wing relative to the horizon (theta or "assiette"), and recommended position of the pilot with respect to the wing central chord "calage". It may be necessary to perform several iterations with different initial speeds and angles of attack until values converge to real values. 

This is an advanced section that should be used with caution. However, the geometric calculation of the wing is still done according to section 8. Therefore, the designer will decide whether or not to use the provided values of calage, glide ratio, and plumb point, to manually insert into the section 8. To stabilize the results provided in section 17 of lep-out.txt, run the program at least one or two additional times, updating the parameters in section 8 of leparagliding.txt until convergence.

 An attempt to solve the paraglider longitudinal equilibrium. Use interactively until you get convincing results.
 It is necessary to use external programs such as XFLR5 and or CFD to obtain the aerodynamic coefficients and the center of pressure
 Remember that the axes used in LEparagliding are:
 Origin (0,0,0)= at the nose of the central profile section.
 X-axis horizontal and in the span direction
 Y-axis along the central chord
 Z-axis perpendicular to the XY plane and pointing down (not coincides with gravity axis)

 Basic project data:
 -----------------------------------------------
     Flat area=   26.20 m2  282.0 ft2
     Flat span=   10.57 m    34.7 ft
      Flat A/R=    4.27
Projected area=   22.81 m2  245.5 ft2
Projected span=    8.66 m    28.4 ft
 Projected A/R=    3.29
    Flattening=   12.94
   Vault arrow=    2.48 m
Proj_span/arrow=   3.49
   Line heigth=    6.98 m included risers
Proj_span/Line_heigth=    1.33
Karabiners - wingtip=    5.92 m
Proj_span/(Karabiners - wingtip)=    1.46
  Wing type is= ds
Planform geometric center of gravity at  45.37 % from leading edge 1535 mm

 Section 35 data and initial parameters:
 -----------------------------------------------
              g=     9.8070 m/s2 gravity of Eart
             ro=     1.2250 kg/m3 air mass density
             mu=    18.4600 microPascals x s air dynamic viscosity
              V=    11.0000 m/s estimated initial flow speed
          Alpha=     9.0000 deg estimated wing angle of attack AOA
             Cl=     0.5800 wing lift coefficient
            Cle=     1.0000 wing lift adjustment coefficient
             Cd=     0.0300 wing drag coefficient
            Cde=     1.2000 wing drag adjustment coefficient
             Cm=     0.0000 wing moment coefficient
            Cdp=     0.8000 pilot drag coefficient
         Spilot=     0.5000 m2
      Wing mass=      4.000 kg
     Pilot mass=     83.000 kg included harness, instruments, water...
Pilot mass desp=      0.000 m  below main karabiners
x-coordinate Cp=      0.000 m
y-coordinate Cp=      0.930 m
z-coordinate Cp=      0.250 m

 Results:
 -----------------------------------------------
   Solve method=       1

 Masses and wingload:
     Lines mass=      0.767 kg (risers included)
    Risers mass=      0.091 kg
   Quickli mass=      0.048 kg    6 units
     Total mass=     87.815 kg
     Wing flatS=    26.2019 m2
     Wing projS=    22.8123 m2
       Wingload=      3.351 kg/m2 (using flat wing area)
       Wingload=      3.849 kg/m2 (using projected wing area)

 Lines calculus:
     Lines surf=     0.7200 m2 (risers included)
    Risers surf=     0.0775 m2
   y-Lines drag=     1.3973 m
   z-Lines drag=     3.5114 m
 Global Cdlines=     1.1876

 Aerodynamic forces:
        k1,k2,k=     0.8656     0.8656     0.8656
      Wing lift=   848.7830 N
   Wing lift ex=     0.0000 N
  Wing lift tot=   848.7830 N
      Wing drag=    43.9026 N
   Wing drag ex=     8.7805 N
  Wing drag tot=    52.6831 N
     Lines drag=    63.3724 N (risers included)
     Pilot drag=    29.6450 N
     Total drag=   145.7005 N
   Induced drag=    46.8696 N (theoretical by AR, and included in wing drag)

 Lift to Drag ratios:
     Wing Cl/Cd=    19.3333
Cl*Cle/(Cd*Cde)=    16.1111
   L/(D+Dextra)=    16.1111
 L/(Drag total)=     5.8255

  Theoric speed=     11.000 m/s      39.60 km/h
    Horiz speed=     10.841 m/s      39.03 km/h
     Vert speed=      1.861 m/s       6.70 km/h

 Mass centers:
        Wing mc:
              y=      1.184 m
              z=      0.712 m
Lines+risers mc:
              y=      1.392 m
              z=      3.429 m
  Quicklinks mc:
              y=      1.276 m
              z=      6.488 m
Pilot+harnes mc:
              y=      1.327 m
              z=      6.980 m
       Total mc:
              y=      1.321 m
              z=      6.663 m

Angles and calage:
WARNING: Iterate initial values until convergence!
These results are for informational purposes only!
The REAL design parameters must be entered manually in section 8 of leparagliding.txt
          Theta=      0.740 deg
          Gamma=      9.740 deg
    Glide ratio=      5.826
 Main-K x-coord=      0.200 m
 Main-K y-coord=      1.327 m
 Main-K z-coord=      6.980 m
           Cp %=      27.49 %   930 mm
           Pp %=      41.88 %  1416 mm
       Calage %=      39.21 %  1326 mm (Py)

 Complements:
        Pp-Py %=       3.45 %    90 mm
        Py-Cp %=      15.16 %   396 mm
        Pp-Cp %=      18.61 %   486 mm
        wcg-wcp=  527 mm Distance(wingcg(y,z),wingcp(y,z))
    wcg_y-wcp_y=  254 mm
    wcg_z-wcp_z=  461 mm

 Detailed lines drag information:
 -----------------------------------------------
 Line - Surf (mm2) - Reynolds -  Cdline  -  Line drag (N) 
   1      11250.      18249.      1.980       1.65
   2       9117.       1387.      1.080       0.73
   3       9022.       1387.      1.080       0.72
   4       8852.       1387.      1.080       0.71
   5       8491.       1387.      1.080       0.68
   (...)
 
    The content of the report is self-explanatory. And as you can see with very interesting geometric and physical data. Ask if you do not understand the meaning of any parameter. 

The mysterious parameters k1,k2,k do require explanation (used only in methods 1 and 3). Parameter K1 is a coefficient multiplying the absolute value of Lift and Drag in the equation of vertical balance of forces. Parameter K2 is a coefficient multiplying the absolute value of Lift and Drag in the equation of horizontal balance of forces. The simultaneous solution of the vertical and horizontal balance equations is performed numerically by exploring a range of glide angles (gamma) between 1º and 45º. In the vertical balance equation the coefficient K1 is calculated as a function of gamma. In the horizontal balance equation, the K2 coefficient is calculated as a function of gamma. When the coefficients K1 and K2 are equal or almost equal, then K=(K1+K2)/2 is defined. This is considered the solution, the pair of unknowns (gamma,k), of the vertical and horizontal equilibrium equations. That is, in solving the vertical and horizontal balance equations, we are forcing the total wing lift and wing drag to be multiplied by the reducing or amplifying coefficient K. This strategy is an unproven conjecture, which provides consistency between the absolute values of Lift and Drag with the rest of the aerodynamic and gravitational forces.
Then total wing lift is:
Lift=(1/2)*Cl*Cle*K*ro*V^2*S
And total wing drag is:
Drag=(1/2)*Cd*Cde*K*ro*V^2*S
Where S is the flat wing surface (m2). 
Note that the multiplication by S is somewhat arbitrary. That is why it is necessary to add the K coefficient that regulates Lift and Drag in order to be compatible with the independent aerodynamic forces (drag of lines and pilot) and of gravity (weight of the wing, weight of lines, weight of the pilot).

In Appendix 2 you can see the detail of the balance equations, and how the coefficients K1,K2,K contribute.

About the theoretical flight speed. In methods 1 to 5, we consider the theoretical flight speed according to the simplified formula: V=sqrt((W*cos(gamma))/((1/2)*ro*Cl*Cle*K*S))
where W is the total weight and W*cos(gamma) means that the vertical component of the Lift equals the total weight. This formula is not exact and is not independent of the rest of the calculations made. In method 6 the flight speed is obtained analytically from vertical equilibrium equation.

The most suitable would be to do a study for several initial flight speeds (V=9,…,12 m/s) around the one estimated initially. Examine the variations in glide ratio and calage values obtained, and then decide accordingly.

13. SOLVING THE EQUILIBRIUM EQUATIONS

To solve a system with N unknowns, we need at least N independent equations or conditions.
Consider the simplified diagram of a paraglider in balanced and stable flight, and consider all the parameters involved.

Unknowns we have:

Flow speed:

[1] V flight speed (m/s)

Coefficients:

[2] Cl  wing lift coefficient
[3] Cle wing extra lift coefficient
[4] Cd wing drag coefficient
[5] Cde wing extra drag coefficient
[6] Cm wing moment coefficient
[7] K multiplier coefficient for lift and drag

Some drags:

[8] Dlines   lines drag (N)
[9] Dpilot pilot drag (N)

Angles:

[10] alpha wing angle of attack (deg)
[11] gamma glide angle (deg)
[12] theta assiette inclination of the central chord above or below the horizon (deg)
[13] GR glide ratio

Points:

[14] Xcp y-coordinate center of pressure (m)
[15] Zcp z-coordinate center of pressure (m)
[16] C calage, where to place the pilot with respect to the central chord (m or %)
[17] PP plumb point, intersection of vertical line by the pilot, with the central chord (m or %)
[18] Gy wing mass y-coordinate (m)
[19] Gz wing mass z-coordinate (m)
[20] Gly y-coordinate of lines mass (m)
[21] Glz z-coordinate of lines mass (m)
[22] GDly y-coordinate of lines mass (m)
[23] GDlz z-coordinate of lines mass (m)

Weights:

[24] Mpilot pilot mass (kg)
[25] Mw wing mass (kg)
[26] Mlines lines mass (kg)
[27] Mquicklinks quick links (maillons) mass (Kg)
[28] Mtotal (kg)

Geometry:

[29] h the distance from pilot to central chord (in a perpendicular line) (m)

A bit exaggerating, we have about 29 unknowns... We need at least 29 independent conditions to solve the system. 

Conditions to solve the system:

[1] V flight speed (m/s)  → Set a reasonable initial flight speed. A speed is needed to obtain the aerodynamic coefficients. Explore a continous range of values, or iterate several times with the program to compare and converge with the theoretical speed.

Coefficients:

[2] Cl  wing lift coefficient --> XFLR5 or CFD
[3] Cle wing extra lift coefficient, set to 1.0 or another justified value
[4] Cd wing drag coefficient  --> XFLR5 or CFD
[5] Cde wing extra drag coefficient, set to 1.0 or another justified value. This coefficient makes possible to correct the geometric inaccuracy of the model if does not take into account the billowed cells or the effect of the vents, which undoubtedly increase the drag.
[6] Cm wing moment coefficient --> XFLR5 or CFD. Usually it will be zero, because we will use the resultant forces acting at the center of pressure.
[7] K multiplier coefficient for lift and drag. This value will be an unknown in the equilibrium equations.

Some drags:

[8] Dlines   lines drag (N) --> Automatic calculation made internally by LEP. Calculate the drag of each line taking into account the frontal surface of the line (including loops) and the drag coefficient adapted to the diameter of the line and the Reynolds number Re=ro*V*L/mu. Then drag coefficient according Weisener formula Cdlines=10*Re^(-2/3)+1 and Dragline=(1/2)*ro*Cdl*V^2*Sline. The equivalent diameter of the spliced part is considered D*sqrt(2) and and if the loop is stitched D*2.
[9] Dpilot pilot drag (N)  --> Automatic calculation knowing frontal area and aerodynamic drag coefficient. Dragpilot=(1/2)*ro*Cdpilot*V^2*Spilot

Angles:

[10] alpha wing angle of attack (deg). Deduce from the aerodynamic study, as the angle that provides maximum wing glide ratio.
[11] gamma glide angle (deg). This value will be an unknown in the equilibrium equations.
[12] theta assiette inclination of the central chord above or below the horizon (deg). By definition theta= gamma-alpha (view geometric scheme of the longitudinal equilibrium). If the central chord is tilted below the horizon theta > 0, If the central chord is tilted above the horizon theta < 0,
[13] GR glide ratio --> By definition GR=1/(tan(gamma))

Points:

[14] Xcp y-coordinate center of pressure (m) --> XFLR5 or CFD
[15] Zcp z-coordinate center of pressure (m) --> XFLR5 or CFD
[16] C calage, where to place the pilot with respect to the central chord (m or %). This value will be an unknown in the equilibrium equations.
[17] PP plumb point, intersection of vertical line by the pilot, with the central chord (m or %) --> Automatic geometric deduction by LEP known the other main parameters: Ypp=Ycalage+hlines*tan(theta)
[18] Gy wing mass y-coordinate (m)  --> calculate by weighted chords average, automatic calculus by LEP
[19] Gz wing mass z-coordinate (m)  --> calculate by weighted chords average, automatic calculus by LEP
[20] Glx y-coordinate of lines mass (m) --> calculate by weighted average, automatic calculus by LEP
[21] Glz z-coordinate of lines mass (m) --> calculate by weighted average, automatic calculus by LEP
[22] GDly y-coordinate of lines mass (m) → Lines drag y application point calculated by weighted average, automatic calculus by LEP
[23] GDlz z-coordinate of lines mass (m) → Lines drag z application point calculated by weighted average, automatic calculus by LEP

Weights:

[24] Mpilot pilot weight (kg) --> Ask the pilot :)
[25] Mw wing weight (kg)      --> Weighting the wing on the scale, excluding risers and lines. 
[26] Mlines lines weight (kg) --> Calculated automatically by LEP knowing the weight per linear meter of each type
[27] Mquicklinks (Kg) → Calculated automatically by LEP
[28] Mtotal (kg)   --> Add all the above masses, automatic by LEP. Multiply all masses by 9.8 to convert from Kg to forces in Newtons.

Geometry:

[29] h the distance from pilot to central chord (in a perpendicular line) (m) --> set by definiton, design criteria

Then all the unknowns painted in green are are explicitly specified by the designer or obtained automatically by the program LEP. Then, remain only three main unknowns:

[7] K multiplier coefficient for lift and drag
[11] gamma glide angle (deg)
[16] C calage (m) or %
Let's consider the three equilibrium equations of statics:

(I) SUM(V)=0
f1(gamma,K)=0

(II) SUM(H)=0
f2(gamma,K)=0

(III) SUM(M)=0
f3(gamma, calage)=0

From (I) & (II) → gamma, K
From (III) → calage

Voilà! All unknowns solved theoretically! :) 

All the data and results of the calculation of the longitudinal equilibrium calculation are summarized in section 17 of the file lep-out.txt

In this version of LEP-3.20V, consider these results as informative only. It is necessary to experiment with different example models to verify the accuracy of the theoretical calculation's approximation to reality, and make corrections to the calculation if necessary. 

Although there are aspects that can be criticized in the methods used, the first numerical results indicate that the theoretical solutions are consistent with reality, and that therefore the results are useful :)


Up to six methods used to solve the problem

During August and September 2022, we have been studying different strategies to solve the non-linear system of equilibrium equations and obtain results close to the real world. Francois programming in Mathcad and Pere in Fortran, with similar or different strategies, until finally finding solutions that match in Mathcad and Fortran, thus confirming that there are no programming errors… :)

Recommended methods are 1 or 6, as explained above. Method 6 has the advantage that the result is fully analytical. Non-linear equations are solved completely explicitly! So theoretically it is the most accurate. Method 1 solves the gamma angle numerically but with two loops. In a first loop an approximate solution is found, and in a second loop the result is refined, so it is also very accurate. In addition, method 1 uses a correction coefficient K that tries to homogenize the aerodynamic forces on the wing with those of gravity. Not proven (still a conjecture), but very similar results to method 6. For practical purposes (discounting some decimals) the results of methods 1 and 6 are the same. It is recommended to do a run with both methods to verify the differences.



APENDIX 1: PHYSICAL INTERPRETATION OF EQUILIBRIUM EQUATIONS

“When a paraglider takes off, achieves one equilibrium situation”

This shows us that it is possible to find an unique solution. Which is what we want. Make a physical-mathematical model that allows us to predict the equilibrium situation. We can imagine the set of paraglider and pilot as a rigid solid, and consider all the forces acting on it. This will be our model.

We can consider Newton's second law applied to our model F=ma. Since the paraglider is in equilibrium, the acceleration is zero, i.e. the sum of the resulting forces is zero F=0.

The forces that act on our model are of two types: gravity forces, and aerodynamic forces.

Gravity forces:
- Pilot weight (Wpilot)
- Wing weight (Wwing)
- Lines + risers weight (Wlines)

Aerodynamic forces:
- Wing lift (Lift), normal to trajectory
- Wing drag (Drag),  along trajectory
- Wing moment (Moment), torque around an axis perpendicular to the wing plane of symmetry
- Lines drag (Dlines), along trajectory
- Pilot drag (Dpilot), along trajectory

Thus we have a relatively simple system with only 8 forces involved. Gravitational forces depend only on the mass of each element, and are immediate to determine. On the other hand, the aerodynamic forces are not so easy to determine (but possible), and are proportional to the square of the flight speed.

The application of Newton's second law to the particular case of a system in equilibrium, allows us to consider the three classical equations of statics in the plane:

Sum V = 0    (I)
Sum H = 0    (II)
Sum M = 0   (III)

Let's see the meaning of each equation:

Sum V = 0    (I)

For convenience, we will choose the vertical axis in the direction of gravity. This equation tells us that the vertical component of all aerodynamic forces must balance the total weight.

Sum H = 0    (II)

For convenience, we will choose the horizontal axis in the direction perpendicular to that of gravity. This equation tells us that the horizontal component of all the aerodynamic forces cancel out and the sum is zero. Specifically, the horizontal component of Lift is equal to the sum of the horizontal components of the other aerodynamic forces.

Sum M = 0   (III)

For convenience, we choose the reference point for the sum of moments as the center of pressure Cp, as well as the moment caused by the Lift, the Drag, and the moment of the wing itself are zero and do not take part in the equation. We can see how the drag caused by the lines and the pilot produce a negative moment around Cp (counter-clockwise), therefore the moment caused by the total weight around Cp must be positive (clockwise) and of the same magnitude. Realize that the total plumb point must be behind Cp.

We can calculate all the acting forces (gravity and aerodynamics) and their position. And solve the system of the three equations of statics, and so we have the problem solved! :)

Problems encountered while solving the system of equations:

1) The real speed of flight
All aerodynamic forces depend on the speed of flight. To be able to find their values we must first define a speed. That is, we obtain a solution for each speed. But the reality is not that, there is only one flight speed. It is necessary to study different speeds and analyze the results. A simplified formula is proposed in LEP to calculate the theoretical flight speed. However, this formula is under review and some alternative method is being studied to estimate the speed closest to the real one.

2) Model inaccuracy corrections
The values of the coefficient of lift and drag of the wing, obtained by xflr5 and also by CFD are not exact because the geometric model is not accurate enough. In particular the effect of the billow not taken into account in XFLR5 (soon with LEP a model will be prepared in some intermediate profile), and the undetermined effect of the air inlets. We assume that this inaccuracy in the model can be solved by adding an additional (extra) drag (Dragextra). But for the same reason, we can consider that it is necessary to add an additional lift (Liftextra), either positive or negative. To simplify, and in a generic way, we can consider that the coefficients of lift and drag must be affected by coefficients around 1.0 that we will call Clextra, Cdextra. If our CFD model is sufficiently accurate, we can consider Clextra=1.0, Cdextra=1.0.
Lift=(Cl*Clextra)*0.5*ro*V^2*S        Liftextra=(Clextra-1)*0.5*ro*V^2*S
Drag=(Cd*Cdextra)*0.5*ro*V^2*S    Dragextra=(Cdextra-1)*0.5*ro*V^2*S

3) Absolute values of Lift and Drag
When trying to solve the vertical balance, I noticed that in some cases there was no solution. This can happen if the calculated lift is “too big” or “too small”, to balance the total weight. But reality shows that there is always balance, no matter how light or heavy the pilot… My interpretation is that the absolute value of the lift (and drag) calculated with Lift=Cl*0.5*ro*V^2*S is not homogeneous with the other calculated drag forces (lines and pilot) and the weights. 

This is because to calculate the total lift, a parameter is involved which is the total flat area (or projected) of the wing, which is somewhat arbitrary. To try to make the total lift and drag compatible with the rest of the drags and the total weight, I propose to calculate a reduction or amplification coefficient a coefficient multiplying wing lift and wing drag and solve the equilibrium equations with this applied coefficient.


APENDIX 2: EQUILIBRIUM EQUATIONS (view PDF file)


APENDIX 3: POSITION OF THE MASS CENTER OF PILOT+HARNESS (view PDF file)

In the system of equations in Appendix 2, we have made an improvement consisting in considering the real position of the pilot, not exactly at the point P (Py,Pz) of the main carabiners, but at a certain distance (named Pmc in data file, oe “s” in the nest figure) below the point P, and in the same vertical (plumb line). Thus equation (III) of appendix 2 must be corrected in the symbols:

Py by Py-Pmc*sin(theta)
Pz by Pz+Pmc*cos(theta)

This is how we did it in the program, and the results are more accurate. You can verify with the calage, which varies slightly if the pilot's position is not exactly at point P of the carabiners. Calage is still considered as the y-component of point P, not the y-component of the pilot+harness mass center (point P’). This is a convention, to be consistent with what is stated in section 8 of leparagliding.txt.

We have drawn the interpretation of the distance that can exist between the center of mass of the pilot+harness assembly with respect to the main carabiners. See figure in next page. The red line PG which is the distance Pmc. In this case we have also drawn an epsilon angle in situations where the center of gravity of the pilot+harness swings forward or backward. But that is another matter of study… :) When studying flight in stable equilibrium, we consider angle epsilon to be zero.


-------------------------------------------------------------------
VERSION 3.19 (2022-05-22)
-------------------------------------------------------------------

In section 29, all the "Print parameters" are now active.
Optional 3D tessellation in lep-3d.dxf
New file lep-3d-surfaces.dxf automatically generated
New file lep-3d-surfaces.scad automatically generated (view in OpenSCAD)
New file lep-3d-surfaces.stl automatically generated

The .stl file it is generated with the intention of being able to analyze the whole wing with a CFD program. Some colleagues are already working on this

Example 5: Use minimal 3D shaping definition, and enabling the external DXF, SCAD, and STL files.

************************************************************
*       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 1    1    15    1   > Enable 3D tessellation in lep-3d.dxf from panel 1 to 15 and do symmetrical
exteDXF 1    1    15    0   > Enable 3D tessellation in independent file lep-3d-surfaces.dxf from panel 1 to 15 and do one side
exteSTL 1    1    15    1   > Enable 3D tessellation in independent file lep-3d-surfaces.stl from panel 1 to 15 and do symmetrical

-------------------------------------------------------------------
VERSION 3.18 (2022-03-06)
-------------------------------------------------------------------

1) In section 32, I enabled a coefficient called "rib_1y" which is used to vertically move type 1 or type 11 horizontal straps so they don't overlap with other diagonal V-ribs. Using rib_1y = 1.0 it is printed as always, using rib_1y = 1.8 the horizontal straps are above (experiment with different values of the coefficient, also with negative numbers)

2) The name of the new version is "Vinebre", a town in Catalonia.

3) Added teh noNAN.sh bash scipt. Unable to open dxf file. The NaN problem.

I mentioned this problem earlier. Sometimes, when doing mathematical calculations, with a certain angle or numerical value, there is a division by zero or another illegal operation. When this happens, the Fortran executable writes the value "NaN", which means "Not a Number". When writing the NaN value to the DXF file, some CAD programs do not know how to interpret it correctly and cannot open the file. For example, this happens with Autocad, but not with LibreCAD. To resolve this issue, you can open the dxf file with a word processor (for example, Word, or gvim) and automatically replace the NaN text string with the numeric value 0.0 
This solves the problem. If you are using a Linux operating system, Mac OSX with console, or Windows with cygwin console, copy the noNAN.sh script to the lep folder and run the script as ./noNAN.sh
This will automatically change the NaN values to 0.0 and repair the dxf file.

This script can also be run directly from the console as:

sed -i 's/NaN/0.0/g' leparagliding.dxf

-------------------------------------------------------------------
VERSION 3.17 (2021-12-12)
-------------------------------------------------------------------

SECTION 26. GLUE VENTS

Added the following vents types, fully functional:

- Vent type  4 (general diagonal vent, adjustable at left and right, attached to extrados)
- Vent type -4 (general diagonal vent, adjustable at left and right, attached to intrados)
- Vent type  5 (general arc vent, adjustable at left, right, and arc depth, attached to extrados)
- Vent type -5 (general arc vent, adjustable at left, right, and arc depth, attached to intrados)
- Vent type  6 (ellipse inlet, with two parameters indicating widths of the ellipse on x and y axes, attached to extrados)
- Vent type -6 (ellipse inlet, with two parameters indicating widths of the ellipse on x and y axes, attached to intrados)

Note that type 4 also includes cases 0,1,2,3, and type -4 cases 0,-1,-2,-3. Finally type 5 includes case 4, and -5 includes case -4. 
See the explanatory drawings in the manual.


SECTION 32. PARAMETERS FOR PARTS SEPARATION
 
This is a new section (!). It is MANDATORY to add this section from version 3.17 of the program. I don't like adding new sections, because it increases the number of settings and complexity of the input file, but it's necessary. However, SECTION 32 is an invariant section (not required to customize for each design), and in its simplest version, it is reduced to writing the parameter 0. 

The program separates the different pieces (panels, ribs, ...) drawn in 2D automatically, trying to not overlap with each other or put outside the drawing box. However, sometimes the separation between the pieces is not as we would like. Therefore, we have added some parameters to modify the automatic separation criteria. These are coefficients, around 1.0 that reduce or increase the separations in horizontal (x) or vertical (y) directions. If in doubt, you do not need to change any of the parameters in this section, leave the default values to 1.0, or put a single parameter 0 at the beginning, which is equivalent to maintaining the default default values. Read the manual to know the meaning of each value.

Example 1:

*******************************************************
*       32. PARAMETERS FOR PARTS SEPARATION
*******************************************************
0

Example 2:

*******************************************************
*       32. PARAMETERS FOR PARTS SEPARATION
*******************************************************
1
panel_x        1.1
panel_x_min    1.0
panel_y        0.9
rib_x          1.0
rib_y          1.15
parameter6     1.0
parameter7     1.0
parameter8     1.0
parameter9     1.0
parameter10    1.0


OTHER MINOR FIXES included in version 3.17:

- Bug fixed on horizontal straps length type 1 (an error that only affects versions 3.15z and 3.16)
- Width of horizontal straps type 1, now only affected once by the general scale factor (at 3.15z and 3.16 it was multiplied twice) 
- Start and end points of the nylon rods now marked with two blue dots. 
- Font size in the lines list is now defined by mark type9, third parameter, in SECTION 20. 
- As of this release, the LEparagliding executables are "statically compiled". This means that some Fortran libraries are automatically added to the .out (Linux, OSX) and .exe (Windows) executable files. In theory, this will help run the program on the computers of users who do not have Fortran compilers installed. The regular user does not need to know anything about this. But if you are curious and want to know what is the instruction used for static compilation is the following:
	gfortran -static-libgfortran leparagliding.f
        gfortran -static-libgfortran pre-processor.f

-------------------------------------------------------------------
VERSION 3.16 (2021-08-29)
-------------------------------------------------------------------

Version 3.16 contains a major change from the previous ones. Now is possible to individually control the rotations of the profiles in space on three axes X,Y,Z (previously we could only adjust two rotations in X,Y). This functionality was planned for a long time. Finally added at the request of Arnaud Martinez, to develop new high performance paragliders. 

In leparagliding.txt SECTION 1, when writing the geometry matrix, two additional columns must be added:

- The column in position 10, indicates the rotations of the profiles with respect to the vertical Z-axis, before being rotated on a horizontal Y-axis. This serves (optionally) to better align the profiles to the glide path.
- The column in position 11, indicates the position of the vertical axis in % of the chord.

If preferred, columns 10 and 11 can be defined with values set to zero, and the additional rotation will not be taken into account, the result of the geometric model will be exactly the same as in the previous versions. If you do not type the two additional columns, the program will continue to run, assigning 0.0 values to the unwritten values by default. Thus the program 3.16 is compatible with previous file structures (3.15 and earlier).

The values of Z-rotation and position are added to section 3 of the lep-out.txt report.

Added in lep-out.txt new section "12.  ANGLES BETWEEN AIRFOIL PLANE AND GLIDEPATH LINE  (phi) and local AoA (chi)". Use the phi values as a reference and guidance to interactively adjust rotation values around Z-axis, to meet the objectives. Use chi values to know the local angle of attack and iteratively adjust the washin if necessary.

When working with version 3.16, it is recommended to do the calculations in a minimum of two steps:

1) In file leparagliding.txt, column 10 of the geometry matrix (SECTION 1). Set the rotation values around the Z axis to 0.00, this is like doing a traditional LEparagliding model. Run the program and open the lep-out.txt file. In section 12 you will find a list of angles in degrees. These angles, which we will call "phi" are the angle that forms the plane of the profile with the glide path line. Write down these values.

2) Modify the leparagliding.txt file. In column 10 of the geometry matrix, set the angles phi obtained above. When you run the program again and check the result of the list of angles in lep-out.txt section 12, you will check that the angles between the profile plane and the trajectory will be almost zero! This means that the profiles will be perfectly aligned with the flow. Of course, at your discretion, you can define other rotation values in column 10 of the geometry matrix, and measure the angles in space yourself (lep-3d.dxf file), with other objectives.

If you are curious, you can read the mathematical basis of the news improvements, on this page:
http://www.laboratoridenvol.com/leparagliding/advanced/airfoilsrotation/airfoilsrotation.en.html

V-ribs Type-5 now work correctly at left side of the wingtip (bug found by Paweł).

Still checking why the program does not generate dxf correctly with some specific "Z" rotation values.

-------------------------------------------------------------------
VERSION 3.15 (2021-01-17)
-------------------------------------------------------------------

Section 29 simplified. IF you do not want to use "3D-shaping" just type "0" and end the section. It is not necessary to write the print parameters, which are already defined by default. This is consistent with other sections where you do not need to define data, just indicate "0".

Added new pre-processor version 1.6. Updated manual in .txt format and website.  This small program is very useful for defining the geometry matrix of Section 1. It will soon have more prominence thanks to the GUI version of leparagliding which makes more intensive use of this small program.

-------------------------------------------------------------------
VERSION 3.14 (2020-12-25)
-------------------------------------------------------------------

SECTION 20 (MARKS TYPES)
-------------------------

Marks "type 9" active, allows size definition of numbers that numbers ribs and panels, and the size of Roman numerals in ribs, and in rod pockets.
Marks "type 10" active, allows size definition of numbers that numbers VH-ribs, and the size of Roman numerals in VH-ribs.
You can leave section 20 invariant for all projects and according to the last example. But modifying some parameters allows you to control the final presentation of the plans and better adjusted to your needs.

Check that you are using the correct parameters, otherwise the size of the Roman numerals or decimals will not be appropriate. Since version 3.14 is VERY recommended to use this (or similar) invariant bloc:

******************************************************
*       20. Marks types
******************************************************
10
typepoint   1  0.25  1.2     2  0.3  1.2
typepoint2  1  0.25  1.2     2  0.2  1.2
typepoint3  1  0.25  1.2     2  0.2  1.2
typevent    1  10.   0.0     2  2.0  0.0
typetab     1  10.   0.0     3  2.0  0.0
typejonc    1  10.   0.0     2  2.0  0.0
typeref     1  5.0   1.      1  2.0  0.0
type8       1  0.2   5.0     1  0.0  5.0
type9       1  0.0   7.0     1  3.2  4.5
type10      1  0.0   6.0     1  0.0  3.33

Since version 3.14 the rod pockets are numbered and the fifth parameter of the "type9" line controls the size of the roman numbers (a request from Eric (Tarnos, France)).


SECTION 12 (VH RIBS).
----------------------

Since version 3.14, six new types of VH-ribs have been introduced.  The new types are called 11,12,13,14,15,and 16. Type 11 is the same as type 1, but absolute definitions of lengths in cm, are now made in % of the profile chord. The same for type 12 with respect to type 2, and so on until type 16, which is similar to type 6. Types 11 and 1, 12 and 2, 13 and 3, 14 and 4, cannot be combined in the same model. An auxiliary model can be made if necessary. Then all the VH-rib parameters can be set in % the chord, instead of absolute lengths in cm. It is also an improvement introduced at Eric's request.

VH-rib "Type 4" finally is fully functional (and new "Type 14", of course).

The presentation of the VH-ribs results in 2D and 3D as improved. Now the decimal numbers numbering the VH-ribs do not appear displaced, and size may be defined, so the plane is better understood. The roman numbers fit much better and its size may be defined in section 20.  Now the numbering of pieces Type 6 within the same rib is not done from 0 to 100 (according to position in%), from 0 to 10, to reduce the number of points.

When you enter the settings to the types 1,2,3,4,5,6, the absolute lengths will be affected by the scaling factor of the wing (before this does not happen). This allows you to scale the wings more uniformly.


SECTION 21 (NYLON RODS) 
------------------------

The drawing of the arched rods (type 2) has been revised, because in version 3.12 some particular cases they were not drawn in their correct place. Now verified, it works well in all cases.

Study the sections 12,20,21 of the manual for more details.


-------------------------------------------------------------------
VERSION 3.12 (2020-12-15)
-------------------------------------------------------------------

> Section 21 (NYLON RODS):

The definition of joncs (nylon rods) has been expanded. Now is possible to add straight, and arched joncs to any part of the profile, and to any of them individually or by groups. Concepts of "schemes", "data blocs", "rod types", and "groups" are used. Read the manual carefully, see examples, and test. The current version reads the previous version of section 21 without changes. Program draws the rods and their pockets, and calculates the individual and total lengths. This improvement has been motivated by the design of the BHL4 and BHL5 projects that have additional compression rods. Of course the rods can be drawn with CAD, but it is more comfortable to draw using the program, from the parameters!

> Section 20 (MARKS TYPES):

The "type8" line is fully functional, and very useful. Allows full control over Roman numerals marks with different sizes and positions. Some have asked me for display "type8" numbers in the format of "seven diode segments". Okay, but I don't see the advantage in it, although I also want to program it as an option.

> The source code incorporates some subroutines for reading .dat profile files (and reformatting them in number of points) but they are not yet activated.

> Other minor changes:

Plotter panels numbered near trailing edge
Size of the numbers in ribs reduced

> Some external utility scripts (advanced use, read more in Laboratori d'envol software/scripts section):
A bash/python/ezdxf script was created to make a template of paper spaces and viewports where put your blueprints ./vpm.sh
A bash script to help in writting colors section ./alog2colors.sh


VERSION 3.11 (2020-09-06)
-------------------------------------------------------------------
Section 29. 3D-shaping now accepts negative depth control values "negative 3D-shaping".
Feature added at Pawełl's request.
Started work to read standard .dat airfoils, and reformat automatically or by specifying the number of points 
(.dat still not functional, will be in next version).

VERSION 3.10 (2020-05-02)
-------------------------------------------------------------------
This version involves significant improvements:

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.

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


VERSION 3.02 (2020-01-26)
-------------------------------------------------------------------
A "bug" found in version 3.01 by Scott from Utah:
Only sewing allowance (SECTION 6) set in upper surface make effects... and:
LE allowance in upper surface = TE allowance in lower surface (!)
TE allowance in upper surface = LE allowance in lower surface (!)
Now fixed! :-) Now the sewing allowance (SECTION 6) can be set independently in the leading edge and trailing edge, of the upper and lower surfaces. Lateral sewing allowances also works correctly.

SECTION 26 "Glue vents". Now is possible the definition of the following types of vents:
0 (=open vent, but print apart for optionally design special vents)
1 (=closed and "glued" to upper surface)
-1 (=closed and "glued" to lower surface)
-2 (=diagonal vent open left "glued" to lower surface)
-3 (=diagonal vent open right "glued" to lower surface)
Very easy to use and very effective!


VERSION 3.01 (2020-01-12)
-------------------------------------------------------------------
Section 31 functional.

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.

Work continues...

VERSION 2.96 (2019-05-07)
-------------------------------------------------------------------

- Solved superposition (up to 60-times!) in some mark points in extrados and intrados. Bug reported by Paweł from Poland.
- "Roman numbers" marks in extrados and intrados, now smaller. Planned full control in size and position.
- Revision in internal code (double precision variables).
- Found and solved some numerical errors doing comparations in sentences "if" with numbers in double precision (!). I need look more in detail. Solved by conversion double precision (real*8) to real*4.
- Started code section for subroutine 3D-shaping

VERSION 2.90 (2019-01-13)
-------------------------------------------------------------------

- Section 22. Nose mylars now fully functional! :) Nose mylars drawn at plan 1-1-2,1-4 and 1-7, including control marks for laser. Each mylar defined by 6 parameters.
- More text and notes in plan 2-7 including the code for the "roman" numbers
- Fixed some graphic errors when drawing airfoil vents in case "pc" type. 

VERSION 2.88 (2019-01-08)
-------------------------------------------------------------------

Correction of small error when printing the useful V-ribs "Type-6". Sometimes they were superposed. Now the position of the ribs is proportional to its position along the edge from leading edge to trailing edge. Error detected by Paweł from Poland. Thanks! 

Was only been necessary to modify a line of the program. I have seen that some "roman" marking points may be left out of the piece... Next thing to solve.

VERSION 2.87 (2019-01-06)
-------------------------------------------------------------------

This version (2.87+2.85) is the result of two weeks working intensively in the source code of LEparagliding :) There is a lot of invisible work in subroutines and code improvement.

Improvements:

- Section 26 allows the vents part to be attached automatically to the extrados or intrados at will. Already explained in version 2.85.

- Section 21 Joncs definition (nylon rods), now fully functional.
Now it is possible to define type 1 rods, which are the most used. A rod on the leading edge with small deflections at both ends, which are completely controllable in position 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.

Of course, sections 26 and 21, save a lot of drawing work with CAD, and now the paraglider is almost finished from the program. 

- 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.

The work of the division in colors, is only with a section of partial help (marks of reference). And the division in 3D panels on the leading edge and the improvement of the skin tension module, are the following works. Following my drawings, it is now possible to add one or two cuts in 3D, but it is a lot of work if the paraglider has many cells. That's why we will automate!

Version 2.87 includes as example the paraglider BHL5-Bi 31 m2 "etude version", still working. The program now generates completely finished plans, ready to build and fly!

Version GUI Graphical User Interface, It is also evolving, thanks to a Swiss programmer... But for now, you need to try to understand my  drawings and cryptic explanations and write the parameters directly into the text file!



VERSION 2.85 (2018-12-31)
-------------------------------------------------------------------

Section 26. "Glue" vents is fully functional :)
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 paste the 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)

"Invisible" (but important) improvements in the source code. Creating new subroutines (extpoints, dpanelc, dpanelb, dpanelc1, dpanel2c, dpanelb1, dpanelb2) for printing the contours of the panels, and preparing the code to separate the panels in the options for 3D-shaping.



VERSION 2.81 (2018-12-24)
-------------------------------------------------------------------
Includes pre-processor version 1.5

Minor change in section 12.7.1 beacuse lines in fourth level not properly rotated in SK paragliders. Now OK.


VERSION 2.80 (2018-10-12)
-------------------------------------------------------------------

SECTIONS 27 and 28 now fully functional!!!

SECTION 27: It is used for defining wingtips with special shapes.
(See figures).

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

If section set to "0" nothing happens. Most wings can be designed with this parameter set to zero. But if set to "1" complete section with two parameters:

*******************************************************
*       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 you 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.


SECTION 28:

Remenber the structure:

*******************************************************
*       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

Results:

1) In output file SECTION 7: lep-out.txt

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.

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

(See figures for better understanding)


2) Program draw a graphic in the dxf plan 2-1: Calage variations % using the speed system (cm) or trim system (cm)


VERSION 2.78 (2018-10-06)
--------------------------------------------------------------------

It is absolutely necessary upgrade to 2.78
In versions 2.77 and 2.75 I added some errors (!), Now solved:
- "Roman" numbers on the intrados trailing edge, again well aligned
-  Red circles that mark anchor brake points are drawn again

Remenber put section 28 as described below in version 2.77.
(section 28 as defined in 2.75 no longer works)


VERSION 2.77 (2018-09-02)
------------------------------------------------------------------------

Bug correction in marks for ribs Type 5 

CHANGE IN SECTION 26 Set by default to:

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

Explanation:

Calage type "1" (first line)
"3" risers to be considered
A=10.%  B=30.35%  C=60% D=  E= F=
Speed angle set to -4º and compute in 4 steps
Trim angle set to 5º and compute in 10 steps


SECTION 27 ESPECIAL WING TIP
Set to "0"

IMPROVEMENTS INTRODUCED IN 2.75 VERSION "Baldiri" (2018-06-17 experimental)
----------------------------------------------------------------------

- Expanded data file structure (new sections). Read manual carefully.

- Many of the new sections are still not functional. This version is experimental. I hope to activate soon.

- Functional new sections:  19 (partial), 20 (partial), 24 (OK), 25 (OK), 30 (OK)

- The unidimesional points, used for marking, now are small circles to which it is possible to modify the diameter. Soon I will activate more functions and return to the unidimensional points at will (section 20). Sorry, I have to add graphics and explanations to understand how section 20 works.

- Added code in section 12.7.1 "Gir cordes en quart nivell"
Correction of Pampa parameters if ss paraglider has 4 levels,
by Ludovic G. (France). 

- Modified algorithm to rotate triangles, according to proposed code by Ludovic G.

- Equidistant points not correctlly positioned in ribs Type-5 with airfoil (version 2.60).
Detected by Scott, tanks! Bug correction in section 16.3.2.2  "Detect first 9 and last 11 (rib i+1)" "Calcule te-11". Index error in definition of vector rib(i,105). Was "1" instead of "i"! Solved. Now works fine! Thanks for observation.

- Expanded the maximum number of points for the profiles from 300 to 500. According to a proposal from David G. of Switzerland.

- Now is possible switch between one-dimensional points and small circles. Mark control extended (Section 20).

- Some problems are detected to run the code in Windows, by friends located in Poland and Crimea... I try to solve. It is necessary to use the most appropriate cygwin1.dll file on your computer. Or install a cygwin console. Or try to compile the code directly. Compiler Fort77 works well in my tests. I also provide the source code translated into c, using f2c (compile using gcc compiler).




Especial thanks to Scott Roberts and Fluid Wings for supporting the new versions 2016 of the program

IMPROVEMENTS INTRODUCED IN 2.60 VERSION "Les Escaules" (2016-12-12)
---------------------------------------------------------------------

1) Corrected some problems using an even number of cells

When we define paragliders using an even number of cells, the central profile has a coordinate x = 0.0 along span, and program use internally a "virtual centrall cell" with a zero thickness. 

This can cause some numerical errors when calculating angles or divisions by zero. The result is usually an unreadable DXF file. Now, if the central profile located at x = 0.0, the program adds internally +0.01 cm (a tenth of a millimeter) and it seems that there are no numerical errors. [Section 4.2 in source code file .f].

2) Lines labels

The labels of the lines now automatically written on the schematic drawing in the form of tree. This prevents errors, and had to The labels of the lines now automatically written on the schematic drawing in the form of tree. This prevents errors, and had to draw them manually.draw them manually. :) 

3) Added more geometric parameters in lep-out.txt report



LEparagliding 2.52++ version "Utah" (2016-08-27)
------------------------------------------------

1) Added new option in V-ribs "type-3", at request from Yuri.

Diagonal rib type 3, indicated by 10 numbers.
Previously, the columns 9 and 10, were not used. And set to "0".
Now (in version 2.52++ and following), if the column 9 is set to "1", this means that the radius 
defined in columns 7 "r-" and 8 "r+" , are now defined in % of the chord of the profile, not in cm.

This allows definition of the diagonals widths automatically, and proportional to the profile chord.
Thus, it is achieved a perfect match in the widths of the contiguous diagonals and chord proportionality.

2) Internal fortran subroutine "vredis" (vector redistribution) improved, because in some cases 
(when used very small widths in V-ribs) were errors in the forms of V-ribs. Now fixed.

3) Version 2.52++ packs version 1.4 of the pre-processor.


LEparagliding 2.52 version "Utah" (2016-08-18)
----------------------------------------------

Added new option. Set automatic washin angles from center airfoil to wingtip.
At request from Yuri (Crimea).
How to use: Below line 21 in leparagliding.txt data file:

* Alpha max and parameter
3.5   2  -1.0

- First number "3.5" is the angle of attack (degres) in wingtip airfoil
- Second number "2" is a control parameter that means case "2", ie, add new number indicating the angle of attack of the central airfoil
- Third number "-1.0" is the angle of attack (degres) of the central airfoil

The distribution angles of attack is made proportional to the wing chord (similar to case "1"). See "lep-out.txt" to view the result.

LEparagliding 2.51 version "Utah" (2016-06-05)
----------------------------------------------
WARNING: Update 2.50 to 2.51 beacuse version 2.50 may done some errors in the lines list (!)


LEparagliding 2.50 version "Utah" (2016-05-09)
----------------------------------------------

- MIDDLE UNLOADED RIBS: Added the possibility of using "middle unloaded ribs". Very easy to use: In section "2. AIRFOILS" at the last column use the parameter "100", means to place a complete unloaded rib in the middle of the panel, and the left corresponding rib. Similarly, as defined in the mini-ribs. But the parameter "100" activates a new specific programation. New plan numbered "1-6" with the new middle ribs numbered and marked. These ribs have been reformatted to achieve a perfect match with high precision, with the corresponding panels. In the center of the panels, are marked equidistant points in correspondence with the middle unloaded ribs. In addition, in the 2D-planform (plan "1-1"), also drawn in gray new ribs. Planned to draw in 3D (for reference) but not yet done. Important: To define holes in the ribs (elliptical or circles), add in section "4. AIRFOIL HOLES" a new hole type "11" that is defined exactly as the type "1" (hole type "1" and type "11" are exactly the same but the type "11" used exclusively by the middle unloaded ribs). In this case the initial rib number and end rib number with holes type "11" should be the same, and greater than the maximum number of ribs on one side, for example, use "50" . See the attached example "leparagliding.txt". All new programation in section 9.9 of the source code.

- "Mini-ribs" are redefined, and now in section "2. AIRFOILS" at the last column, if you use the parameter "15", means to place a 15% mini-rib in the middle of the panel, and at the LEFT of the corresponding rib. Previously, mini-rib it was placed on the RIGHT. But it is better set at the left, so you can specify a minirib the center of the wing (Mini-rib specified in the left first rib). And this is consistent with the new middle unloaded ribs.

- Applied little optional displacement (to the center of the wing) in the points marking the position of the miniribs. Third parameter in the line of section "7. MARKS" of the datafile. Before, this displacement was set to default to zero. 

- All 2D-plans renamed whit the notation "i-j" that means row "i" and column "j".

- (!) CRITICAL ERROR found :( and solved :) when using V-ribs "Type 3" and wing scale different from 1.0. Solved. Caution! because V-ribs "Type 3", defined in earlier versions may be incorrect.

- A strange line, which appeared in the wingtip rib if zero thickness airfoil and wing type "pc" erased! :)

- Please, see and test attached 2.50 example.




LEparagliding 2.49 version "Utah" (2016-04-24)
----------------------------------------------

- V-rib type 6 is fully functional. Type 6 is a general diagonal. It's very simple. A trapezoidal diagonal ranging from rib number i to rib number i+1. But the rib is totally configurable in size and position. It has been designed to develop competition paragliders CCC types, which need to jump between 4 and 5 cells without lines. But it can also serve to design simplest paragliders, and replacing some of the types of diagonals described above. It is also very useful to define transverse horizontal strips located in all parts of the wing (the tapes have not necessarily coincide  with the anchor points).

- In final report lep-out.txt, area and span, calculated also in ft2 and ft

- Improved location of decimal numbering of all V-ribs types.

- Read section 10 of the manual: (...) "i11" indicates rib number "i", where anchor the top line of the brakes. This number, usually an integer. Nevertheless, some versions ago was added an interesting and not documented feature. Is possible define a decimal which means the displacement of the anchoring point between the rib "i" and the rib and "i+1". For example, 8.4 means anchor the line in the trailing edge, between rib 8 and 9, and 40% from the rib 8. This effect is now visible in 2D and 3D


LEparagliding 2.48 version "Utah" (2016-04-17)
----------------------------------------------

- Internal Fortran code now using DOUBLE PRECISION real variables (real*8), double precision trigonometric functions: dcos, dsin, dtan,datan, dasin, dacos,...
- High accuracy implemented in extrados and intrados panels, including reformatting whith corrections in lenghts and distorsions (full report in the last section of lep-out.txt). 
- Lengths differences between ribs and panels < 0.02 mm, and distorsions in leading edge < 0.1 mm :) )
- Closed cells new graphical representation in 2D and 3D, using grey line
- New version of pre-procesor (1.3) allows define wings using odd or even number of cells


LEparagliding 2.47 version "Utah" (2016-03-28)
----------------------------------------------

- High accuracy: In last row of the section 5. SKIN TENSION, of the main data file leparagliding.txt, now is possible set the following parameters to achieve high accuracy: 
1000   1.0  
First number "1000" (integer) is only a convention than signifies force the program to use maximal precision, reformating panels to achieve accuraccy better than 0.1 mm (lengths differences beetween rib and panels at lesft and right).
Second number is a coefficient (real) between 0.0 and 1.0 that sets the intensity of the correction. If coefficient is set to "0.0" then is no correction. If the coefficient is set to "1.0" the accuracy is maximal, aprox < 0.1 mm.
In version 2.47 maximal accuracy still not implemented in intrados panels, but very easy to implement.

- If first parameter is set to integer < 1000 (tipically 15 or 20) then program uses the old "anticorrection" method, for reformatting inner side of the right side of extrados panels. It is not recommended (old feauture). But now is possible use xndif=0.0 (not correction).

- Leading edge shape of the last panels is improved (fixed an error in the calculation of angles). Now it is not necessari to correct manually! :)

- Calculus of center of gravity planform, cdgx, is corrected (code error), thanks to Larry (WY), for detect it reading the code.

- Resolved graphical inconsistencies when drawing open or closed cells found in 2D drawings, and in 3D model, found by Larry (WY), and now solved

- WARNING: In this version, is changed the meaning and interpretation of the boolean coefficients ("0" and "1"), used to define open or closed cells (in .txt data file SECTION 2, fifth column). In versions prior to 2.46 "1" means open cell next to the rib "i" and towards the wing tip. A the 2.46 version, open cell "1" or closed "0" are defined toward the center of the wing. It is very easy and practical to do a test, and see the result. This change allows to define the central cell and resolves some inconsistencies in the previous definition.

- Output file "lep-out.txt" improved with more clear and detailed information

- Brake lines moved to plan number 19, next the lines list.

- Lines "B" changed color from "yellow" (2) to "orange" (30), better for print

- Internal code: cleaned up some unused variables

- New GNU/Linux versions compiled using fort77 in Debian 8.3 "Jessie"

- Window versions compiled in 32-bit system, is verified that also work in 64-bit

- Versions not stopped. Working hard in more improvements...


Improvements version 2.41 "Omsk" (2015-09-19):
------------------------------------------------

- Attachements points marks in intrados panels
- Increased number of ribs with color marks, from 20 to 100 (per side)
- Now possible draw color marks also in intrados panels
- Now is possible define and draw trailing edge "miniribs" ("minicabs") in non "ss" paragliders: Simpli define minirib length (in %) in column number 8 of section "2. AIRFOILS". If column 8 values are "0" or "1", miniribs are not draw and these values used only in "ss" paragliders, according manual.

Improvements version 2.40 (2015-09-04) over version 2.35

- Equilibrium grafic calculus, now is OK (bug fixed, thanks to Yuri!)
- Equidistance beetwen points in rib intrados now OK (bug fixed, thnaks to Scott)
- V-ribs "type 3" now possible
- V-ribs "type 5" new type "full continous diagonal rib" includes parabolic and elliptical holes (very especial thanks to Scott for supporting leparagliding developement)
- In lep-out.txt output file added summary of ribs and panel lenghts differences

Preprocessor 1.2 version "Gurzuf"

- More info written in the output file (area, span)
