1
Fork 0
internship/olaflow/README.md

132 lines
4.0 KiB
Markdown

# Olaflow
Ce dossier regroupe l'ensemble des scripts nécessaires à l'éxécution du modèle Olaflow ainsi qu'au post-traitement des
données.
## Scripts
### Run Olaflow
`run_ola.sh` permet de lancer les scripts Python et openfoam nécessaires au bon lancement du modèle Olaflow.
```./run_ola.sh CASE```
* `CASE` : choix du modèle Olaflow à utiliser
Le cas de base utilisé est dans le dossier `of`. Les fichiers modifiés sont dans le dossier `of_$CASE`. Les sorties
sont dans `out_of_$CASE` puis `out_post_$CASE`.
### Animate
`animate.py` permet d'obtenir une animation de `alpha.water` et `U` en sortie du modèle Olaflow.
```python -m processing.animate -o OUTPUT [-v] [-m] [-i]```
* `-o OUTPUT` : choix du dossier de sortie dans lequel travailler
* `-v` : verbose
* `-m` : au-lieu d'une animation, tracer le maximum de chaque grandeur dans le modèle
* `-i` : au-lieu d'une animation, tracer la valeur initiale de chaque grandeur
### Bathy
`bathy.py` permet de générer la bathymétrie utilisée par Olaflow.
```python -m processing.bathy [-c CONFIG] [-v]```
* `-c CONFIG` : choix d'un fichier de configuration
* `-v` : verbose
```
[bathy]
bathy : bathymétrie générée dans data
hstru : hauteur de poreux générée dans data
scale* : échelle de la bathymétrie en [x,y,z]
translate* : translation de la bathymétrie en [x,y,z]
out : dossier de sortie de la bathymétrie
```
### Diff
`diff.py` permet de comparer les sorties de plusieurs modèles Olaflow.
```python -m processing.diff -o OUTPUT ... [-t TIMESTEP] [-f FUNCTION] [-y FIELD]```
* `-o OUTPUT` : dossier des sorties de Olaflow à utiliser (répéter pour les modèles à comparer)
* `-t TIMESTEP` : instant auquel comparer les modèles
* `-f FUNCTION` : fonction de post-traitement à comparer (`graphUniform` ou `graphUniform2`)
* `-y FIELD` : champs à comparer (`alpha.water` ou `U`)
### Flow velocity
`flow_velocity.py` permet de tracer la vitesse du courant pour un post-traitement du modèle Olaflow.
```python -m processing.flow_velocity -o OUTPUT [-f FUNCTION]```
* `-o OUTPUT` : dossier des sorties de Olaflow à utiliser
* `-f FUNCTION` : fonction de post-traitement à comparer (`graphUniform` ou `graphUniform2`)
### Olaflow
`olaflow.py` définit la classe Python OFModel permettant de traiter les données de sortie de Olaflow.
### Pickle
`pickle.py` permet de lire les données de sortie d'un modèle Olaflow et de les convertir en objet `OFModel`, puis
d'enregistrer cet objet pour une utilisation efficace avec Python.
```python -m processing.pickle -i INPUT -o OUTPUT [-z]```
* `-i INPUT` : dossier de sortie d'Olaflow
* `-o OUTPUT` : dossier de sortie à utiliser
* `-z` : activer la compression gzip (déconseillé)
### STL
`stl.py` définit une fonction permettant de convertir un tableau de bathymétrie en fichier STL. Nécessite Openscad.
### SWS Olaflow
`sws_ola.py` permet de convertir les données de sortie d'un modèle Swash en condition initiale d'un modèle Olaflow.
```python -m processing.sws_ola -o OUTPUT [-c CONFIG]```
* `-o OUTPUT` : dossier de sortie à utiliser
* `-c CONFIG` : choix d'un fichier de configuration
```
[swash]
np_out : dossier de sortie swash
[bathy]
level : niveau d'eau dans SWASH
[olaflow]
t0 : instant initial du modèle Olaflow
```
### SWS Wavedict Irregular
`sws_wavedict_irregular.py` est une tentative de convertir les données de sortie d'un modèle SWASH en condition limite
irrégulière de spectre d'un modèle Olaflow. Ne fonctionne pas.
### SWS Wavedict Paddle
`sws_wavedict_paddle.py` permet de convertir les données de sortie d'un modèle SWASH en condition limite en hauteur
d'eau et vitesse d'un modèle Olaflow.
```python -m processing.sws_wavedict_paddle -o OUTPUT [-c CONFIG]```
* `-o OUTPUT` : dossier de sortie à utiliser
* `-c CONFIG` : choix d'un fichier de configuration
```
[swash]
np_out : dossier de sortie swash
[bathy]
level : niveau d'eau dans SWASH
[olaflow]
t0 : instant initial du modèle Olaflow
tf : instant final du modèle Olaflow
x0 : position de la limite du modèle Olaflow
```