Openfast: Precisa de um script para converter de arquivos de entrada FAST v8.16 para OpenFAST v1.0

Criado em 27 out. 2017  ·  12Comentários  ·  Fonte: OpenFAST/openfast

Historicamente, o NREL oferece suporte a uma caixa de ferramentas MATLAB (https://github.com/OpenFAST/matlab-toolbox) que pode ser usada para converter arquivos de entrada FAST de uma versão para outra para ajudar os usuários a atualizar seus modelos ao atualizar versões FAST. No entanto, esta caixa de ferramentas ainda não foi atualizada (ou um script equivalente fornecido em seu lugar) para oferecer suporte à conversão de arquivos de entrada do formato FAST v8.16 para OpenFAST v1.0. O formato do OpenFAST v1.0 não é muito diferente do FAST v8.16 (sem apenas uma pequena alteração no arquivo de entrada principal FAST e várias adições ao arquivo de entrada principal AeroDyn), mas essas diferenças irão crescer com o tempo, , o script deve ser atualizado continuamente junto com o OpenFAST.

Além disso, todos os arquivos de entrada OpenFAST de amostra nos testes de regressão ainda incluem números de versão com base na antiga convenção de numeração específica do módulo. Agora que a convenção de numeração de versão foi alterada no OpenFAST, os números de versão nos arquivos de entrada de exemplo devem ser atualizados de acordo.

Help wanted Enhancement

Todos 12 comentários

Oi
Eu sou muito novo no OpenFAST.
Baixei o código-fonte e compilei no windows usando o estúdio paralelo e o estúdio visual. Segui os métodos e as perguntas feitas aqui e ali e consegui obter o S-Function e agora tenho esses arquivos e posso executar o S-Function em arquivos de teste com êxito.
O modelo no qual estou trabalhando é um modelo Simulink que funciona com FAST (v8.16.00a-bjj, 27-Jul-2016). Eu li este tópico e tentei trabalhar com as diferentes ferramentas de conversão sem sucesso. Eu esperava que você pudesse me orientar melhor sobre como proceder com a conversão, por favor?

Olá @arminzaribaf ,

@bjonkman carregou uma atualização para os antigos scripts de conversão baseados em MATLAB com suporte no FAST v8 acima, mas esses scripts não estão disponíveis para cada versão do OpenFAST (daí porque este problema ainda está aberto).

Independentemente disso, as alterações do arquivo de entrada com cada versão do OpenFAST (a partir do FAST v8.16) estão bem documentadas aqui: https://openfast.readthedocs.io/en/master/source/user/api_change.html.

Atenciosamente,

@arminzaribaf , você deve ser capaz de usar https://github.com/OpenFAST/matlab-toolbox/blob/master/ConvertFASTversions/ConvertFAST8_16to17.m para converter do FAST 8.16 para a versão atual (master?) do OpenFAST.

Se você deseja converter para a versão dev mais recente do OpenFAST, recomendo usar os arquivos em meu fork: https://github.com/bjonkman/matlab-toolbox/blob/master/ConvertFASTversions/ConvertFAST8_16to17.m

Quando eu atualizo os arquivos de entrada do r-test para uma nova versão do OpenFAST, eu executo este script que chama o script ConvertFAST8_16to17.m : https://github.com/OpenFAST/r-test/blob/master/updateInputFiles .m

Agradeço a ambos pela resposta realmente rápida :-)

@jjonkman Obrigado por esse link, estive

@bjonkman Como estou usando a última versão dev, usei seu fork e converti com sucesso (?) após algumas tentativas e erros, eu acho, aqui está o resultado que recebo e alguns avisos que podem estar afetando o próximo Passo:
AVISO: ExctnMod não encontrado na estrutura de dados do HD. O valor padrão listado abaixo (do arquivo de modelo, .. \ matlab \ TemplateFiles \ HydroDyn.dat) será usado em seu lugar:
1

AVISO: BldGagNd não encontrado na estrutura de dados FAST. O valor padrão listado abaixo (do arquivo de modelo, .. \ matlab \ TemplateFiles \ ElastoDyn_Primary.dat) será usado em seu lugar:
2 3

GetFASTPar :: Parameter RefHt_Uni não encontrado.
Parâmetro RefHt_Uni não encontrado; adicionando-o à estrutura de dados.
Parâmetro RefHt_Hawc não encontrado; adicionando-o à estrutura de dados.
Parâmetro PLExp_Hawc não encontrado; adicionando-o à estrutura de dados.
Parâmetro Filename_BTS não encontrado; adicionando-o à estrutura de dados.
AVISO: PropagationDir não encontrado na estrutura de dados FAST. O valor padrão listado abaixo (do arquivo de modelo, .. \ matlab \ TemplateFiles \ InflowWind.dat) será usado em seu lugar:
0

AVISO: VFlowAng não encontrado na estrutura de dados FAST. O valor padrão listado abaixo (do arquivo de modelo, .. \ matlab \ TemplateFiles \ InflowWind.dat) será usado em seu lugar:
0

AVISO: várias ocorrências de RefHt na estrutura de dados FAST.
AVISO: múltiplas ocorrências de PLExp na estrutura de dados FAST.
AVISO: várias ocorrências de FileName na estrutura de dados FAST.
AVISO: InitPosition (x) não encontrado na estrutura de dados FAST. O valor padrão listado abaixo (do arquivo de modelo, .. \ matlab \ TemplateFiles \ InflowWind.dat) será usado em seu lugar:
0

AVISO: CalcSteady não encontrado na estrutura de dados FAST. O valor padrão listado abaixo (do arquivo de modelo, .. \ matlab \ TemplateFiles \ OpenFAST.fst) será usado em seu lugar:
Falso
AVISO: TrimCase não encontrado na estrutura de dados FAST. O valor padrão listado abaixo (do arquivo de modelo, .. \ matlab \ TemplateFiles \ OpenFAST.fst) será usado em seu lugar:
3

AVISO: TrimTol não encontrado na estrutura de dados FAST. O valor padrão listado abaixo (do arquivo de modelo, .. \ matlab \ TemplateFiles \ OpenFAST.fst) será usado em seu lugar:
1.0000e-03

AVISO: TrimGain não encontrado na estrutura de dados FAST. O valor padrão listado abaixo (do arquivo de modelo, .. \ matlab \ TemplateFiles \ OpenFAST.fst) será usado em seu lugar:
0,0100

AVISO: Twr_Kdmp não encontrado na estrutura de dados FAST. O valor padrão listado abaixo (do arquivo de modelo, .. \ matlab \ TemplateFiles \ OpenFAST.fst) será usado em seu lugar:
0

AVISO: Bld_Kdmp não encontrado na estrutura de dados FAST. O valor padrão listado abaixo (do arquivo de modelo, .. \ matlab \ TemplateFiles \ OpenFAST.fst) será usado em seu lugar:
0

5 arquivos são criados no novo diretório (fst, ED, Hydro, Inflow e Servo.) Eu os substituo pelos do diretório principal e recebo este erro na simulação:
OpenFAST-v2.4.0-dirty
Informações de compilação:

  • Compilador: Intel (R) Fortran Compiler 1910
  • Arquitetura: 64 bits
  • Precisão: único
  • Data: 06 de novembro de 2020
  • Horário: 13:21:51
    Informações de execução:
  • Data: 12/10/2020
  • Horário: 20: 17: 50 + 0100

Executando ElastoDyn.
Seção de saídas nodais do arquivo de entrada ElastoDyn não encontrada ou formatada incorretamente.
Executando o AeroDyn14.
Executando o InflowWind.

OpenFAST concluído.

Erro relatado pela função S 'FAST_SFunc' em 'Model05 / System / S-Function':
FAST_Init ializeAll: InflowWind_Init : InflowWind_ ReadInput: entrada numérica
". \ v05InflowFile.dat" ocorreu ao tentar ler HWindSpeed.

No Inflow type 2 wind é usado com um arquivo de entrada, eu verifiquei o formato e parece que está tudo bem comparando-o com "ECD_00PR.wnd" no teste r. e aqui está a seção de parâmetros em InFlowFile
================== Parâmetros para o arquivo Uniform wind [usado apenas para WindType = 2] =================== =========
"16d0.wnd" FileName - Nome do arquivo de dados de série temporal para campo de vento uniforme. (-)
129 RefHt_Uni - Altura de referência para velocidade do vento horizontal (m)
135,88 RefLength - Comprimento de referência para curvas horizontais e verticais lineares (-)

@arminzaribaf , Parece que ele não consegue ler um valor numérico na linha 13 ( HWindSpeed ). Mesmo que esse valor seja ignorado por InflowWind com o tipo de vento que você especificou, ele ainda precisa conter um número. Você pode confirmar se esta linha está configurada corretamente?

Além disso, ele diz que você está usando uma versão modificada do OpenFAST v2.4.0, mas se você estivesse realmente usando o branch de desenvolvimento mais recente, eu esperaria que ele tivesse alguns números de commit após essa versão (e antes de "-dirty"). Então, eu acho que você provavelmente tem uma linha extra em seu arquivo de entrada InflowWind (por exemplo, remova a linha 7 que contém VFlowAng que é nova no branch dev).

Se você atualizar para o branch de desenvolvimento OpenFAST mais recente, também poderá ter problemas com nomes de variáveis ​​nos arquivos de entrada do InflowWind. Uma mudança muito recente agora requer que os parâmetros no arquivo InflowWind sejam nomeados de maneiras específicas, mas parece que esses parâmetros não foram atualizados nos arquivos de conversão matlab-toolbox (ou na documentação do OpenFAST).

@bjonkman Incrível, a linha 7 era o problema. HWindSpeed ​​foi definido e antes de postar tente remover e redigitar o número para ter certeza de que é um número.
Depois disso, tive outro problema com o arquivo Hydro e depois de verificar não havia nenhuma entrada no final, então o final estava preso em \ r \ n. Acho que tem a ver com a conversão onde tive que escolher qual sintaxe deveria rodar baseado no SO.
Eu clonei e compilei há cerca de um mês, então talvez seja por isso que não é a versão mais recente. Quando eu atualizar, vou me lembrar disso.
Muito obrigado pela sua ajuda.

Estou apenas relatando o que mudei depois de atualizar e compilar para a compilação mais recente (OpenFAST-v2.4.0-111-g4b5559fb-dirty)

Eu adicionei a linha de fundo 7 à entrada InflowWind (VFlowAng),
na linha 17 alterou FileName para FileName_Uni,
e esperava SumPrint na linha 51 então removi a linha "== OUTPUT ==" e funcionou sem problemas, dando os mesmos resultados.
Só recebi um novo aviso:

FAST_InitializeAll: IfW_ Init: IfW_UniformWind_Init : Não foi possível ler a coluna de fluxo ascendente com vento uniforme
arquivos. Supondo que o fluxo ascendente seja 0.

Olá @ armin-zbf,

O arquivo UniformWind agora suporta um ângulo de fluxo ascendente (coluna 9). Veja aqui um exemplo.
A documentação sobre o InflowWind pode ser encontrada aqui: https://openfast.readthedocs.io/en/dev/source/user/inflowwind/index.html

Saúde!

@ armin-zbf
Oi
Também sou muito novo no OpenFAST e também no código-fonte.
Baixei o código-fonte e compilei no windows usando o estúdio paralelo e o estúdio visual. MAS eu tenho algumas perguntas.
1. meus binários são baixados, onde devo colocá-los

  1. As bibliotecas de matemática precisam instalá-lo? O que fazer?
    3.e muitos mais ......
    Isso pode desperdiçar seu tempo, mas ainda espero que você possa me dar algumas sugestões, até etapas de instalação tolas.

obrigado! ~~

24-12-2020
O problema foi resolvido ~~~

Olá @ haojunjie0429
Desculpe pelo atraso na resposta, é temporada de férias.

  1. Se você compilou com sucesso, então você não precisa dos binários baixados, tudo que você precisa está na pasta build\bin .
  2. Se você estiver usando o Windows, não precisa das bibliotecas matemáticas.
  3. Não se preocupe, passe algum tempo com alguns exemplos e você entenderá tudo, e aqui no GitHub existem muitos desenvolvedores :-)

@ armin-zbf Obrigado. Tenha um bom feriado

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