Openfast: Onde os dados estão disponíveis ou qual script cria dados?

Criado em 19 out. 2020  ·  54Comentários  ·  Fonte: OpenFAST/openfast

Olá pessoal,
Consultei a documentação e não consegui descobrir qual script cria dados? No site do NREL, o pré-processador AirfoilPrep ajuda a criar os dados para o Aerodyn, por exemplo, estão presentes para muitas dessas instâncias. Mas qual módulo aqui funciona como um pré-processador e como os dados podem ser baixados ou mesmo buscar todos os arquivos hte .dat?

Muito obrigado antecipadamente.

Usage question

Todos 54 comentários

Caro @ ai-aspirant,

Não tenho certeza se entendi totalmente sua pergunta, mas a NREL desenvolveu vários pré-processadores para OpenFAST, incluindo:

  • AirfoilPrep (para gerar dados de aerofólio para uso em AeroDyn a partir de dados 2D)
  • TurbSim (para gerar vento turbulento ambiente para InflowWind)
  • IECWind (para gerar vento determinístico para InflowWind)
  • BModes (para gerar formas de modo para ElastoDyn)
  • etc.

Destes, apenas o TurbSim está atualmente incluído no repositório OpenFAST no github.

Atenciosamente,

Caro @jjonkman , obrigado por sua resposta a isso.
Se eu quiser fornecer dados a um modelo, eles sempre estarão no formato semelhante ao fornecido no exemplo na documentação?
Ou será necessário algum script no repositório openfast que me ajuda a criar dados de formato semelhante como entrada?
Estou fazendo sentido desta vez?

Caro @ ai-aspirant,

O formato dos vários arquivos de entrada OpenFAST é fixo. Você pode gerar os dados para preencher esses arquivos de entrada manualmente ou por script ... realmente da maneira que desejar. Mencionei em minha postagem anterior vários dos pré-processadores comuns que o NREL desenvolveu para ajudar no processo.

Não tenho certeza se você está tentando alterar as propriedades aerodinâmicas, estruturais ou de controle da turbina eólica ou o influxo de vento usado para conduzir a simulação. Mas esclarecer isso pode ajudar a fornecer orientações mais específicas.

Atenciosamente,

Obrigado por isso @jjonkman
Eu entendo. Mas, como mencionei, queria saber qual arquivo de mapeamento me ajudaria a auxiliar no processo. Seria apenas um único arquivo que preciso executar? Ou um executável com uma entrada de base fornecida? E se for o caso, ele permanece o mesmo para todos os pré-processadores? Se não, posso pedir a ajuda uns dos outros módulos de pré-processador.

Então, basicamente @jjonkman, a ideia é executar o openfast completamente e simular, mas eu só queria entender o formato dos arquivos de entrada para poder gerenciá-lo de acordo com minha equipe.

Outra pergunta que tenho é, executar um modelo openfast executável a partir dos binários apenas criará sinalizadores adicionais nos dados. Não vai me fornecer uma simulação, certo? Terei que executar explicitamente o módulo Simulink.

Desculpe pelas perguntas urgentes.

Caro @ ai-aspirant,

Não tenho certeza se realmente entendi suas perguntas.

A execução de uma simulação OpenFAST requer que você tenha um arquivo de entrada primário (_ *. Fst_), bem como arquivos de entrada para cada módulo (alguns módulos requerem vários arquivos de entrada). Apenas o arquivo de entrada principal é especificado ao executar OpenFAST. O arquivo de entrada principal lista quais módulos estão habilitados e os nomes (incluindo caminhos) de seus respectivos arquivos de entrada. As etapas de pré-processamento acontecem antes de executar a simulação OpenFAST para configurar os arquivos de entrada OpenFAST.

O OpenFAST pode ser executado de forma independente ou com interface com o Simulink. A interface Simulink só é necessária se você deseja implementar a lógica de controle no MATLAB / Simulink.

Atenciosamente,

Olá @jjonkman ,
Tudo bem, deixe-me analisar as perguntas. Em primeiro lugar, minha preocupação é com os dados, os dados que desejo criar para um determinado módulo devem ser semelhantes aos que posso encontrar no link a seguir. https://openfast.readthedocs.io/en/master/source/user/aerodyn/apencha.html#ad -apencha
Portanto, isso tem 4 tipos de dados, o driver é usado apenas quando eu preciso executar um módulo autônomo,
o segundo é o arquivo de entrada principal, que consiste em alguns caminhos de dados que contêm as informações sobre valores específicos de um moinho eólico,
o terceiro é o arquivo de lâmina, que me informa sobre a geometria das pás e seria diferente de moinho de vento para moinho de vento, certo?
O último arquivo é o arquivo do aerofólio, que também tem alguns parâmetros relacionados à estrutura do aerofólio, como ângulo de ataque do aerofólio, arrasto, sustentação, etc.

Agora, quando organizo os dados semelhantes, preciso apenas substituir os valores deles nos arquivos a seguir mencionados no link fornecido acima ou a execução de algum arquivo Fortran me ajudaria a criar arquivos prontos para inseri-los como uma entrada direta?
Espero estar sendo claro desta vez.

Caro @ ai-aspirant,

O NREL não forneceu código-fonte baseado em Fortran para gerar automaticamente os vários arquivos de entrada OpenFAST / AeroDyn. Você sempre pode editar manualmente os arquivos de entrada em qualquer editor de texto. Obviamente, se você pretende executar milhares de simulações, não deseja criar os arquivos de entrada manualmente. Em vez disso, você deseja gerar automaticamente os arquivos de entrada com algum tipo de script. Existe uma linguagem de script específica que você pretende usar, por exemplo, MATLAB ou Python? A caixa de ferramentas do MATLAB (https://github.com/OpenFAST/matlab-toolbox) tem scripts que podem ler e gravar arquivos de entrada OpenFAST, por exemplo, você pode ler os dados do arquivo de entrada no MATLAB, alterar os valores dentro do MATLAB e escreva o novo arquivo de entrada. Você pode usá-los como base para gerar seus próprios scripts. Meu entendimento é que existem scripts semelhantes na caixa de ferramentas Python (https://github.com/OpenFAST/python-toolbox), mas estou menos familiarizado com os detalhes.

Atenciosamente,

Caro @jjonkman ,
Isso é muito útil. Eu prefiro Python, vou dar uma olhada nisso. Obrigada.

Por último, eu queria saber no modelo OpenFAST, para um moinho eólico terrestre, uma combinação de Aerodyn, Servodyn, Elastodyn funcionaria o suficiente?
Isso é filtrado dos sinalizadores usados ​​no arquivo principal como uma entrada para o módulo OpenFAST.

Caro @ ai-aspirant

Seguindo a resposta de Jason, se você quiser criar um script para a geração dos arquivos de entrada, uma maneira de fazer isso é ter um conjunto de arquivos de entrada de "modelo" de um modelo OpenFAST existente. Seu script leria esses arquivos de modelo, modificaria os valores e os gravaria para a turbina e simulação fornecidas. Na caixa de ferramentas do matlab, a leitura e a gravação dos arquivos de entrada são feitas usando o script FAST2MATLAB e MATLAB2FAST . Para a caixa de ferramentas Python, você precisa usar o branch dev . Exemplos de leitura e gravação de arquivos são fornecidos no leia-me:
https://github.com/OpenFAST/python-toolbox/tree/dev/pyFAST/input_output

Geralmente, é bastante trabalhoso gerar um modelo de turbina, então você pode preferir editar cada valor dos arquivos de entrada "manualmente" se você só precisar fazer isso para uma turbina. Não temos uma maneira "padrão" de fazer isso, pois as entradas do usuário podem estar em vários formatos. Se você tiver muitos modelos para definir a partir de um determinado formato, esses scripts de leitura / escrita irão certamente ajudá-lo.

Depois de configurar um modelo de turbina e desejar gerar várias simulações, os scripts Matlab e Python também podem ser usados. Enviei um exemplo de como fazer isso com python aqui:
https://github.com/ebranlard/python-toolbox/blob/f/example/pyFAST/case_generation/examples/Example_Parametric.py

Espero que ajude,

Emmanuel

Caro @ebranlard ,
Isso seria de grande ajuda. Eu acessaria os links que você compartilhou e tentaria organizar os dados conforme exigido pelo OpenFAST.
Obrigada.

Além disso, quando você menciona a geração de um modelo de turbina, você se refere como combinar todos esses modelos autônomos no OpenFAST ou personalizar o original?

Obrigado novamente.

Cumprimentos,
Kirsten

Caro Kirsten,

Um modelo OpenFAST de turbina eólica terrestre normalmente teria os módulos ElastoDyn (para dinâmica estrutural), AeroDyn (para aerodinâmica), ServoDyn (para controles) e InflowWind (para influxo de vento ambiente) habilitados. Freqüentemente, o AeroDyn também é executado de forma autônoma (sem acoplamento aeroelástico) se você deseja estudar o desempenho aerodinâmico apenas antes de simular os aero-servo-elásticos acoplados.

Atenciosamente,

Oi Kirsten,

Meu palpite é que você já tem alguns "dados" sobre a turbina que deseja modelar: por exemplo, algumas propriedades geométricas, propriedades aerodinâmicas (distribuição de corda e torção, dados polares), propriedades materiais / estruturais (massas, rigidez, amortecimento) de diferentes componentes .

Com base nesses dados, você pode gravar os arquivos de entrada para OpenFAST. Chamarei esse conjunto de arquivos de entrada de "modelo OpenFAST".
Você pode encontrar um exemplo de um modelo OpenFAST para a turbina terrestre NREL 5MW aqui:
https://github.com/OpenFAST/r-test/tree/master/glue-codes/openfast/5MW_Land_DLL_WTurb

Você precisa saber muitos dados para fazer um modelo OpenFAST completo. É por isso que Jason está recomendando talvez começar configurando um modelo de "driver AeroDyn", onde você só precisa saber as propriedades aerodinâmicas da turbina que deseja modelar. Você encontrará exemplos no link que mencionou anteriormente:
https://openfast.readthedocs.io/en/master/source/user/aerodyn/apencha.html#aerodyn -input-files

Cumprimentos

Como observação, o formato do arquivo de entrada é fixo e espera-se que as entradas estejam em um determinado número de linha.

Ainda assim, de uma versão openfast para a próxima, às vezes introduzimos mudanças no formato do arquivo (adicionando ou removendo algumas linhas), então é importante manter o controle de qual versão do OpenFAST (ou AeroDyn / driver) você está usando.

As mudanças entre as versões são documentadas aqui:
https://openfast.readthedocs.io/en/master/source/user/api_change.html

O branch master do repositório "r-test" que mencionei anteriormente, tem arquivos de entrada que estão sempre alinhados com a versão atual do openFAST.

Olá Emmanuel e @jjonkman ,
Espero que você esteja bem. Obrigado por todas as suas respostas, me ajudou muito. No entanto, tentei executar o _5MW_Land_DLL_WTurb_ com os binários e executáveis ​​do OpenFAST. Ao executá-lo, obtive o seguinte resultado:
image

Os binários são colocados no caminho onde meus executáveis ​​estão presentes. Mesmo assim, estou recebendo esta mensagem. Então, eu queria saber se esta é apenas uma mensagem normal ou realmente executada sem esses módulos?
Avise-me se precisar de mais detalhes sobre vários diretórios.

Eu também visualizei usando paraview . Pode ser necessário algum tempo para entendê-lo melhor. Obrigado por isso novamente para vocês dois.

Também gostaria de perguntar se há um artigo que entenderia o limite ideal para cada variável fornecida na saída do FAST. Por exemplo, se eu considerar Wind1VelX ele varia entre 1.162E + 01 a 9.975E + 01, então há um limite para essa variável que me ajudará a entender se ela vai além de qualquer limite como uma anomalia?

Obrigada.

Cumprimentos,
Kirsten

Oi Kristen,

Com relação aos avisos de "saída nodal", eles não afetarão os resultados da simulação; você pode ignorar os avisos. Eu perguntei a @andrew-platt sobre isso, e aqui está sua resposta:

Vou alterá-los para informações em vez de aviso.

Quando adicionamos as saídas baseadas em nó, mantivemos os arquivos de entrada para cada módulo compatível com versões anteriores. As saídas do nó são uma segunda seção de saída após a seção de saída padrão. Portanto, o aviso / informação é apenas para permitir que o usuário saiba que esta seção do arquivo de entrada não existe e que eles não obterão saídas baseadas em nós. Isso foi adicionado ao ElastoDyn (apenas nós blade), BeamDyn e AD15, portanto, todos os três módulos podem relatar essas informações na inicialização.

Em relação aos avisos "C_nalpha is 0", você também pode ignorá-los. O modelo de aerodinâmica de aerodinâmica instável de AeroDyn não é válido quando a inclinação da curva normal do coeficiente de força é zero.

Não tenho conhecimento de um artigo que resuma os limites razoáveis ​​ou físicos para as várias saídas FAST .; isso virá apenas com a experiência. Mas uma faixa de velocidade do vento de 11,62 a 99,75 m / s parece realmente extrema.

Atenciosamente,

Olá @jjonkman ,
Entendido. Portanto, caso as saídas nodais não sejam geradas, a saída padrão seria suficiente, acredito.
Outra coisa que descobri foi que, enquanto eu estava examinando o arquivo
Além disso, eu queria entender o parâmetro de saída de tempo que varia de 0 a 60 no arquivo de saída semelhante que mencionei anteriormente. Isso significa um intervalo de série temporal?

Obrigado.
Cumprimentos,
Kirsten

Oi Kristen,

O arquivo de saída OpenFAST incluirá quaisquer saídas de nível de módulo que você selecionou. Se você não está obtendo nenhuma saída do ServoDyn e AeroDyn, é porque você não definiu as saídas nos arquivos de entrada ServoDyn e AeroDyn.

OpenFAST é um solucionador não linear no domínio do tempo, portanto, a saída é a resposta da turbina eólica em função do tempo.

Atenciosamente,

Ola Jason,
Entendi. Acabei de incluir uma lista de parâmetros e funcionou para ambos os módulos. Obrigado.
Outra coisa que eu estava tendo dificuldade em entender é que em meu arquivo gerado de saída é gerado um parâmetro 'Wind1VelX' que é o componente X do vento no ponto de vento 1 selecionado pelo usuário, já que o número de pontos selecionado é 1.
Mas caso eu precise entender exatamente onde está esse ponto para um melhor entendimento, você tem alguma ideia de onde posso encontrá-lo? Ou virá quando eu aprender sobre os moinhos de vento em detalhes?

Obrigado com respeito,
Kirsten

Oi Jason,
apenas para adicionar o ponto anterior, eu queria verificar o que exatamente os arquivos de visualização fornecem uma ideia geral? É uma animação de como os valores de velocidade ajudam no funcionamento de um moinho de vento ou outra coisa? Eu queria saber isso para entender o que exatamente eu estaria vendo no Paraview, já que os valores que obtive dentro de um arquivo Blade1referene.vlt se pareciam com o seguinte:

image
Então, isso significa a estrutura e várias velocidades que meus módulos estão fornecendo como uma saída ou alguns cálculos externos?

Cumprimentos,
Kirsten

Querida Kristen,

Os locais das saídas de vento ambiente do InflowWind (Wind1VelX, etc.) são especificados pelo usuário por meio dos parâmetros de entrada WindVxiList, WindVyiList e WindVziList no arquivo de entrada InflowWind. O módulo InflowWind está bem descrito no Guia do usuário do InflowWind, que ainda não foi transferido para OpenFAST readthedocs, mas está disponível aqui: https://drive.google.com/file/d/1-yJox2Kj-eBHfX2FdjE7RCaOkXRml9Mw/view?usp = compartilhamento.

A funcionalidade de visualização do OpenFAST pode ser usada para visualizar o estado não refletido ou animação de série temporal da resposta da turbina (em seu estado desviado) com um formato de figura de palito ou visualização completa da superfície. Você também pode visualizar vários campos, como movimentos e cargas. A funcionalidade de visualização do OpenFAST está documentada no antigo arquivo FAST v8 ReadMe, que ainda não foi transferido para OpenFAST readthedocs, mas está disponível aqui: https://drive.google.com/file/d/17LDwMnCVmLfbRWSaVFxxqphVrtawMwlj/view?usp= compartilhamento.

Atenciosamente,

Oi Jason,
Obrigado pela ajuda em um entendimento tão bom de tudo isso. Você pode me ajudar a entender os pontos que são considerados em vários módulos para cálculo de velocidade e cargas também? Enquanto examinava a documentação, só consegui encontrar o Grau de Liberdade e é isso.
Além disso, no OutListParameters.xlsx, na guia Nós, ele é mencionado em cada nó. Mas quais nós devem ser considerados, ele é mencionado em algum lugar ou estará na lista de VxiList fornecida?

Cumprimentos,
Kirsten

Oi Kristen,

Sinto muito, mas não tenho certeza se entendi suas perguntas. A qual planilha "Nós" você está se referindo? Você está se referindo a "AeroDyn_Nodes" ou "ElastoDyn_Nodes" ou algo mais? Esses nós referem-se aos vários nós de saída do módulo correspondente. Por exemplo, os nós de saída do AeroDyn nas lâminas e na torre são um subconjunto selecionado pelo usuário dos nós de análise aerodinâmica, conforme documentado na documentação do AeroDyn - consulte: https://openfast.readthedocs.io/en/master/source/ user / aerodyn / apethoscope.html # aerodyn -list-of-output-channels.

Atenciosamente,

Querido jason,

Então, cada módulo tem nós diferentes?

Eu queria perguntar sobre a planilha de "nós" para cada módulo que usamos, como AeroDyn, ServoDyn, ElastoDyn.
Considerando o AeroDyn no início, a folha AeroDyn tem um parâmetro de saída B1N1VUndx que informa a velocidade do vento para a lâmina 1 e o nó 1.
Para torres, será sempre entre o Nó 1 da Torre e o Nó da Torre n e as coordenadas para o mesmo serão fornecidas como uma entrada, conforme mostrado em https://openfast.readthedocs.io/en/master/source/user /aerodyn/input.html#ad -tower-geom
Da mesma forma, para números de nó na lâmina, ele estará no cordão da lâmina local começando da ponta t até a base da lâmina, conforme mostrado em https://openfast.readthedocs.io/en/master/source/user/aerodyn/apêndice .html # aerodyn -list-of-output-channels

Desculpe por todas as perguntas ingênuas, mas isso está certo?

Cumprimentos,
Kirsten

Querida Kristen,

Sim, está correto.

ElastoDyn também possui nós de análise e saída.

Atenciosamente,

Ola Jason,
Certo. Vou dar uma olhada nisso.
Posso simular a curva de potência usando o ServoDyn?
Eu me deparei com o parâmetro de energia elétrica gerada a partir daí. Isso é o mesmo?

Cumprimentos,
Kirsten

Querida Kristen,

Por "curva de potência", suponho que você quer dizer a potência em função da velocidade do vento. Isso, é claro, dependerá do controle, mas não pode ser calculado diretamente pelo ServoDyn. Você precisa modelar a aerodinâmica. Se você já conhece a velocidade do rotor e o ângulo de inclinação de cada velocidade do vento, pode usar o driver AeroDyn autônomo para calcular a potência aerodinâmica para cada caso. Se você não sabe disso, mas tem um controlador, ou o que incluir flexibilidade estrutural, você pode executar uma simulação OpenFAST separadamente para cada velocidade do vento ou com uma velocidade de vento uniforme, mas escalonada.

Atenciosamente,

Olá querido Jason,
Por curva de potência, quero dizer a potência de saída gerada em função da velocidade do vento, coeficientes de potência, etc.
Será semelhante à potência aerodinâmica? Desde então, a fórmula básica que conheço para o mesmo é
1/2*(Air Density* Max Power coefficient *wind speed^3*swept rotor area)

Cumprimentos,
Kirsten

Sua fórmula se aplica tanto à potência aerodinâmica quanto à elétrica, mas o coeficiente de potência será diferente nos dois casos. A potência elétrica será um pouco menor que a aerodinâmica devido às perdas na conversão mecânico-elétrica. Normalmente, essa eficiência de conversão depende da abordagem de conversão de energia e pode depender da velocidade do gerador ou da energia.

Atenciosamente,

Ola Jason,
Para o cálculo de potência aerodinâmica semelhante, encontrei este link https://openfast.readthedocs.io/en/master/source/user/aerodyn-aeroacoustics/03-model-verification.html?#reference -wind-turbine
Com base nisso, os dados que eu precisaria fornecer seriam o sistema de transmissão e a eficiência do gerador. Temos algum dado a ser usado como entrada para este cálculo de potência?
Acho que AeroAcoustics.f90 pode ajudar nisso, se não estiver errado.

Cumprimentos

Olá @ ai-aspirant,

A documentação a que você se refere mostra um exemplo - a turbina eólica de referência terrestre IEA Wind Task 37 - com uma eficiência do gerador de 93,6%. A turbina eólica de linha de base NREL de 5 MW fornece outro exemplo, com uma eficiência do gerador de 94,4%. Se você não tem uma eficiência específica do gerador em mente, pode supor um nesta faixa.

Atenciosamente,

Ola Jason,
Direito. Portanto, acredito que o parâmetro de saída RtAeroPwr mostrará a Geração de Energia Aerodinâmica.

Cumprimentos,

Correto.

Oi Jason,
Então, no caso de eu querer incluir meus dados no AeroDyn, há algum conjunto de parâmetros de entrada mínimos que vocês documentaram que irá me fornecer potência aerodinâmica de saída ou devo examinar todos os parâmetros de entrada e estudá-los bem seria uma opção melhor ?

Agradeço antecipadamente.

Cumprimentos,
Kirsten

Oi Kristen,

A documentação fornece orientação sobre quais entradas são usadas para quê. Esperamos que você tenha experiência suficiente em modelagem de turbinas eólicas para saber quais entradas seriam importantes para o cálculo da potência aerodinâmica.

Atenciosamente,

Oi Jason,
Então, eu estava tentando entender os arquivos quando descobri que o AoA (Ângulo de Ataque) estava entre o intervalo de 180 a -180. Existe uma razão em arquivos específicos durante a implementação do AeroDyn o ângulo de ataque diferente para diferentes aerofólios?

image
Na imagem acima, como você pode ver, os valores dos aerofólios podem ser diferentes começando com os arquivos cylindro1.dat denotando a parte esquerda da imagem e, portanto, diferentes arquivos aerofólio são usados ​​de acordo para todos os valores e com base nesses valores meus nós são determinado certo?

Com base nisso, existe algum número mínimo de aerofólios a serem considerados no OpenFAST maior que 1 que seja sugerido ou 1 deveria funcionar? O que você sugere, Jason?

A imagem mostrada acima é apenas para referência.

Cumprimentos,
Kirsten

Querida Kristen,

Os dados do aerofólio (levantamento, calado, momento versus AoA) devem ser fornecidos para o intervalo completo de 360 ​​graus (-180 a 180 graus) de AoA porque o AoA real é determinado em tempo de execução e pode mudar de etapa para etapa.

Os dados do aerofólio devem depender do formato do aerofólio, como você observou. Também pode depender do aumento rotacional (efeitos 3D), se você os estiver aplicando aos dados do aerofólio.

Normalmente, recomendamos cerca de 20 nós de análise aerodinâmica ao longo da lâmina. Se isso requer algumas tabelas de aerofólio (com cada tabela aplicada a vários nós) ou muitas tabelas de aerofólio (tabela única para cada nó) depende da variabilidade no formato do aerofólio ao longo da lâmina, a importância do aumento rotacional e a precisão desejada do solução.

Atenciosamente,

Querido jason,
OK. Isso parece ótimo.
Uma coisa que eu queria entender é se existem sensores para calcular a força de arrasto ou força de sustentação para que eu possa calcular seus coeficientes?

Outra coisa que eu queria apontar é que eu estava tentando reduzir o número de nós, então removi algumas linhas do arquivo "Test01_UAE_AeroDyn_blade.dat", alterei o número de NumBlNds para 15 e reduzi o número do parâmetro NumAFFiles de 10 para 5 , e alterou os parâmetros BlOutNd para 1, 3. Mesmo assim, estou obtendo a busca que o erro abaixo mostrou dizendo "ocorreu ao tentar ler BlOutNd."
Eu tenho que mudar mais alguma bandeira?

image

Obrigado novamente por toda a ajuda a todos e a você também @jjonkman e desculpe por todo o trabalho.

Cumprimentos,
Kirsten

Querida Kristen,

Desculpe, mas eu realmente não entendi sua primeira pergunta.

Com relação à segunda pergunta, você tem dois nós configurados para BlOutNd. Isso significa que você definiu NBlOuts = 2? Caso contrário, como acontece com qualquer erro de processamento de arquivo de entrada, ative a opção Echo para depurar erros na formatação do arquivo de entrada.

Atenciosamente,

Ola Jason,

A primeira pergunta era sobre como os coeficientes de arrasto e sustentação são calculados.
Uma vez que para a força de arrasto, segue a fórmula:
image

De acordo com qualquer arquivo .dat usado, temos uma combinação de ângulo AoA, coeficiente de arrasto, coeficiente de sustentação e cm.
Eu queria saber se os coeficientes são calculados usando a fórmula acima ou seriam de um sensor, já que os dados que estou enviando para usar o OpenFAST não têm nenhum valor de Cd, Cl ou Cm.

Obrigada.
Cumprimentos,
Kirsten

Querida Kristen,

Eu concordo com sua fórmula e acrescentaria que C_D normalmente depende de AoA (e talvez Re). A mesma equação se aplica à força de sustentação (F_L), usando C_L. Normalmente C_D e C_L são derivados como uma função de AoA (e talvez Re) para um determinado aerofólio com base em um túnel de vento ou soluções computacionais. Estes são então estendidos para a faixa completa de 360 ​​graus e corrigidos para aumento rotacional antes de serem inseridos no AeroDyn para aplicação dentro de um cálculo aeroelástico de turbina eólica.

Atenciosamente,

Ei Jason,

Não consegui entender como os valores dos coeficientes de arrasto ou sustentação são fornecidos como entrada. Quer dizer, existe um sensor adicional como um anemômetro para a velocidade do vento ou cata-vento para a direção do vento, da mesma forma para o coeficiente de arrasto também temos ou eles são calculados com base em uma fórmula particular.
A única fórmula que encontrei é:
O coeficiente de arrasto (Cd) é igual à densidade do ar (r) vezes a metade do quadrado da velocidade (V) vezes a área da asa (A).

Eu não tinha certeza se isso me ajudaria a criar valores de coeficientes diferentes que devem ser fornecidos como uma entrada para o AeroDyn. O OpenFAST faz o cálculo para algum desses coeficientes? Você pode me ajudar com a fórmula, por favor?

Cumprimentos,
Kirsten

Oi Kristen,

Como eu disse antes, o coeficiente de arrasto é normalmente derivado como uma função de AoA (e talvez Re) para um determinado aerofólio com base em um túnel de vento ou soluções computacionais. Para aerofólios finos, ferramentas de engenharia como XFoil ou RFoil (não desenvolvidas pela NREL) podem ser usadas para calcular o arrasto (e elevação) até o ponto de estol.

O arrasto é uma entrada para AeroDyn / OpenFAST, não calculado diretamente por ele. O NREL não desenvolveu ferramentas de engenharia para apoiar o cálculo dos coeficientes de arrasto.

Atenciosamente,

Olá, Jason, espero que você esteja bem em tempos difíceis.
Entendi. Obrigado.
Enquanto isso, eu estava pesquisando o Aerodyn_IO.f90 para entender algumas equações para a energia gerada em vários módulos.
Encontrei as seguintes equações para várias equações:
image

Só queria entender quais são exatamente as entradas, vamos considerar Potência Aerodinâmica do Rotor (RtAeroPwr), a equação consiste na carga aerodinâmica na direção x, quais são os demais parâmetros como BEMT_u?
O OpenFAST tem alguma documentação sobre essas equações?

Obrigado,
Kirsten

Oi Kristen,

A variável m% BEMT_u (indx)% omega é a velocidade do rotor. É uma entrada (u) para o submódulo BEMT do AeroDyn conforme definido no módulo AeroDyn, que também é uma variável diversa (MiscVar, m) do AeroDyn. O código-fonte inclui muita documentação, mas será necessário conhecimento de Fortran e da estrutura de modularização FAST para ser interpretado. Esta variável é definida em BEMT_Registry.txt (entrada omega) e AeroDyn_Registry.txt (MiscVar BEMT_u).

Atenciosamente,

Oi Jason,

Portanto, acredito que esses são valores de matriz, velocidade do rotor (velocidade angular do rotor) e carga aerodinâmica do rotor na direção x.
Além disso, o OpenFAST tem alguma documentação sobre o resto das equações que mencionei anteriormente, pois enquanto eu estava examinando os scripts, não consegui encontrar o

Daí a documentação do restante das equações compartilhada na imagem acima na última edição.

Cumprimentos,
Kirsten

Olá @jjonkman ,
Eu gostaria de acrescentar ao seu problema, @ ai-aspirant, e perguntar exatamente qual seria a minha variável de saída de energia do OpenFAST para todo o moinho eólico? Considerando o parâmetro GenPwr, como ele varia na faixa de 3,6mW - 5mW? Quer dizer, tanto quanto eu entendo, segue o formato da Curva de Potência. A velocidade de ativação (a potência continua aumentando), a velocidade nominal (a potência permanece constante) e a velocidade de desativação (a potência cai para zero).

Cumprimentos,
Mihir

Cara Kristen - Que tipo de documentação você está perguntando? Você está tentando entender as próprias equações (espero que sejam autoexplicativas para essas saídas) ou a documentação sobre a estrutura de modularização FAST?

Caro Mihir - A saída GenPwr do ServoDyn é a saída de energia elétrica (determinada pelo gerador e / ou controlador, incluindo perdas de eficiência elétrica). Em relação à sua variação, a potência de saída pode variar muito quando a turbina está operando com afluências turbulentas ou rajadas. A curva de potência representa o comportamento médio ou em estado estacionário.

Atenciosamente,

Oi Jason,
Certo, eu só queria entender as entradas para isso. Como são calculados ou fornecidos diretamente como entrada. Portanto, considerando a potência aerodinâmica, a velocidade do meu rotor e o momento de carga aerodinâmica na direção x, há algum tipo de entrada a ser fornecida como uma matriz ou apenas um número inteiro? Porque eu pude entender que é um único valor inteiro.
Outra questão é que essas entradas são fornecidas como uma entrada ou calculadas com outra equação e, se for o caso, quais são os parâmetros dos quais eu devo alterar para que minha saída final que neste caso, Potência aerodinâmica (RtAeroPwr) varia de acordo.

Obrigado,
Cumprimentos,
Kirsten

Caro Kirsten,

Nas equações acima, as entradas de nível de módulo são anotadas como u, os estados contínuos são anotados como x, as saídas são anotadas como y, os parâmetros são anotados como p e as variáveis ​​diversas são anotadas como m. Esses tipos de variáveis ​​são definidos no manual do programador NWTC: https://drive.google.com/file/d/1bDV1fBkiZUWs6Tkzb6nhCMUQvHpN_OtM/view?usp=sharing. As entradas de nível de módulo, u, especificamente, são entradas para um módulo conforme calculado por outro módulo dentro do OpenFAST (em vez de parâmetros de entrada definidos pelo usuário). No modo de driver independente (desacoplado do OpenFAST), as entradas são prescritas pelo código do driver independente. Na rotina CalcOutput, as entradas são fornecidas no momento da simulação atual. Na rotina UpdateStates, as entradas são fornecidas como uma matriz em um intervalo de tempos para que o módulo possa acessar a entrada em qualquer ponto no tempo dentro do intervalo de tempo em que está se integrando ao tempo (via interpolação). Mais informações são fornecidas no manual do programador NWTC.

Atenciosamente,

Querido jason,
Obrigado por essa informação. Portanto, com base no que você mencionou, os parâmetros usados ​​para o cálculo do RtAeroPwr são todos variáveis ​​diversas. Portanto, considere-os como variáveis ​​de saída do Aerodyn Ie RtSpeed ​​e RtAeroMxh.
Agora, quando eu multipliquei os dois diretamente, não é semelhante ao que RtAeroPwr fornece como uma saída no arquivo .out.
Todos os valores são diferentes.
Isso vai acontecer? Devo incluir qualquer outro parâmetro enquanto estou calculando assim?

Cumprimentos,
Kirsten

Oi Jason,
Então você quer dizer que meu GenPwr seria principalmente constante para ventos de estado estacionário? Se for esse o caso, então minha potência de saída não está nem perto de nenhuma curva de potência.
Posso plotar as curvas de potência usando esses módulos OpenFAST? Ou exigiria apenas ventos turbulentos?
Posso fazer isso no Paraview?

Cumprimentos,
Mihir

Caro Kirsten - Variáveis ​​diversas podem ser consideradas variáveis ​​locais que são armazenadas em tipos de framework para ganhos de eficiência computacional. Eles podem ser funções de entradas, saídas, estados ou parâmetros. O produto de RtSpeed ​​e RtAeroMxh deve ser igual a RtAeroPwr se as unidades forem apropriadas (RtSpeed ​​deve ser em rad / s, não rpm).

Caro Mihir - O OpenFAST pode fazer muito mais, mas é claro que pode ser usado para calcular uma curva de potência. Este tópico foi discutido em nosso fórum: https://wind.nrel.gov/forum/wind. Eu sugiro pesquisar lá para orientação.

Atenciosamente,

Querido jason,
Sim, eu converti de rpm para rad / s, ainda varia um pouco, não muito. Ajudou, obrigado.
Eu também tive algumas outras perguntas, vou apenas tentar resumi-las.

  1. Pelo que entendi com sua ajuda, AeroDynamic Power está ligada à Velocidade do Rotor e à Carga Aerodinâmica na direção x (também chamado de Rotor Torque conforme eu estava passando no fórum que você mencionou). Com base nisso, as duas variáveis ​​que mencionei como uma entrada são na verdade as saídas do módulo AeroDyn, mas eu queria saber quais entradas estão vinculadas a esses parâmetros (RtSpeed ​​e Rotor Torque). Não consegui encontrar a conexão ou mesmo a equação de quais entradas estão ligadas às variáveis ​​de equação aqui. Acabei de descer para a sub-rotina _AD_CalcOutput_, mas nenhuma conexão adicional. Então só queria saber sobre as ligações entre os mesmos.

  2. Eu vim a saber sobre a mudança na saída de energia elétrica gerada também no fórum, ou seja, GenPwr, temos alguma entrada dependente disso, semelhante às perguntas anteriores? Como, a fórmula que encontrei para isso é GenPwr = 0.001*y%ElecPwr

  3. Outra coisa que eu estava tentando entender, mas com dificuldade, era como as funções de tempo são inicializadas. Eu quero dizer de 0 a 60 funções de tempo, tendo 168 para cada função de tempo; base que eu não tinha certeza de como as variáveis ​​podem mudar, é por causa dos posicionamentos de todas as lâminas ou uma variável em particular é alterada de tal forma que o resto do parâmetro se desvia de acordo ou está interligado a algo?

  4. O OpenFAST suporta e fornece uma simulação para compreensão de falhas em vários componentes como caixa de engrenagens, pás, rotor, etc?

  5. Por acaso, o OpenFAST suporta a recriação de alguma variável particular no caso de alguém não ter dados para isso?

Minhas desculpas por algumas questões bastante triviais. Só queria ter certeza de que estou interpretando as saídas e o fluxo corretamente. Obrigado por todo o seu tempo e esforço.

Cumprimentos,
Kirsten

Querida Kristen,

Aqui estão minhas respostas para _algumas_ de suas perguntas;

  1. É importante distinguir entre entradas e saídas de nível de módulo (relacionadas a como os módulos interagem entre si no OpenFAST, também conhecido como u e y na documentação da estrutura de modularização e código-fonte) e entradas especificadas pelo usuário e saídas selecionadas pelo usuário ( parâmetros de entrada que o usuário define em um arquivo de entrada e o que é escrito no arquivo de saída). A velocidade do rotor é uma entrada de nível de módulo para AeroDyn (o que significa que é calculada por um módulo diferente (ElastoDyn) ou definida pelo driver) e também é possível incluir a velocidade do rotor no arquivo de saída. O torque do rotor é calculado no AeroDyn e pode ser gravado no arquivo de saída.

  2. A energia elétrica é calculada pelo módulo ServoDyn, dependendo de qual controle de torque ou modelo de gerador é selecionado. A equação que você afirma é apenas uma conversão de Watt em kW.

  3. Eu não entendo sua pergunta.

  4. Vários casos de falha são suportados, por exemplo, perda de controle de inclinação e perda de controle de torque, conforme discutido no fórum. Gostaria de pesquisar lá para obter mais informações.

  5. Alguns parâmetros de entrada têm configurações padrão, indicadas pela palavra-chave "DEFAULT", mas a maioria requer especificação do usuário. Consulte a documentação e os arquivos de entrada de amostra para obter mais informações.

Atenciosamente,

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

sayerhs picture sayerhs  ·  14Comentários

Balazs-G picture Balazs-G  ·  26Comentários

gilcastroh picture gilcastroh  ·  109Comentários

JoaquinPerCarr picture JoaquinPerCarr  ·  80Comentários

ptrbortolotti picture ptrbortolotti  ·  13Comentários