first commit
This commit is contained in:
commit
205faf4224
5471 changed files with 973850 additions and 0 deletions
151
config/Typora/draftsRecover/2026-4-21 README_v2 110657.md
Normal file
151
config/Typora/draftsRecover/2026-4-21 README_v2 110657.md
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
# Wind turbine gearbox simulator
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
|
||||
Wind turbine gearbox simulator is a matlab/octave simulator for a lumped parameters mechanical model of wind turbine gearbox. It implements varying wind profile, defects, varying gear mesh, and compute numerically the dynamical behaviour of the system using a Newmark's scheme.
|
||||
|
||||
## Dependencies
|
||||
**Development language:** Octave 11.1.0
|
||||
|
||||
**Compatibility:** Matlab v2026-a (delete all `graphics_toolkit("gnuplot")` mentions in the code)
|
||||
|
||||
**Plot engine:** Gnuplot 6.0 patchlevel 4
|
||||
|
||||
## Usage
|
||||
```bash
|
||||
$ git clone https://gitlab.com/afoucaultc/wind_turbine_gearbox
|
||||
$ cd wind_turbine_gearbox
|
||||
$ octave
|
||||
$ octave:1> run main.m
|
||||
$ # or run any standalone (starting by a "_")
|
||||
$ octave:1> >>> run _[standalone].m
|
||||
```
|
||||
|
||||
## File tree
|
||||
```bash
|
||||
: '
|
||||
Main process takes the main parameters and compute the
|
||||
whole process of calculations. It prints every figure
|
||||
into .svg files, into folder print/run_print/. The
|
||||
number of periods to calculate are asked as input when
|
||||
the code is started.
|
||||
"class_" are static functions used to calculate and plot
|
||||
see in-code comments for more informations
|
||||
'
|
||||
## Main process
|
||||
├── main.m
|
||||
├── main_parameters.m
|
||||
├── run_main.m
|
||||
│ └── _convergence.m
|
||||
├── run_display.m
|
||||
│ └── class_display.m
|
||||
└── run_print.m
|
||||
: '
|
||||
Standalone files are files that do a single specific task
|
||||
that cannot be done by the main process. These starts by
|
||||
a "_" and can be ran using ">>> run _file.m"
|
||||
- _init_speed.m calculates the optimal initial speed to
|
||||
avoid the transitionnal regime.
|
||||
- _rms-analysis.m gives a .csv (in /data) containing the
|
||||
RMS, STD and Kurtosis for different defects conditions
|
||||
- _animation.m is showing a visual animation of the diff-
|
||||
-erent shaft rotations and vibrations
|
||||
- _gear-mesh-var.m plots the difference of mesh stiffness
|
||||
between different center distance error values
|
||||
- _convergence.m plots the convergence between a high
|
||||
sample rate and other sample rates to determine which
|
||||
one to choose for minimal numerical error and comput-
|
||||
-ational
|
||||
time
|
||||
'
|
||||
## Standalone functions
|
||||
├── _init_speed.m
|
||||
├── _rms-analysis.m
|
||||
├── _animation.m
|
||||
├── _gear-mesh-var.m
|
||||
└── _convergence.m
|
||||
: '
|
||||
Rendering folders stores the .csv datasheet and .svg plots
|
||||
'
|
||||
## Rendering folders
|
||||
├── data
|
||||
│ └── rms.csv
|
||||
└── print
|
||||
├── _convergence
|
||||
├── _gear-mesh-var
|
||||
└── run_print
|
||||
|
||||
## Others
|
||||
├── octave-workspace
|
||||
└── README.md
|
||||
```
|
||||
## Model
|
||||

|
||||
|
||||
As showed on the image, the model is based on 2 shaft with 4DDL each ($x$, $y$, input and output $\theta$), as a lumped parameters model. The parameters are listed as a $q$ vector :
|
||||
$$
|
||||
\{q\} = \{x_1, y_1,\theta _{11},\theta_{12},x_2,y_2,\theta_{22},\theta_{21}\}
|
||||
$$
|
||||
|
||||
### Equations of movement
|
||||
|
||||
The equations of movement are given by the Lagrange formulation, using the kinetic and potential energies.
|
||||
$$
|
||||
\left[\frac{\partial E_p}{\partial q_i}\right]
|
||||
+ \left[\frac{d}{dt}\left(\frac{\partial E_k}{\partial\dot{q}_i}\right)\right]
|
||||
= \frac{\partial W}{\partial q_i}
|
||||
\label{eq:reformlagrange}
|
||||
\\
|
||||
E_k = \frac{1}{2}
|
||||
\left(
|
||||
m_1{\dot{x}_1}^2+
|
||||
m_1{\dot{y}_1}^2+
|
||||
I_{11}{\dot{\theta}_{11}}^2+
|
||||
I_{12}{\dot{\theta}_{12}}^2+
|
||||
m_2{\dot{x}_2}^2+
|
||||
m_2{\dot{y}_2}^2+
|
||||
I_{22}{\dot{\theta}_{22}}^2+
|
||||
I_{21}{\dot{\theta}_{21}}^2
|
||||
\right)
|
||||
\\
|
||||
E_p = \frac{1}{2}
|
||||
\left(
|
||||
k_{x_1}{x_{1}}^2+
|
||||
k_{y_1}{y_{1}}^2+
|
||||
k_{\theta_1}(\theta_{11}-\theta_{12})^2+
|
||||
k_{x_2}{x_{2}}^2+
|
||||
k_{y_2}{y_{2}}^2+
|
||||
k_{\theta_2}(\theta_{21}-\theta_{22})^2+
|
||||
K_e(t){\delta}^2
|
||||
\right)
|
||||
$$
|
||||
|
||||
|
||||
|
||||
The derivative of these equations is taken to directly get the movement, using:
|
||||
$$
|
||||
\frac{\partial E_p}{\partial q_i}+\frac{d}{dt}\left(\frac{\partial E_k}{\partial \dot{q}_i} \right) = F_i(t)
|
||||
$$
|
||||
|
||||
The different terms ($k$ and $m$) are regrouped into matrices, to give the following system:
|
||||
$$
|
||||
\left[M\right]\{\ddot{q}\} + \left(\left[K_{mesh}\right](t)+\left[K_{cst}\right]\right) \{q\} = \left\{F(t)\right\}
|
||||
$$
|
||||
Where $K_{cst}$ represents the constant terms $k_{i_j}$ and $K_{mesh}$ the terms related to the gear mesh stiffness $K_e(t)$.
|
||||
|
||||
### Mesh stiffness
|
||||
|
||||
|
||||
|
||||
### Forces
|
||||
|
||||
|
||||
|
||||
## Development machine specification
|
||||
|
||||
Hardware: Thinkpad E560, CPU Intel(R) Core(TM) i5-6200U(4)@2.8GHz, 3.70GiB RAM
|
||||
OS: Arch Linux 6.19.12
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue