Openfast: Necesita un script para convertir de FAST v8.16 a archivos de entrada OpenFAST v1.0

Creado en 27 oct. 2017  ·  12Comentarios  ·  Fuente: OpenFAST/openfast

Históricamente, NREL admitía una caja de herramientas MATLAB (https://github.com/OpenFAST/matlab-toolbox) que podía usarse para convertir archivos de entrada FAST de una versión a otra para ayudar a los usuarios a actualizar sus modelos al actualizar versiones FAST. Sin embargo, esta caja de herramientas aún no se ha actualizado (o se ha proporcionado un script equivalente en su lugar) para admitir la conversión de archivos de entrada de formato FAST v8.16 a OpenFAST v1.0. El formato de OpenFAST v1.0 no es muy diferente del de FAST v8.16 (sin solo un cambio menor en el archivo de entrada principal FAST y varias adiciones al archivo de entrada principal AeroDyn), pero estas diferencias crecerán con el tiempo, por lo que , el script debe actualizarse continuamente junto con OpenFAST.

Además, todos los archivos de entrada de muestra de OpenFAST en las pruebas de regresión todavía incluyen números de versión basados ​​en la antigua convención de numeración específica del módulo. Ahora que la convención de numeración de versiones ha cambiado en OpenFAST, los números de versión en los archivos de entrada de ejemplo deben actualizarse en consecuencia.

Help wanted Enhancement

Todos 12 comentarios

Hola
Soy bastante nuevo en OpenFAST.
Descargué el código fuente y lo compilé en Windows usando el estudio paralelo y el estudio visual. Seguí los métodos y las preguntas formuladas aquí y allá y logré obtener la función S y ahora tengo estos archivos y puedo ejecutar la función S en archivos de prueba con éxito.
El modelo en el que estoy trabajando es un modelo de Simulink que funciona con FAST (v8.16.00a-bjj, 27-Jul-2016). Leí este tema e intenté trabajar con las diferentes herramientas de conversión sin éxito. Esperaba que me pudieran orientar mejor sobre cómo proceder con la conversión, ¿por favor?

Hola @arminzaribaf ,

@bjonkman cargó una actualización de los antiguos scripts de conversión basados ​​en MATLAB compatibles con FAST v8 arriba, pero estos scripts no están disponibles para cada versión de OpenFAST (por lo tanto, este problema sigue abierto).

Independientemente, los cambios en el archivo de entrada con cada versión de OpenFAST (a partir de FAST v8.16) están bien documentados aquí: https://openfast.readthedocs.io/en/master/source/user/api_change.html.

Atentamente,

@arminzaribaf , debería poder usar https://github.com/OpenFAST/matlab-toolbox/blob/master/ConvertFASTversions/ConvertFAST8_16to17.m para convertir de FAST 8.16 a la versión actual (¿maestra?) de OpenFAST.

Si desea convertir a la última versión de desarrollo de OpenFAST, le recomiendo usar los archivos en mi bifurcación: https://github.com/bjonkman/matlab-toolbox/blob/master/ConvertFASTversions/ConvertFAST8_16to17.m

Cuando actualizo los archivos de entrada de r-test para una nueva versión de OpenFAST, ejecuto este script que llama al script ConvertFAST8_16to17.m : https://github.com/OpenFAST/r-test/blob/master/updateInputFiles .metro

Les agradezco a ambos por la respuesta realmente rápida :-)

@jjonkman Gracias por ese enlace, he estado revisando la documentación muchas veces, y cada vez que aprendo algo nuevo.

@bjonkman Ya que estoy usando la última versión de desarrollo, usé su fork y me convertí con éxito (?) Después de algunas pruebas y errores, supongo, aquí está el resultado que obtengo y recibo algunas advertencias que podrían estar afectando a la siguiente paso:
ADVERTENCIA: ExctnMod no se encuentra en la estructura de datos HD. En su lugar, se utilizará el valor predeterminado enumerado a continuación (del archivo de plantilla, .. \ matlab \ TemplateFiles \ HydroDyn.dat):
1

ADVERTENCIA: BldGagNd no se encuentra en la estructura de datos FAST. En su lugar, se utilizará el valor predeterminado que se enumera a continuación (del archivo de plantilla, .. \ matlab \ TemplateFiles \ ElastoDyn_Primary.dat):
2 3

GetFASTPar :: No se encontró el parámetro RefHt_Uni.
No se encontró el parámetro RefHt_Uni; agregarlo a la estructura de datos.
No se encontró el parámetro RefHt_Hawc; agregarlo a la estructura de datos.
No se encontró el parámetro PLExp_Hawc; agregarlo a la estructura de datos.
No se encontró el parámetro Filename_BTS; agregarlo a la estructura de datos.
ADVERTENCIA: PropagationDir no se encuentra en la estructura de datos FAST. En su lugar, se utilizará el valor predeterminado que se enumera a continuación (del archivo de plantilla, .. \ matlab \ TemplateFiles \ InflowWind.dat):
0

ADVERTENCIA: VFlowAng no se encuentra en la estructura de datos FAST. En su lugar, se utilizará el valor predeterminado que se enumera a continuación (del archivo de plantilla, .. \ matlab \ TemplateFiles \ InflowWind.dat):
0

ADVERTENCIA: múltiples apariciones de RefHt en la estructura de datos FAST.
ADVERTENCIA: múltiples apariciones de PLExp en la estructura de datos FAST.
ADVERTENCIA: múltiples apariciones de FileName en la estructura de datos FAST.
ADVERTENCIA: InitPosition (x) no se encuentra en la estructura de datos FAST. En su lugar, se utilizará el valor predeterminado que se enumera a continuación (del archivo de plantilla, .. \ matlab \ TemplateFiles \ InflowWind.dat):
0

ADVERTENCIA: CalcSteady no se encuentra en la estructura de datos FAST. En su lugar, se utilizará el valor predeterminado que se enumera a continuación (del archivo de plantilla, .. \ matlab \ TemplateFiles \ OpenFAST.fst):
Falso
ADVERTENCIA: TrimCase no se encuentra en la estructura de datos FAST. En su lugar, se utilizará el valor predeterminado que se enumera a continuación (del archivo de plantilla, .. \ matlab \ TemplateFiles \ OpenFAST.fst):
3

ADVERTENCIA: TrimTol no se encuentra en la estructura de datos FAST. En su lugar, se utilizará el valor predeterminado que se enumera a continuación (del archivo de plantilla, .. \ matlab \ TemplateFiles \ OpenFAST.fst):
1.0000e-03

ADVERTENCIA: TrimGain no se encuentra en la estructura de datos FAST. En su lugar, se utilizará el valor predeterminado que se enumera a continuación (del archivo de plantilla, .. \ matlab \ TemplateFiles \ OpenFAST.fst):
0.0100

ADVERTENCIA: Twr_Kdmp no se encuentra en la estructura de datos FAST. En su lugar, se utilizará el valor predeterminado que se indica a continuación (del archivo de plantilla, .. \ matlab \ TemplateFiles \ OpenFAST.fst):
0

ADVERTENCIA: Bld_Kdmp no se encuentra en la estructura de datos FAST. En su lugar, se utilizará el valor predeterminado que se enumera a continuación (del archivo de plantilla, .. \ matlab \ TemplateFiles \ OpenFAST.fst):
0

Se crean 5 archivos en el nuevo directorio (fst, ED, Hydro, Inflow y Servo). Los sustituyo por los del directorio principal y obtengo este error en la simulación:
OpenFAST-v2.4.0-sucio
Compilar información:

  • Compilador: Intel (R) Fortran Compiler 1910
  • Arquitectura: 64 bits
  • Precisión: simple
  • Fecha: 06 nov 2020
  • Hora: 13:21:51
    Información de ejecución:
  • Fecha: 12/10/2020
  • Hora: 20: 17: 50 + 0100

Ejecutando ElastoDyn.
La sección de salidas nodales del archivo de entrada de ElastoDyn no se encuentra o está formateada incorrectamente.
Ejecutando AeroDyn14.
Ejecutando InflowWind.

OpenFAST completado.

Error informado por la función S 'FAST_SFunc' en 'Model05 / System / S-Function':
FAST_Init ializeAll: InflowWind_Init : InflowWind_ ReadInput: Entrada numérica
Se produjo ". \ v05InflowFile.dat" al intentar leer HWindSpeed.

En Inflow tipo 2, el viento se usa con un archivo de entrada, verifiqué el formato y parece estar bien comparándolo con "ECD_00PR.wnd" en r-test. y aquí está la sección de parámetros en InFlowFile
================== Parámetros para el archivo de viento uniforme [utilizado solo para WindType = 2] =================== =========
"16d0.wnd" FileName: nombre de archivo de datos de series de tiempo para un campo de viento uniforme. (-)
129 RefHt_Uni - Altura de referencia para la velocidad del viento horizontal (m)
135.88 RefLength - Longitud de referencia para escarpado horizontal y vertical lineal (-)

@arminzaribaf , parece que no puede leer un valor numérico en la línea 13 ( HWindSpeed ). Aunque InflowWind ignora este valor con el tipo de viento que especificó, aún debe contener un número. ¿Puede confirmar que esta línea está configurada correctamente?

Además, dice que está usando una versión modificada de OpenFAST v2.4.0, pero si realmente estuviera usando la última rama de desarrollo, esperaría que tuviera algunos números de confirmación después de esa versión (y antes de "-dirty"). Entonces, supongo que probablemente tenga una línea adicional en su archivo de entrada InflowWind (por ejemplo, elimine la línea 7 que contiene VFlowAng que es nueva en la rama de desarrollo).

Si actualiza a la última rama de desarrollo de OpenFAST, también puede tener problemas con los nombres de las variables en los archivos de entrada de InflowWind. Un cambio muy reciente ahora requiere que los parámetros en el archivo InflowWind sean nombrados de maneras específicas, pero parece que esos parámetros no se actualizaron en los archivos de conversión matlab-toolbox (o en la documentación de OpenFAST, tampoco).

@bjonkman Increíble, la línea 7 fue el problema. Se configuró HWindSpeed ​​y antes de la publicación intentó eliminar y volver a escribir el número para asegurarse de que sea un número.
Después de eso, encontré otro problema con el archivo Hydro y, después de verificarlo, no había ninguna entrada al final, por lo que el final se atascó en \ r \ n. Creo que tiene que ver con la conversión en la que tuve que elegir qué sintaxis debería ejecutarse según el sistema operativo.
Cloné y compilé hace aproximadamente un mes, así que tal vez por eso no sea la última versión. Cuando actualice, lo tendré en cuenta.
Muchas gracias por su ayuda.

Solo estoy informando lo que cambié después de actualizar y compilar a la última compilación (OpenFAST-v2.4.0-111-g4b5559fb-dirty)

Agregué la línea 7 a la entrada InflowWind (VFlowAng),
en la línea 17 cambió FileName a FileName_Uni,
y esperaba SumPrint en la línea 51, así que eliminé la línea "== OUTPUT ==" y funcionó sin problemas, dando los mismos resultados.
Solo recibí una nueva advertencia:

FAST_InitializeAll: IfW_ Init: IfW_UniformWind_Init : No se pudo leer la columna de flujo ascendente con viento uniforme
archivos. Suponiendo que el flujo ascendente es 0.

Hola @ armin-zbf,

El archivo UniformWind ahora admite un ángulo de flujo ascendente (columna 9). Vea aquí un ejemplo.
La documentación sobre InflowWind se puede encontrar aquí: https://openfast.readthedocs.io/en/dev/source/user/inflowwind/index.html

¡Salud!

@ armin-zbf
Hola
También soy muy nuevo en OpenFAST y también soy nuevo en el código fuente.
Descargué el código fuente y lo compilé en Windows usando el estudio paralelo y el estudio visual. PERO tengo algunas preguntas.
1.Se descargan mis binarios, ¿dónde debería ponerlos?

  1. ¿Las bibliotecas matemáticas tienen que instalarlo? ¿Qué hacer?
    3. y muchos más ......
    Esto puede hacer perder su tiempo, pero aún espero que pueda darme algunas sugerencias, incluso pasos de instalación tontos.

gracias! ~~

2020-12-24
El problema ha sido resuelto ~~~

Hola @ haojunjie0429
Perdón por la respuesta tardía, es temporada de vacaciones.

  1. Si compiló correctamente, entonces no necesita los archivos binarios descargados, todo lo que necesita está en la carpeta build\bin .
  2. Si está usando Windows, no necesita las bibliotecas matemáticas.
  3. No se preocupe, dedique un tiempo a algunos ejemplos y lo obtendrá todo, y aquí en GitHub hay muchos desarrolladores amables :-)

@ armin-zbf Gracias. Tener unas buenas vacaciones

¿Fue útil esta página
0 / 5 - 0 calificaciones