# 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 ```