Openfast: Besoin d'un script pour convertir de FAST v8.16 en fichiers d'entrée OpenFAST v1.0

Créé le 27 oct. 2017  ·  12Commentaires  ·  Source: OpenFAST/openfast

Historiquement, NREL prenait en charge une boîte à outils MATLAB (https://github.com/OpenFAST/matlab-toolbox) qui pouvait être utilisée pour convertir les fichiers d'entrée FAST d'une version à une autre afin d'aider les utilisateurs à mettre à niveau leurs modèles lors de la mise à niveau des versions FAST. Cependant, cette boîte à outils n'a pas encore été mise à jour (ou un script équivalent fourni à sa place) pour prendre en charge la conversion des fichiers d'entrée du format FAST v8.16 au format OpenFAST v1.0. Le format d'OpenFAST v1.0 n'est pas trop différent de celui de FAST v8.16 (sans une seule modification mineure du fichier d'entrée principal FAST et plusieurs ajouts au fichier d'entrée principal d'AeroDyn), mais ces différences augmenteront avec le temps, donc , le script doit être continuellement mis à jour avec OpenFAST.

De plus, tous les exemples de fichiers d'entrée OpenFAST dans les tests de régression incluent toujours des numéros de version basés sur l'ancienne convention de numérotation spécifique au module. Maintenant que la convention de numérotation des versions a changé dans OpenFAST, les numéros de version dans les exemples de fichiers d'entrée doivent être mis à jour en conséquence.

Help wanted Enhancement

Tous les 12 commentaires

salut
Je suis assez nouveau sur OpenFAST.
J'ai téléchargé le code source et l'ai compilé sur Windows en utilisant le studio parallèle et le studio visuel. J'ai suivi les méthodes et les questions posées ici et là et j'ai réussi à obtenir la fonction S et j'ai ces fichiers maintenant et je peux exécuter la fonction S sur des fichiers de test avec succès.
Le modèle sur lequel je travaille est un modèle Simulink qui fonctionne avec FAST (v8.16.00a-bjj, 27-Jul-2016). J'ai lu ce sujet et j'ai essayé de travailler avec les différents outils de conversion sans succès. J'espérais que vous puissiez mieux me guider sur la façon de procéder à la conversion, s'il vous plaît ?

Salut @arminzaribaf ,

@bjonkman a téléchargé une mise à jour des anciens scripts de conversion basés sur MATLAB pris en charge avec FAST v8 ci-dessus, mais ces scripts ne sont pas disponibles pour chaque version d'OpenFAST (d'où la raison pour laquelle ce problème est toujours ouvert).

Quoi qu'il en soit, les modifications du fichier d'entrée avec chaque version d'OpenFAST (à partir de FAST v8.16) sont bien documentées ici : https://openfast.readthedocs.io/en/master/source/user/api_change.html.

Meilleures salutations,

@arminzaribaf , vous devriez pouvoir utiliser https://github.com/OpenFAST/matlab-toolbox/blob/master/ConvertFASTversions/ConvertFAST8_16to17.m pour convertir de FAST 8.16 à la version actuelle (maître ?) d'OpenFAST.

Si vous souhaitez convertir vers la dernière version de développement d'OpenFAST, je vous recommande d'utiliser les fichiers de mon fork : https://github.com/bjonkman/matlab-toolbox/blob/master/ConvertFASTversions/ConvertFAST8_16to17.m

Lorsque je mets à jour les fichiers d'entrée r-test pour une nouvelle version d'OpenFAST, j'exécute ce script qui appelle le script ConvertFAST8_16to17.m : https://github.com/OpenFAST/r-test/blob/master/updateInputFiles .m

Je vous remercie tous les deux pour la réponse très rapide :-)

@jjonkman Merci pour ce lien, j'ai parcouru la documentation plusieurs fois, et à chaque fois quelque chose de nouveau j'apprends.

@bjonkman Depuis que j'utilise la dernière version dev, j'ai utilisé votre fork et j'ai converti avec succès (?) Après quelques essais et erreurs, je suppose, voici le résultat que j'obtiens et je reçois quelques avertissements qui pourraient affecter le prochain étape:
AVERTISSEMENT : ExctnMod introuvable dans la structure de données HD. La valeur par défaut répertoriée ci-dessous (à partir du fichier modèle, ..\matlab\TemplateFiles\HydroDyn.dat) sera utilisée à la place :
1

AVERTISSEMENT : BldGagNd introuvable dans la structure de données FAST. La valeur par défaut répertoriée ci-dessous (à partir du fichier modèle, ..\matlab\TemplateFiles\ElastoDyn_Primary.dat) sera utilisée à la place :
2 3

GetFASTPar :: Paramètre RefHt_Uni introuvable.
Paramètre RefHt_Uni introuvable ; en l'ajoutant à la structure de données.
Paramètre RefHt_Hawc introuvable ; en l'ajoutant à la structure de données.
Paramètre PLExp_Hawc introuvable ; en l'ajoutant à la structure de données.
Paramètre Filename_BTS introuvable ; en l'ajoutant à la structure de données.
AVERTISSEMENT : PropagationDir introuvable dans la structure de données FAST. La valeur par défaut répertoriée ci-dessous (à partir du fichier modèle, ..\matlab\TemplateFiles\InflowWind.dat) sera utilisée à la place :
0

AVERTISSEMENT : VFlowAng introuvable dans la structure de données FAST. La valeur par défaut répertoriée ci-dessous (à partir du fichier modèle, ..\matlab\TemplateFiles\InflowWind.dat) sera utilisée à la place :
0

ATTENTION : plusieurs occurrences de RefHt dans la structure de données FAST.
ATTENTION : plusieurs occurrences de PLExp dans la structure de données FAST.
ATTENTION : plusieurs occurrences de FileName dans la structure de données FAST.
AVERTISSEMENT : InitPosition(x) introuvable dans la structure de données FAST. La valeur par défaut répertoriée ci-dessous (à partir du fichier modèle, ..\matlab\TemplateFiles\InflowWind.dat) sera utilisée à la place :
0

AVERTISSEMENT : CalcSteady introuvable dans la structure de données FAST. La valeur par défaut répertoriée ci-dessous (à partir du fichier modèle, ..\matlab\TemplateFiles\OpenFAST.fst) sera utilisée à la place :
Faux
AVERTISSEMENT : TrimCase introuvable dans la structure de données FAST. La valeur par défaut répertoriée ci-dessous (à partir du fichier modèle, ..\matlab\TemplateFiles\OpenFAST.fst) sera utilisée à la place :
3

AVERTISSEMENT : TrimTol introuvable dans la structure de données FAST. La valeur par défaut répertoriée ci-dessous (à partir du fichier modèle, ..\matlab\TemplateFiles\OpenFAST.fst) sera utilisée à la place :
1.0000e-03

AVERTISSEMENT : TrimGain introuvable dans la structure de données FAST. La valeur par défaut répertoriée ci-dessous (à partir du fichier modèle, ..\matlab\TemplateFiles\OpenFAST.fst) sera utilisée à la place :
0,0100

AVERTISSEMENT : Twr_Kdmp introuvable dans la structure de données FAST. La valeur par défaut répertoriée ci-dessous (à partir du fichier modèle, ..\matlab\TemplateFiles\OpenFAST.fst) sera utilisée à la place :
0

AVERTISSEMENT : Bld_Kdmp introuvable dans la structure de données FAST. La valeur par défaut répertoriée ci-dessous (à partir du fichier modèle, ..\matlab\TemplateFiles\OpenFAST.fst) sera utilisée à la place :
0

5 fichiers sont créés dans le nouveau répertoire (fst, ED, Hydro, Inflow et Servo.) Je les remplace par ceux du répertoire principal et j'obtiens cette erreur dans la simulation :
OpenFAST-v2.4.0-sale
Informations sur la compilation :

  • Compilateur : Intel(R) Fortran Compiler 1910
  • Architecture : 64 bits
  • Précision : simple
  • Date : 06 novembre 2020
  • Heure : 13:21:51
    Informations sur l'exécution :
  • Date : 10/12/2020
  • Heure : 20:17:50+0100

Exécution d'ElastoDyn.
Section de sorties nodales du fichier d'entrée ElastoDyn introuvable ou mal formatée.
Exécution d'AeroDyn14.
Exécution d'InflowWind.

OpenFAST terminé.

Erreur signalée par la fonction S 'FAST_SFunc' dans 'Model05/System/S-Function' :
FAST_Init ializeAll:InflowWind_Init :InflowWind_ ReadInput: Entrée numérique
".\v05InflowFile.dat" s'est produit lors de la tentative de lecture de HWindSpeed.

Dans Inflow de type 2, le vent est utilisé avec un fichier d'entrée, j'ai vérifié le format et il semble correct de le comparer avec "ECD_00PR.wnd" dans r-test. et voici la section des paramètres dans InFlowFile
================== Paramètres du fichier de vent uniforme [utilisé uniquement pour WindType = 2] ==================== ==========
"16d0.wnd" FileName - Nom de fichier des données de séries temporelles pour un champ de vent uniforme. (-)
129 RefHt_Uni - Hauteur de référence pour la vitesse horizontale du vent (m)
135.88 RefLength - Longueur de référence pour la cisaillement linéaire horizontal et vertical (-)

@arminzaribaf , il semble qu'il soit incapable de lire une valeur numérique à la ligne 13 ( HWindSpeed ). Même si cette valeur est ignorée par InflowWind avec le type de vent que vous avez spécifié, elle doit toujours contenir un nombre. Pouvez-vous confirmer que cette ligne est correctement définie ?

En outre, il indique que vous utilisez une version modifiée d'OpenFAST v2.4.0, mais si vous utilisiez réellement la dernière branche de développement, je m'attendrais à ce qu'elle ait des numéros de validation après cette version (et avant le "-dirty"). Donc, je suppose que vous avez probablement une ligne supplémentaire dans votre fichier d'entrée InflowWind (par exemple, supprimez la ligne 7 qui contient VFlowAng qui est nouveau dans la branche dev).

Si vous effectuez une mise à niveau vers la dernière branche de développement OpenFAST, vous pouvez également rencontrer des problèmes avec les noms de variables dans les fichiers d'entrée InflowWind. Une modification très récente nécessite désormais que les paramètres du fichier InflowWind soient nommés de manière spécifique, mais il semble que ces paramètres n'aient pas été mis à jour dans les fichiers de conversion matlab-toolbox (ou dans la documentation OpenFAST non plus).

@bjonkman Incroyable, la ligne 7 était le problème. HWindSpeed ​​a été défini et avant de publier, j'ai essayé de supprimer et de retaper le numéro pour s'assurer qu'il s'agit bien d'un numéro.
Après cela, j'ai rencontré un autre problème avec le fichier Hydro et après l'avoir vérifié, il n'y avait pas d'entrée à la fin, donc la fin était collée à \r\n. Je pense que cela a à voir avec la conversion où j'ai dû choisir la syntaxe à exécuter en fonction du système d'exploitation.
J'ai cloné et compilé il y a environ un mois, c'est peut-être pour cela que ce n'est pas la dernière version. Quand je mettrai à niveau, je le garderai à l'esprit.
Merci beaucoup pour votre aide.

Je signale simplement ce que j'ai modifié après la mise à jour et la compilation vers la dernière version (OpenFAST-v2.4.0-111-g4b5559fb-dirty)

J'ai ajouté la ligne arrière 7 à l'entrée InflowWind ( VFlowAng ),
à la ligne 17 changé FileName en FileName_Uni,
et il attendait SumPrint à la ligne 51, j'ai donc supprimé la ligne "==OUTPUT==" et cela a fonctionné sans problème, donnant les mêmes résultats.
Je n'ai qu'un nouvel avertissement :

FAST_InitializeAll : IfW_ Init : IfW_UniformWind_Init : Impossible de lire la colonne de
des dossiers. En supposant que le débit ascendant est de 0.

Salut @armin-zbf,

Le fichier UniformWind prend désormais en charge un angle de flux ascendant (colonne 9). Voir ici pour un exemple.
La documentation sur InflowWind est disponible ici : https://openfast.readthedocs.io/en/dev/source/user/inflowwind/index.html

À votre santé!

@armin-zbf
salut
Je suis également très nouveau sur OpenFAST et je suis également nouveau sur le code source.
J'ai téléchargé le code source et l'ai compilé sur Windows en utilisant le studio parallèle et le studio visuel. MAIS j'ai quelques questions.
1.mes binaires sont téléchargés, où dois-je le mettre

  1. Les bibliothèques Math doivent-elles l'installer ? Que faire?
    3.et bien d'autres ......
    Cela peut vous faire perdre du temps, mais j'espère toujours que vous pourrez me donner quelques suggestions, même des étapes d'installation insensées.

merci!~~

2020-12-24
Le problème a été résolu~~~

Salut @haojunjie0429
Désolé pour la réponse tardive, c'est la période des fêtes.

  1. Si vous avez compilé avec succès, vous n'avez pas besoin des binaires téléchargés, tout ce dont vous avez besoin se trouve dans le dossier build\bin .
  2. Si vous utilisez Windows, vous n'avez pas besoin des bibliothèques mathématiques.
  3. Ne vous inquiétez pas, passez du temps avec quelques exemples et vous obtiendrez tout, et ici sur GitHub, il y a beaucoup de développeurs sympathiques :-)

@armin-zbf Merci. Passe de bonnes vacances

Cette page vous a été utile?
0 / 5 - 0 notes