Openfast: ¿Dónde están disponibles los datos o qué script crea datos?

Creado en 19 oct. 2020  ·  54Comentarios  ·  Fuente: OpenFAST/openfast

Hola, todos,
Revisé la documentación, ¿no pude encontrar qué script crea datos? En el sitio web de NREL, el preprocesador AirfoilPrep ayuda a crear los datos para Aerodyn, por ejemplo, que están presentes en muchos de estos casos. Pero, ¿qué módulo aquí funciona como preprocesador y cómo se pueden descargar los datos o incluso recuperar todos los archivos hte .dat?

Muchas gracias por adelantado.

Usage question

Todos 54 comentarios

Estimado @ ai-aspirante,

No estoy seguro de entender completamente su pregunta, pero NREL ha desarrollado varios preprocesadores para OpenFAST, que incluyen:

  • AirfoilPrep (para generar datos de perfil aerodinámico para usar en AeroDyn a partir de datos 2D)
  • TurbSim (para generar viento turbulento ambiental para InflowWind)
  • IECWind (para generar viento determinista para InflowWind)
  • BModes (para generar formas de modo para ElastoDyn)
  • etc.

De estos, solo TurbSim está incluido actualmente en el repositorio de OpenFAST en github.

Atentamente,

Estimado @jjonkman , gracias por su respuesta a esto.
Si quiero proporcionar datos a un modelo, ¿estará siempre en el formato similar al que se proporciona en el ejemplo de la documentación?
¿O tomará algún script en el repositorio de openfast que me ayude a crear datos de formato similar como entrada?
¿Tengo sentido esta vez?

Estimado @ ai-aspirante,

El formato de los distintos archivos de entrada de OpenFAST es fijo. Puede generar los datos para completar estos archivos de entrada a mano o mediante un script ... realmente de la forma que desee. Mencioné en mi publicación anterior varios de los preprocesadores comunes que NREL ha desarrollado para ayudar en el proceso.

No estoy seguro de si está intentando cambiar las propiedades aerodinámicas, estructurales o de control de la turbina eólica o la entrada de viento utilizada para impulsar la simulación. Pero aclarar eso puede ayudar a brindar una guía más específica.

Atentamente,

Gracias por eso @jjonkman
Yo lo entiendo. Pero como mencioné, quería saber qué archivo de mapeo me ayudaría en el proceso. ¿Sería un solo archivo el que necesito ejecutar? ¿O un ejecutable con una entrada base proporcionada? Y si cualquiera de los dos es el caso, ¿sigue siendo el mismo para todos los preprocesadores? Si no es así, puedo pedirles ayuda en los demás módulos de preprocesador.

Entonces, básicamente @jjonkman, la idea es ejecutar openfast completamente y simularlo, pero solo quería comprender el formato de los archivos de entrada para poder administrarlo en consecuencia con mi equipo.

Otra pregunta que tengo es que ejecutar un modelo openfast ejecutable desde los binarios solo creará indicadores adicionales en los datos. No me proporcionará una simulación, ¿verdad? Tendré que ejecutar explícitamente el módulo Simulink.

Perdón por las apresuradas preguntas.

Estimado @ ai-aspirante,

No estoy seguro de entender realmente sus preguntas.

La ejecución de una simulación OpenFAST requiere que tenga un archivo de entrada principal (_ *. Fst_), así como archivos de entrada para cada módulo (algunos módulos requieren varios archivos de entrada). Solo se especifica el archivo de entrada principal al ejecutar OpenFAST. El archivo de entrada principal enumera qué módulos están habilitados y los nombres (incluidas las rutas) de sus respectivos archivos de entrada. Los pasos de preprocesamiento ocurren antes de ejecutar la simulación de OpenFAST para configurar los archivos de entrada de OpenFAST.

OpenFAST se puede ejecutar de forma independiente o interconectada con Simulink. La interfaz de Simulink solo es necesaria si desea implementar la lógica de control dentro de MATLAB / Simulink.

Atentamente,

Hola @jjonkman ,
De acuerdo, déjame analizar las preguntas. En primer lugar, mi preocupación son los datos, los datos que quiero crear para un módulo en particular deben ser similares a los que puedo encontrar en el siguiente enlace. https://openfast.readthedocs.io/en/master/source/user/aerodyn/appendix.html#ad -appendix
Entonces, esto tiene 4 tipos de datos, el controlador se usa solo cuando necesito ejecutar un módulo independiente,
el segundo es el archivo de entrada principal que consta de pocas rutas de datos que tienen la información sobre valores particulares de un molino de viento,
el tercero es el archivo de palas que me informa sobre la geometría de las palas y diferiría de un molino de viento a otro, ¿verdad?
El último archivo es el archivo de perfil aerodinámico que también tiene algunos parámetros relacionados con la estructura del perfil aerodinámico, como el ángulo de ataque del perfil aerodinámico, el arrastre, la elevación, etc.

Ahora, cuando organizo los datos similares, ¿tengo que reemplazar los valores de los mismos en los siguientes archivos que se mencionan en el enlace proporcionado anteriormente o la ejecución de algún archivo Fortran me ayudaría a crear archivos listos para ingresarlos como una entrada directa?
Espero estar claro esta vez.

Estimado @ ai-aspirante,

NREL no ha proporcionado código fuente basado en Fortran para generar automáticamente los diversos archivos de entrada de OpenFAST / AeroDyn. Siempre puede editar manualmente los archivos de entrada en cualquier editor de texto. Por supuesto, si tiene la intención de ejecutar miles de simulaciones, no querrá crear los archivos de entrada manualmente. En su lugar, desea generar automáticamente los archivos de entrada con algún tipo de secuencia de comandos. ¿Existe un lenguaje de secuencias de comandos específico que desee utilizar, por ejemplo, MATLAB o Python? La caja de herramientas MATLAB (https://github.com/OpenFAST/matlab-toolbox) tiene scripts que pueden leer y escribir archivos de entrada OpenFAST, por ejemplo, puede leer los datos del archivo de entrada en MATLAB, cambiar los valores dentro de MATLAB y escriba el nuevo archivo de entrada. Puede utilizarlos como base para generar sus propios scripts. Tengo entendido que existen scripts similares en la caja de herramientas de Python (https://github.com/OpenFAST/python-toolbox), pero estoy menos familiarizado con los detalles.

Atentamente,

Estimado @jjonkman ,
Esto es realmente útil. Prefiero Python, lo investigaré. Gracias.

Por último, quería saber en el modelo OpenFAST, para un molino de viento terrestre, ¿una combinación de Aerodyn, Servodyn, Elastodyn funcionaría lo suficiente en conjunto?
Esto se filtra de los indicadores utilizados en el archivo principal como entrada al módulo OpenFAST.

Estimado @ ai-aspirante

Siguiendo la respuesta de Jason, si desea crear un script para la generación de los archivos de entrada, una forma de hacerlo es tener un conjunto de archivos de entrada de "plantilla" de un modelo OpenFAST existente. Su secuencia de comandos leería estos archivos de plantilla, modificaría los valores y los escribiría para su turbina y simulación determinadas. En la caja de herramientas de matlab, la lectura y escritura de archivos de entrada se realiza mediante el script FAST2MATLAB y MATLAB2FAST . Para la caja de herramientas de Python, debe usar la rama dev . En el archivo Léame se proporcionan ejemplos de archivos de lectura y escritura:
https://github.com/OpenFAST/python-toolbox/tree/dev/pyFAST/input_output

Generalmente es bastante trabajo generar un modelo de turbina, por lo que es posible que prefiera editar cada valor de los archivos de entrada "manualmente" si solo necesita hacer esto para una turbina. No tenemos una forma "estándar" de hacer esto, ya que las entradas del usuario pueden estar en varios formatos. Si tiene muchos modelos para configurar a partir de un formato dado, estos guiones de lectura / escritura definitivamente lo ayudarán.

Una vez que haya configurado un modelo de turbina y desee generar muchas simulaciones, también se pueden utilizar los scripts de Matlab y Python. He subido un ejemplo sobre cómo hacer esto con Python aquí:
https://github.com/ebranlard/python-toolbox/blob/f/example/pyFAST/case_generation/examples/Example_Parametric.py

Espero que eso ayude,

Emmanuel

Estimado @ebranlard ,
Esto sería de gran ayuda. Revisaría los enlaces que compartió e intentaría organizar los datos según lo requiera OpenFAST.
Gracias.

Además, cuando menciona la generación de un modelo de turbina, ¿se refiere a combinar todos esos modelos independientes en OpenFAST o personalizar el original?

Gracias de nuevo.

Saludos,
Kirsten

Querida Kirsten,

Un modelo OpenFAST de turbina eólica terrestre normalmente tendría habilitados los módulos ElastoDyn (para dinámica estructural), AeroDyn (para aerodinámica), ServoDyn (para controles) e InflowWind (para entrada de viento ambiental). A menudo, AeroDyn también se ejecuta de forma independiente (sin acoplamiento aeroelástico) si desea estudiar el rendimiento aerodinámico solo antes de simular los aero-servo-elásticos acoplados.

Atentamente,

Hola Kirsten,

Supongo que ya tiene algunos "datos" sobre la turbina que desea modelar: por ejemplo, algunas propiedades geométricas, propiedades aerodinámicas (distribución de cuerda y torsión, datos polares), propiedades materiales / estructurales (masas, rigideces, amortiguación) de diferentes componentes .

Según estos datos, puede escribir los archivos de entrada para OpenFAST. Llamaré a este conjunto de archivos de entrada un "modelo OpenFAST".
Puede encontrar un ejemplo de un modelo OpenFAST para la turbina terrestre NREL 5MW aquí:
https://github.com/OpenFAST/r-test/tree/master/glue-codes/openfast/5MW_Land_DLL_WTurb

Necesita conocer muchos datos para hacer un modelo OpenFAST completo. Es por eso que Jason recomienda comenzar por configurar un modelo de "controlador AeroDyn", en el que solo necesita conocer las propiedades aerodinámicas de la turbina que desea modelar. Encontrará ejemplos en el enlace que mencionó anteriormente:
https://openfast.readthedocs.io/en/master/source/user/aerodyn/appendix.html#aerodyn -input-files

Saludos

Como nota, el formato del archivo de entrada es fijo y se espera que las entradas estén en un número de línea determinado.

Sin embargo, de una versión de OpenFast a la siguiente, a veces introducimos cambios en el formato de archivo (agregando o eliminando un par de líneas), por lo que es importante realizar un seguimiento de la versión de OpenFAST (o AeroDyn / controlador) que está utilizando.

Los cambios entre versiones se documentan aquí:
https://openfast.readthedocs.io/en/master/source/user/api_change.html

La rama maestra del repositorio "r-test" que mencioné anteriormente, tiene archivos de entrada que siempre están en línea con la versión actual de openFAST.

Hola Emmanuel y @jjonkman ,
Espero que estés bien. Gracias por todas sus respuestas, me ayudó mucho. Sin embargo, intenté ejecutar _5MW_Land_DLL_WTurb_ con los binarios y ejecutables de OpenFAST. Al ejecutarlo, obtuve el siguiente resultado:
image

Los binarios se colocan en la ruta donde están presentes mis ejecutables. Aún así, recibo este mensaje. Entonces, me preguntaba si esto es solo un mensaje normal o si realmente se ejecutó sin estos módulos.
Avíseme si necesita más detalles para varios directorios.

También lo visualicé usando paraview . Es posible que necesite algo de tiempo para comprenderlo mejor. Gracias por eso de nuevo a los dos.

También quería preguntar si hay un artículo que entienda el límite ideal para cada variable proporcionada en la salida de FAST. Por ejemplo, si considero Wind1VelX, varía entre 1.162E + 01 y 9.975E + 01, entonces, ¿hay un límite para esa variable que me ayudará a comprender si va más allá de cualquier límite como una anomalía?

Gracias.

Atentamente,
Kirsten

Hola kristen

Con respecto a las advertencias de "salida nodal", estas no afectarán los resultados de la simulación; puede ignorar las advertencias. Le pregunté a @ andrew-platt sobre estos, y aquí está su respuesta:

Los cambiaré a Información en lugar de advertir.

Cuando agregamos las salidas basadas en nodos, mantuvimos los archivos de entrada para cada módulo compatibles con versiones anteriores. Las salidas del nodo son una segunda sección de salida que sigue a la sección de salida estándar. Entonces, la advertencia / información es solo para que el usuario sepa que esta sección del archivo de entrada no existe y que no obtendrán salidas basadas en nodos. Esto se agregó a ElastoDyn (solo nodos blade), BeamDyn y AD15, por lo que los tres módulos pueden informar esta información en la inicialización.

Con respecto a las advertencias "C_nalpha is 0", también puede ignorarlas. El modelo de aerodinámica de perfil aerodinámico inestable de AeroDyn no es válido cuando la pendiente de la curva del coeficiente de fuerza normal es cero.

No conozco ningún documento que resuma los límites físicos o razonables de las distintas salidas de FAST .; estos vendrán solo con la experiencia. Pero un rango de velocidad del viento de 11,62 a 99,75 m / s suena realmente extremo.

Atentamente,

Hola @jjonkman ,
Comprendido. Entonces, en caso de que no se generen las salidas nodales, creo que la salida estándar sería suficiente.
Otra cosa que encontré fue que mientras revisaba el archivo
Además, quería comprender el parámetro de salida de tiempo que varía de 0 a 60 en el archivo de salida similar que mencioné anteriormente, ¿eso significa un rango de serie de tiempo?

Gracias.
Saludos,
Kirsten

Hola kristen

El archivo de salida de OpenFAST incluirá las salidas de nivel de módulo que haya seleccionado. Si no obtiene ninguna salida de ServoDyn y AeroDyn, es porque no ha configurado salidas en los archivos de entrada de ServoDyn y AeroDyn.

OpenFAST es un solucionador no lineal en el dominio del tiempo, por lo que la salida es la respuesta de la turbina eólica en función del tiempo.

Atentamente,

Hola Jason,
Entiendo. Solo incluí una lista de parámetros y funcionó para ambos módulos. Gracias.
Otra cosa que me costaba entender es que en mi archivo generado de salida se genera un parámetro 'Wind1VelX' que es el componente X del viento en el punto de viento 1 seleccionado por el usuario, ya que el número seleccionado de puntos es 1.
Pero en caso de que necesite entender dónde está exactamente ese punto para una mejor comprensión, ¿tiene alguna idea de dónde puedo encontrarlo? ¿O vendrá a medida que aprenda sobre los molinos de viento con gran detalle?

Gracias con saludos,
Kirsten

Hola Jason,
solo para agregar el punto anterior que quería verificar en cuanto a qué exactamente dan una idea los archivos de visualización? ¿Es una animación de cómo los valores de velocidad ayudan a hacer funcionar un molino de viento o algo más? Quería saberlo para entender qué estaría mirando exactamente en Paraview, ya que los valores que obtuve dentro de un archivo Blade1referene.vlt se veían así:

image
Entonces, ¿esto significa la estructura y varias velocidades que mis módulos están proporcionando como salida o algunos cálculos externos?

Saludos,
Kirsten

Querida Kristen,

Las ubicaciones de las salidas de viento ambiental de InflowWind (Wind1VelX, etc.) son especificadas por el usuario a través de los parámetros de entrada WindVxiList, WindVyiList y WindVziList en el archivo de entrada de InflowWind. El módulo InflowWind está bien descrito en la Guía del usuario de InflowWind, que aún no se ha portado a OpenFAST readthedocs, pero está disponible aquí: https://drive.google.com/file/d/1-yJox2Kj-eBHfX2FdjE7RCaOkXRml9Mw/view?usp = compartir.

La funcionalidad de visualización de OpenFAST se puede utilizar para visualizar el estado no desviado o la animación de series de tiempo de la respuesta de la turbina (en su estado desviado) con un formato de figura de palo o visualización de superficie completa. También puede visualizar varios campos como movimientos y cargas. La funcionalidad de visualización de OpenFAST está documentada en el antiguo archivo Léame de FAST v8, que aún no se ha portado a OpenFAST readthedocs, pero está disponible aquí: https://drive.google.com/file/d/17LDwMnCVmLfbRWSaVFxxqphVrtawMwlj/view?usp= intercambio.

Atentamente,

Hola Jason,
Gracias por ayudarme con tan buen entendimiento sobre todo esto. ¿Puede ayudarme a comprender los puntos que se consideran en varios módulos para el cálculo de la velocidad y las cargas también? Mientras estaba revisando la documentación, solo pude encontrar Grado de libertad, eso es todo.
Además, en OutListParameters.xlsx, en la pestaña Nodos, se menciona en cada nodo. Pero, ¿cuáles son todos los nodos que se deben considerar? ¿Se menciona en alguna parte o estará en la lista de VxiList que se proporciona?

Saludos,
Kirsten

Hola kristen

Lo siento, pero no estoy seguro de entender sus preguntas. ¿A qué hoja de trabajo de "Nodos" se refiere? ¿Se refiere a "AeroDyn_Nodes" o "ElastoDyn_Nodes" o algo más? Estos nodos se refieren a los distintos nodos de salida del módulo correspondiente. Por ejemplo, los nodos de salida de AeroDyn en las palas y la torre son un subconjunto seleccionado por el usuario de los nodos de análisis aerodinámico, como se documenta en la documentación de AeroDyn; consulte: https://openfast.readthedocs.io/en/master/source/ user / aerodyn / appendix.html # aerodyn -list-of-output-channels.

Atentamente,

Querido Jason,

Entonces, ¿cada módulo tiene diferentes nodos?

Quería preguntar acerca de la hoja de trabajo de "nodos" para cada módulo que usamos, como AeroDyn, ServoDyn, ElastoDyn.
Teniendo en cuenta, AeroDyn al principio, la hoja AeroDyn tiene un parámetro de salida B1N1VUndx que indica la velocidad del viento para Blade 1 y nodo 1.
Para las torres, siempre estará entre el nodo de la torre 1 y el nodo de la torre n y las coordenadas para el mismo se proporcionarán como una entrada como se muestra en https://openfast.readthedocs.io/en/master/source/user /aerodyn/input.html#ad -tower-geom
De manera similar, para los números de nodo en la hoja, estará en la línea de cuerda de la hoja local comenzando desde la punta t hasta la base de la hoja, como se muestra en https://openfast.readthedocs.io/en/master/source/user/aerodyn/appendix .html # aerodyn -list-of-output-channels

Perdón por todas las preguntas ingenuas, pero ¿es esto correcto?

Saludos,
Kirsten

Querida Kristen,

Si, eso es correcto.

ElastoDyn también tiene nodos de análisis y salida.

Atentamente,

Hola Jason,
Seguro. Lo miraré.
¿Puedo simular la curva de potencia usando ServoDyn?
Me encontré con el parámetro Generated Electrical Power a partir de eso. ¿Es eso lo mismo?

Saludos,
Kirsten

Querida Kristen,

Por "curva de potencia", supongo que te refieres a la potencia en función de la velocidad del viento. Esto, por supuesto, dependerá del control, pero ServoDyn no puede calcularlo directamente. Necesitas modelar la aerodinámica. Si ya conoce la velocidad del rotor y el ángulo de inclinación en cada velocidad del viento, puede usar el controlador AeroDyn independiente para calcular la potencia aerodinámica para cada caso. Si no lo sabe, pero tiene un controlador, o qué incluir flexibilidad estructural, puede ejecutar una simulación OpenFAST por separado para cada velocidad del viento o con una velocidad del viento uniforme, pero escalonada.

Atentamente,

Hola querido Jason,
Por curva de potencia me refiero a la potencia de salida generada en función de la velocidad del viento, coeficientes de potencia, etc.
¿Será similar a la potencia aerodinámica? Dado que, la fórmula base que conozco es
1/2*(Air Density* Max Power coefficient *wind speed^3*swept rotor area)

Saludos,
Kirsten

Su fórmula se aplica tanto a la potencia aerodinámica como a la potencia eléctrica, pero el coeficiente de potencia será diferente en los dos casos. La potencia eléctrica será un poco menor que la potencia aerodinámica debido a las pérdidas en la conversión mecánica a eléctrica. Normalmente, esta eficiencia de conversión depende del enfoque de conversión de energía y puede depender de la velocidad del generador o de la energía.

Atentamente,

Hola Jason,
Para el cálculo de potencia aerodinámica similar, encontré este enlace https://openfast.readthedocs.io/en/master/source/user/aerodyn-aeroacoustics/03-model-verification.html?#reference -wind-turbine
En base a esto, los datos que necesitaría proporcionar serían la eficiencia del tren motriz y del generador. ¿Tenemos algún dato que se pueda utilizar como entrada para este cálculo de potencia?
Supongo que AeroAcoustics.f90 podría ayudar en esto, si no me equivoco.

Saludos

Hola @ ai-aspirante,

La documentación a la que hace referencia muestra un ejemplo: la turbina eólica de referencia terrestre IEA Wind Task 37, con una eficiencia de generador del 93,6%. La turbina eólica de referencia NREL de 5 MW proporciona otro ejemplo, con una eficiencia de generador del 94,4%. Si no tiene en mente una eficiencia de generador específica, puede asumir uno en este rango.

Atentamente,

Hola Jason,
Derecha. Así que creo que el parámetro de salida RtAeroPwr mostrará la potencia aerodinámica generada.

Saludos,

Correcto.

Hola Jason,
Entonces, en caso de que quiera incluir mis datos en AeroDyn, ¿hay algún conjunto de parámetros de entrada mínimos que ustedes hayan documentado que me proporcionen potencia aerodinámica de salida o debería revisar todos los parámetros de entrada y estudiarlos bien sería una mejor opción? ?

Gracias de antemano.

Saludos,
Kirsten

Hola kristen

La documentación proporciona orientación sobre qué entradas se utilizan para qué. Es de esperar que tenga suficiente experiencia en el modelado de turbinas eólicas para saber qué entradas serían importantes para el cálculo de la potencia aerodinámica.

Atentamente,

Hola Jason,
Así que estaba tratando de entender los archivos cuando encontré que el AoA (ángulo de ataque) estaba entre el rango de 180 a -180. ¿Hay alguna razón en archivos particulares al implementar AeroDyn que el ángulo de ataque sea diferente para diferentes perfiles aerodinámicos?

image
En la imagen de arriba, como puede ver, los valores de las superficies aerodinámicas pueden ser diferentes comenzando con los archivos cilindro1.dat que indican desde la parte más a la izquierda en la imagen y, por lo tanto, se utilizan diferentes archivos aerodinámicos en consecuencia para cada valor y, en función de esos valores, mis nodos son determinado ¿verdad?

En base a esto, ¿hay algún número mínimo de perfiles aerodinámicos a considerar en OpenFAST mayor que 1 que se sugiere o 1 debería funcionar? ¿Qué sugieres, Jason?

Sin embargo, la imagen que se muestra arriba es solo para referencia.

Saludos,
Kirsten

Querida Kristen,

Los datos de la superficie aerodinámica (sustentación, calado, momento versus AoA) deben proporcionarse para el rango completo de 360 ​​grados (-180 a 180 grados) de AoA porque el AoA real se determina en tiempo de ejecución y puede cambiar de un paso de tiempo a otro.

Los datos de la superficie aerodinámica deben depender de la forma de la superficie aerodinámica, como señaló. También puede depender del aumento rotacional (efectos 3D), si los aplica a los datos del perfil aerodinámico.

Normalmente recomendamos del orden de 20 nodos de análisis aerodinámico a lo largo de la pala. Si esto requiere unas pocas tablas de perfil aerodinámico (con cada tabla aplicada a varios nodos) o muchas tablas de perfil aerodinámico (tabla única para cada nodo) depende de la variabilidad en la forma del perfil aerodinámico a lo largo de la pala, la importancia del aumento rotacional y la precisión deseada de la hoja. solución.

Atentamente,

Querido Jason,
Bueno. Esto suena genial.
Una cosa que quería entender era ¿hay algún sensor para calcular la fuerza de arrastre o la fuerza de elevación para poder calcular sus coeficientes?

Otra cosa que quería señalar es que estaba tratando de reducir la cantidad de nodos, así que eliminé algunas filas del archivo "Test01_UAE_AeroDyn_blade.dat", cambié el número de NumBlNds a 15 y reduje el número de parámetros NumAFFiles de 10 a 5 , y cambié los parámetros BlOutNd a 1, 3. Aún así, obtengo el error que se muestra a continuación que dice "ocurrió al intentar leer BlOutNd".
¿Tengo que cambiar más banderas?

image

Gracias de nuevo por toda la ayuda a todos y a ti también @jjonkman y perdón por todas las molestias.

Saludos,
Kirsten

Querida Kristen,

Lo siento, pero realmente no entiendo tu primera pregunta.

Con respecto a la segunda pregunta, tiene dos nodos configurados para BlOutNd. ¿Eso significa que estableciste NBlOuts = 2? De lo contrario, como con cualquier error de procesamiento de archivos de entrada, habilite la opción Eco para depurar errores en el formato del archivo de entrada.

Atentamente,

Hola Jason,

La primera pregunta fue acerca de cómo se calculan los coeficientes de arrastre y elevación.
Dado que para la Fuerza de arrastre la siguiente es la fórmula:
image

Según cualquier archivo .dat utilizado, tenemos una combinación de Ángulo AoA, Coeficiente de arrastre, Coeficiente de elevación y Cm.
Quería saber si los coeficientes se calculan usando la fórmula anterior o si serían de un sensor, ya que los datos que estoy cargando para usar OpenFAST no tienen valores de Cd, Cl o Cm.

Gracias.
Saludos,
Kirsten

Querida Kristen,

Estoy de acuerdo con su fórmula y agregaría que C_D normalmente dependería de AoA (y quizás Re). La misma ecuación se aplica a la fuerza de elevación (F_L), usando C_L. Normalmente, C_D y C_L se derivan como una función de AoA (y quizás Re) para un perfil aerodinámico dado basado en un túnel de viento o soluciones computacionales. Luego, estos se extienden al rango completo de 360 ​​grados y se corrigen para el aumento rotacional antes de ingresarlos en AeroDyn para su aplicación dentro de un cálculo aeroelástico de turbina eólica.

Atentamente,

Hola Jason,

No pude obtener cómo se proporcionan los valores de coeficiente de arrastre o sustentación como entrada. Quiero decir, ¿hay un sensor adicional como un anemómetro para la velocidad del viento o veleta para la dirección del viento, de manera similar para el coeficiente de arrastre también tenemos o se calculan en base a una fórmula en particular?
La única fórmula que pude encontrar es:
El coeficiente de arrastre (Cd) es igual a la densidad del aire (r) multiplicado por la mitad del cuadrado de la velocidad (V) multiplicado por el área del ala (A).

No estaba seguro de si esto me ayudaría a crear diferentes valores de coeficientes que se proporcionarán como entrada para AeroDyn. ¿OpenFAST realiza el cálculo de dichos coeficientes? ¿Me pueden ayudar con la fórmula, por favor?

Saludos,
Kirsten

Hola kristen

Como dije antes, el coeficiente de arrastre se deriva típicamente como una función de AoA (y quizás Re) para un perfil aerodinámico dado basado en un túnel de viento o soluciones computacionales. Para superficies aerodinámicas delgadas, se pueden utilizar herramientas de ingeniería como XFoil o RFoil (no desarrolladas por NREL) para calcular la resistencia (y la sustentación) hasta el punto de pérdida.

El arrastre es una entrada para AeroDyn / OpenFAST, no calculada directamente por él. NREL no ha desarrollado herramientas de ingeniería para respaldar el cálculo de coeficientes de arrastre.

Atentamente,

Hola Jason, espero que te esté yendo bien en medio de los tiempos de covid.
Entiendo. Gracias.
Mientras tanto, estaba investigando el Aerodyn_IO.f90 para comprender algunas ecuaciones para la energía generada en varios módulos.
Me encontré con las siguientes ecuaciones para varias ecuaciones:
image

Solo quería entender cuáles son exactamente las entradas, consideremos la potencia aerodinámica del rotor (RtAeroPwr), la ecuación consiste en la carga aerodinámica en la dirección x, ¿cuáles son el resto de parámetros como BEMT_u?
¿OpenFAST tiene alguna documentación sobre estas ecuaciones?

Gracias,
Kirsten

Hola kristen

La variable m% BEMT_u (indx)% omega es la velocidad del rotor. Es una entrada (u) al submódulo BEMT de AeroDyn como se establece dentro del módulo AeroDyn, que también es una variable miscelánea (MiscVar, m) de AeroDyn. El código fuente incluye mucha documentación, pero se necesitará conocimiento de Fortran y el marco de modularización FAST para interpretarlo. Esta variable se define en BEMT_Registry.txt (entrada omega) y AeroDyn_Registry.txt (MiscVar BEMT_u).

Atentamente,

Hola Jason,

Así que creo que estos son valores de matriz, velocidad del rotor (velocidad angular del rotor) y carga aerodinámica del rotor en la dirección x.
Además, ¿OpenFAST tiene alguna documentación sobre el resto de las ecuaciones que mencioné anteriormente, ya que mientras revisaba los scripts no pude encontrar

Por lo tanto, la documentación del resto de las ecuaciones compartidas en la imagen de arriba en el último número.

Saludos,
Kirsten

Hola @jjonkman ,
Quería agregar a su problema, @ ai-aspirant, y preguntar exactamente cuál sería mi variable de salida de potencia de OpenFAST para todo el molino de viento. Teniendo en cuenta el parámetro GenPwr, ¿cómo es que varía en el rango de 3.6mW - 5mW? Quiero decir, por lo que tengo entendido, sigue el formato Power Curve. La velocidad de corte (la potencia sigue aumentando), la velocidad nominal (la potencia permanece constante) y la velocidad de corte (la potencia cae a cero).

Saludos,
Mihir

Estimada Kristen: ¿Qué tipo de documentación pregunta? ¿Está tratando de comprender las ecuaciones en sí mismas (con suerte, se explican por sí mismas para estos resultados), o la documentación sobre el marco de modularización FAST?

Estimado Mihir: La salida GenPwr de ServoDyn es la salida de energía eléctrica (determinada por el generador y / o controlador, incluidas las pérdidas de eficiencia eléctrica). En cuanto a su variación, la potencia de salida puede variar mucho cuando la turbina está operando con entrada turbulenta o ráfagas. La curva de potencia representa el comportamiento medio o en estado estable.

Atentamente,

Hola Jason,
Bien, solo quería entender las entradas. Al igual que estos se calculan o se proporcionan como entrada directamente. Entonces, considerando la potencia aerodinámica, la velocidad de mi rotor y el momento de carga aerodinámica en la dirección x, ¿hay algún tipo de entradas que se proporcionen como una matriz o simplemente un número entero? Porque pude entender que es un valor entero único.
Otra pregunta es si estas entradas se proporcionan como una entrada o se calculan con otra ecuación y si ese es el caso, ¿cuáles son los parámetros de los que depende que deba cambiar para que mi salida final, que en este caso, la potencia aerodinámica (RtAeroPwr)? varía en consecuencia.

Gracias,
Saludos,
Kirsten

Querida Kirsten,

En las ecuaciones anteriores, las entradas a nivel de módulo se indican como u, los estados continuos se indican como x, las salidas se indican como y, los parámetros se indican como p y las variables diversas se indican como m. Estos tipos de variables se definen en el manual del programador de NWTC: https://drive.google.com/file/d/1bDV1fBkiZUWs6Tkzb6nhCMUQvHpN_OtM/view?usp=sharing. Las entradas a nivel de módulo, u, específicamente, son entradas a un módulo calculadas por otro módulo dentro de OpenFAST (en lugar de parámetros de entrada definidos por el usuario). En el modo de controlador independiente (desacoplado de OpenFAST), las entradas están prescritas por el código del controlador independiente. En la rutina CalcOutput, las entradas se proporcionan en el tiempo de simulación actual. En la rutina UpdateStates, las entradas se proporcionan como una matriz en un rango de tiempos para que el módulo pueda acceder a la entrada en cualquier momento dentro del intervalo de tiempo en el que se integra en el tiempo (mediante interpolación). Se proporciona más información en el manual del programador de NWTC.

Atentamente,

Querido Jason,
Gracias por esa informacion. Entonces, según lo que mencionó, los parámetros que se utilizan para el cálculo de RtAeroPwr son todas variables misceláneas. Así que considérelos como variables de salida de Aerodyn Ie RtSpeed ​​y RtAeroMxh.
Ahora, cuando los multipliqué directamente a ambos, no es similar a lo que RtAeroPwr da como resultado en el archivo .out.
Todos los valores son diferentes.
¿Va a suceder? ¿Debo incluir algún otro parámetro mientras lo calculo así?

Saludos,
Kirsten

Hola Jason,
Entonces, ¿quiere decir que mi GenPwr sería mayormente constante para vientos de estado estable? Si ese es el caso, entonces mi potencia de salida ni siquiera se acerca a ninguna curva de potencia.
¿Puedo trazar las curvas de potencia usando estos módulos OpenFAST? ¿O solo requeriría velocidades de viento turbulentas?
¿Puedo hacer eso en Paraview?

Saludos,
Mihir

Querida Kirsten: Las variables diversas se pueden considerar variables locales que se almacenan en tipos de marco para aumentar la eficiencia computacional. Pueden ser funciones de entradas, salidas, estados o parámetros. El producto de RtSpeed ​​y RtAeroMxh debe ser igual a RtAeroPwr si las unidades son apropiadas (RtSpeed ​​debe estar en rad / s, no en rpm).

Estimado Mihir: OpenFAST puede hacer mucho más, pero, por supuesto, puede usarse para calcular una curva de potencia. Este tema se ha discutido en nuestro foro: https://wind.nrel.gov/forum/wind. Sugiero buscar allí para obtener orientación.

Atentamente,

Querido Jason,
Sí, lo convertí de rpm a rad / s, todavía varía un poco, no mucho. Ayudó gracias.
También tenía algunas otras preguntas, solo intentaré resumirlas.

  1. Según lo que entendí con su ayuda, AeroDynamic Power está vinculado a la velocidad del rotor y la carga aerodinámica en la dirección x (también llamado Rotor Torque ya que estaba pasando por el foro que mencionó). En base a esto, las dos variables que mencioné como entrada son en realidad las salidas del módulo AeroDyn, pero quería saber qué entradas están vinculadas a estos parámetros (RtSpeed ​​y Rotor Torque). No pude encontrar la conexión o incluso la ecuación en cuanto a qué entradas están vinculadas a las variables de la ecuación aquí. Acabo de bajar a la subrutina _AD_CalcOutput_ pero no hay más conexiones. Así que solo quería saber sobre los vínculos entre lo mismo.

  2. Me enteré del cambio en la salida de energía eléctrica generada también en el foro, es decir, GenPwr, ¿tenemos alguna información que dependa de eso y que sea similar a las preguntas anteriores? Como, la fórmula que encontré para eso es GenPwr = 0.001*y%ElecPwr

  3. Otra cosa que estaba tratando de entender, pero que me costaba mucho, era cómo se inicializan las funciones de tiempo. Me refiero a de 0 a 60 funciones de tiempo que tienen 168 para cada función de tiempo; Sobre la base de que no estaba seguro de cómo podrían cambiar las variables, ¿es que debido a la ubicación de todas las hojas o una variable en particular se cambia de manera que el resto del parámetro se desvía en consecuencia o está interrelacionado con algo?

  4. ¿OpenFAST admite y proporciona una simulación para comprender fallas en varios componentes como caja de cambios, palas, rotor, etc.?

  5. Por casualidad, ¿OpenFAST admite la recreación de alguna variable en particular en caso de que uno no tenga datos para eso?

Mis disculpas por algunas preguntas bastante triviales. Solo quería asegurarme de estar interpretando las salidas y el flujo correctamente. Gracias por todo su tiempo y esfuerzo.

Saludos,
Kirsten

Querida Kristen,

Aquí están mis respuestas a algunas de sus preguntas;

  1. Es importante distinguir entre entradas y salidas a nivel de módulo (relacionadas con la forma en que los módulos interactúan entre sí en OpenFAST, también conocido como uey en la documentación y el código fuente del marco de modularización) y las entradas y salidas especificadas por el usuario ( parámetros de entrada que el usuario define en un archivo de entrada y lo que se escribe en el archivo de salida). La velocidad del rotor es una entrada de nivel de módulo para AeroDyn (lo que significa que es calculada por un módulo diferente (ElastoDyn) o configurada por el controlador) y también es posible incluir la velocidad del rotor en el archivo de salida. El par del rotor se calcula en AeroDyn y se puede escribir en el archivo de salida.

  2. La potencia eléctrica es calculada por el módulo ServoDyn, dependiendo de qué control de par o modelo de generador se seleccione. La ecuación que establece es solo una conversión de Watt a kW.

  3. No entiendo tu pregunta.

  4. Se admiten varios casos de falla, por ejemplo, pérdida de control de tono y pérdida de control de par, como se ha discutido en el foro. Buscaría allí para obtener más información.

  5. Algunos parámetros de entrada tienen configuraciones predeterminadas, indicadas por la palabra clave "DEFAULT", pero la mayoría requiere la especificación del usuario. Consulte la documentación y los archivos de entrada de muestra para obtener más información.

Atentamente,

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

Temas relacionados

gilcastroh picture gilcastroh  ·  109Comentarios

abhineet-gupta picture abhineet-gupta  ·  26Comentarios

sayerhs picture sayerhs  ·  22Comentarios

Bing008 picture Bing008  ·  6Comentarios

sayerhs picture sayerhs  ·  14Comentarios