Skip to content

Commit 9569c8c

Browse files
committed
Merge branch 'main' into feat/moment
2 parents f50213c + 357c864 commit 9569c8c

File tree

6 files changed

+57
-14
lines changed

6 files changed

+57
-14
lines changed

NEWS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
This project is based on version 1.0 of the Python project [Vortex-Step-Method](https://github.com/ocayon/Vortex-Step-Method)
33

44
## Noteworthy Differences
5-
- implemented in Julia, therefore about 20 times faster
5+
- implemented in Julia, therefore about 50 times faster
66
- an importer for `.obj` wing geometry files was added (see: [#10](https://github.com/Albatross-Kite-Transport/VortexStepMethod.jl/issues/10))
77
- automatic creation of polars using Xfoil.jl was added (see: [#43](https://github.com/Albatross-Kite-Transport/VortexStepMethod.jl/pull/43))
88
- a ram-air kite example was added

Project.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "VortexStepMethod"
22
uuid = "ed3cd733-9f0f-46a9-93e0-89b8d4998dd9"
33
authors = ["1-Bart-1 <[email protected]>"]
4-
version = "0.1.2"
4+
version = "1.0.0"
55

66
[deps]
77
Colors = "5ae59095-9a9b-59fe-a467-6f913c188581"
@@ -31,6 +31,7 @@ NonlinearSolve = "4"
3131
StaticArrays = "1"
3232
Statistics = "1"
3333
Timers = "0.1"
34+
julia = "1.10, 1.11"
3435

3536
[extras]
3637
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,12 @@ To browse the code, it is suggested to use [VSCode](https://code.visualstudio.co
7171
Three kinds of input data is needed:
7272

7373
- The wing geometry, defined by section:
74-
- rec wing two section, two point + polars
75-
- kite: model of polars included, n sections to define
74+
- for the rectangualar wing two sections, two points in CAD reference frame + polars
75+
(three different options to provide them) per section
76+
- kite wing: model of polars included, n sections to define
7677

77-
- The airflow:
78-
- v_app vector
78+
- The airflow and turn rate:
79+
- `v_app` vector and `omega` (turn rate) vector in Kite Body (KB) reference frame
7980

8081
- The configuration:
8182
- how many panels
@@ -90,7 +91,7 @@ Apart from the wing geometry there is no input file yet, the input has to be def
9091
n_panels = 20 # Number of panels
9192
span = 20.0 # Wing span [m]
9293
chord = 1.0 # Chord length [m]
93-
v_a = 20.0 # Magnitude of inflow velocity [m/s]
94+
v_a = 20.0 # Magnitude of inflow velocity [m/s]
9495
density = 1.225 # Air density [kg/m³]
9596
alpha_deg = 30.0 # Angle of attack [degrees]
9697
alpha = deg2rad(alpha_deg)

docs/make.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ makedocs(;
2020
"How it works" => "explanation.md",
2121
"Exported Functions" => "functions.md",
2222
"Exported Types" => "types.md",
23+
"Reference Frames" => "reference_frames.md"
2324
],
2425
)
2526

docs/src/index.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ if you haven't already. On Linux, make sure that Python3, Matplotlib and LaTeX a
1919
sudo apt install python3-matplotlib
2020
sudo apt install texlive-full texlive-fonts-extra cm-super
2121
```
22+
Furthermore, the package `TestEnv` must be installed globally:
23+
```
24+
julia -e 'using Pkg; Pkg.add("TestEnv")'
25+
```
2226

2327
Before installing this software it is suggested to create a new project, for example like this:
2428
```bash
@@ -68,11 +72,12 @@ To browse the code, it is suggested to use [VSCode](https://code.visualstudio.co
6872
Three kinds of input data is needed:
6973

7074
- The wing geometry, defined by section:
71-
- rec wing two section, two point + polars
72-
- kite: model of polars included, n sections to define
75+
- for the rectangualar wing two sections, two points in CAD reference frame + polars
76+
(three different options to provide them) per section
77+
- kite wing: model of polars included, n sections to define
7378

74-
- The airflow:
75-
- v_app vector
79+
- The airflow and turn rate:
80+
- `v_app` vector and `omega` (turn rate) vector in Kite Body (KB) reference frame
7681

7782
- The configuration:
7883
- how many panels
@@ -87,7 +92,7 @@ Apart from the wing geometry there is no input file yet, the input has to be def
8792
n_panels = 20 # Number of panels
8893
span = 20.0 # Wing span [m]
8994
chord = 1.0 # Chord length [m]
90-
v_a = 20.0 # Magnitude of inflow velocity [m/s]
95+
v_a = 20.0 # Magnitude of inflow velocity [m/s]
9196
density = 1.225 # Air density [kg/m³]
9297
alpha_deg = 30.0 # Angle of attack [degrees]
9398
alpha = deg2rad(alpha_deg)
@@ -99,11 +104,11 @@ wing = Wing(n_panels, spanwise_panel_distribution="linear")
99104
add_section!(wing,
100105
[0.0, span/2, 0.0], # Left tip LE
101106
[chord, span/2, 0.0], # Left tip TE
102-
"inviscid")
107+
:inviscid)
103108
add_section!(wing,
104109
[0.0, -span/2, 0.0], # Right tip LE
105110
[chord, -span/2, 0.0], # Right tip TE
106-
"inviscid")
111+
:inviscid)
107112

108113
# Step 3: Initialize aerodynamics
109114
wa = BodyAerodynamics([wing])

docs/src/reference_frames.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
## Reference Frames
2+
3+
### Introduction
4+
Reference frames are needed for following purposes:
5+
- for creating a CAD model of the wing (or the wings)
6+
- for defining the apparent wind speed vector $v_a$
7+
- for calculating the lift and drag and side force coefficients
8+
- for calculating the resulting forces and moments
9+
10+
### CAD reference frame (CAD)
11+
A geometric model is always created using the CAD reference frame.
12+
It can have any origin (with respect to the kite), but usually either the center of gravity of the body or the bridle point/ Kite Control Unit is used.
13+
14+
- Y defined spanwise, looking at the kite from the front (so seeing the LE first) the front left is positive.
15+
- X is defined chord wise, from LE to TE, positive.
16+
- Z is defined as positive upwards.
17+
18+
### Kite Body reference frame (KB)
19+
This is a body-fixed reference frame.
20+
- Y defined spanwise, looking at the kite from the front (so seeing the LE first) the front left is positive.
21+
- X is defined chord wise, from LE to TE, positive.
22+
- Z is defined as the cross product of Y and X
23+
24+
The origin of the kite reference frame can be defined by the user by calling the function `init_kb(origin::MVec3)` where the origin must be defined in the `CAD` reference frame.
25+
26+
This reference frame is different from the kite reference frame **K** used in `KiteModels.jl` and `KiteUtils.jl`.
27+
28+
## The turn rates
29+
The turn rates $\mathrm{omega} = [\mathrm{omega_x}, \mathrm{omega_y} ,\mathrm{omega_z}]$ are defined in the **KB** reference frame. The unit of the components is $\mathrm{rad}~\mathrm{s^{-1}}$.
30+
31+
## Input and output
32+
- when running a simulation, the turnrate of the kite must be provided on each time step
33+
- the apparent wind speed vector `v_a` is defined in the **KB** reference frame
34+
- the resulting forces are defined in the **KB** reference frame
35+
- the **CL**, **CD**, **CS** and the resulting moments and moment coefficients are defined in the **KB** reference frame

0 commit comments

Comments
 (0)