Openfast: 利用可能なデータはどこにありますか、またはどのスクリプトがデータを作成しますか?

作成日 2020年10月19日  ·  54コメント  ·  ソース: OpenFAST/openfast

こんにちは、みんな、
ドキュメントを調べましたが、どのスクリプトがデータを作成するのかわかりませんでしたか? NRELのWebサイトでは、プリプロセッサAirfoilPrepがAerodynのデータの作成に役立ちます。たとえば、このような多くのインスタンスに存在します。 しかし、ここでどのモジュールがプリプロセッサとして機能し、データをダウンロードしたり、すべての.datファイルをフェッチしたりする方法はありますか?

事前にどうもありがとうございました。

Usage question

全てのコメント54件

親愛なる@ ai-aspirant、

あなたの質問を完全に理解できるかどうかはわかりませんが、NRELはOpenFAST用に次のようないくつかのプリプロセッサを開発しました。

  • AirfoilPrep(2DデータからAeroDynで使用するための翼型データを生成するため)
  • TurbSim(InflowWindの周囲の乱風を生成するため)
  • IECWind(InflowWindの決定論的風を生成するため)
  • BModes(ElastoDynのモード形状を生成するため)
  • NS。

これらのうち、TurbSimのみが現在githubのOpenFASTリポジトリに含まれています。

よろしくお願いします、

親愛なる@jjonkman 、これへのあなたの応答に感謝します。
モデルにデータを提供したい場合、ドキュメントの例で提供されているものと常に同様の形式になりますか?
または、openfastリポジトリにスクリプトが必要で、入力として同様の形式のデータを作成するのに役立ちますか?
今回は意味がありますか?

親愛なる@ ai-aspirant、

さまざまなOpenFAST入力ファイルの形式が修正されました。 これらの入力ファイルに入力するデータを手動またはスクリプトで生成できます...本当に好きな方法で。 以前の投稿で、NRELがプロセスを支援するために開発した一般的なプリプロセッサのいくつかについて言及しました。

風力タービンの空力特性、構造特性、制御特性、またはシミュレーションの駆動に使用される風の流入を変更しようとしているかどうかはわかりません。 しかし、それが役立つ可能性があることを明確にすることは、より具体的なガイダンスを提供するのに役立つ可能性があります。

よろしくお願いします、

その@jjonkmanをありがとう
分かりました。 しかし、私が述べたように、どのマッピングファイルがプロセスを支援するのに役立つかを知りたいと思いました。 実行する必要があるのは1つのファイルだけでしょうか? または、提供された基本入力を持つ実行可能ファイル? そして、どちらかが当てはまる場合、それはすべてのプリプロセッサで同じままですか? そうでない場合は、お互いのプリプロセッサモジュールで助けを求めることができます。

したがって、基本的に@jjonkmanのアイデアは、openfastを完全に実行してシミュレートすることですが、チームで適切に管理できるように、入力ファイルの形式を理解したかっただけです。

私が持っているもう1つの質問は、バイナリから実行可能なopenfastモデルを実行すると、データに追加のフラグが作成されるだけだということです。 シミュレーションはできませんよね? Simulinkモジュールを明示的に実行する必要があります。

急いで質問してすみません。

親愛なる@ ai-aspirant、

私はあなたの質問を本当に理解しているかどうかわかりません。

OpenFASTシミュレーションを実行するには、プライマリ(_ *。fst_)入力ファイルと、各モジュールの入力ファイルが必要です(一部のモジュールには複数の入力ファイルが必要です)。 OpenFASTの実行時には、プライマリ入力ファイルのみが指定されます。 プライマリ入力ファイルには、有効になっているモジュールと、それぞれの入力ファイルの名前(パスを含む)が一覧表示されます。 OpenFAST入力ファイルを設定するために、OpenFASTシミュレーションを実行する前に前処理ステップが実行されます。

OpenFASTは、独立して実行することも、Simulinkに接続することもできます。 Simulinkインターフェイスは、MATLAB / Simulink内に制御ロジックを実装する場合にのみ必要です。

よろしくお願いします、

こんにちは@jjonkman
さて、質問を分解させてください。 まず、私の懸念はデータに関するものです。特定のモジュール用に作成したいデータは、次のリンクにあるものと同じように見えるはずです。 https://openfast.readthedocs.io/en/master/source/user/aerodyn/appendix.html#ad -appendix
つまり、これには4種類のデータがあり、ドライバーはスタンドアロンモジュールを実行する必要がある場合にのみ使用されます。
2つ目は、風車の特定の値に関する情報を含むいくつかのデータパスで構成されるプライマリ入力ファイルです。
3つ目は、ブレードの形状を教えてくれるブレードファイルで、風車ごとに異なりますよね?
最後のファイルは翼型ファイルであり、翼型の迎え角、抗力、揚力など、翼型の構造に関連するパラメータもほとんどありません。

同様のデータを配置するとき、上記のリンクに記載されている次のファイルの値を置き換える必要がありますか、それともFortranファイルを実行すると、直接入力として入力できるファイルを作成できますか?
今回ははっきりしているといいのですが。

親愛なる@ ai-aspirant、

NRELは、さまざまなOpenFAST / AeroDyn入力ファイルを自動生成するためのFortranベースのソースコードを提供していません。 入力ファイルは、任意のテキストエディタでいつでも手動で編集できます。 もちろん、何千ものシミュレーションを実行する場合は、入力ファイルを手動で作成する必要はありません。 代わりに、ある種のスクリプトを使用して入力ファイルを自動生成する必要があります。 使用する予定の特定のスクリプト言語(MATLABやPythonなど)はありますか? MATLABツールボックス(https://github.com/OpenFAST/matlab-toolbox)には、OpenFAST入力ファイルの読み取りと書き込みが可能なスクリプトがあります。たとえば、入力ファイルデータをMATLABに読み込んだり、MATLAB内の値を変更したりできます。新しい入力ファイルを書き出します。 これらを、独自のスクリプトを生成するための基礎として使用できます。 私の理解では、Pythonツールボックス(https://github.com/OpenFAST/python-toolbox)にも同様のスクリプトが存在しますが、詳細についてはあまり詳しくありません。

よろしくお願いします、

親愛なる@jjonkman
これは本当に役に立ちます。 私はPythonが好きで、調べます。 ありがとうございました。

最後に、OpenFASTモデルで、陸上風車の場合、Aerodyn、Servodyn、Elastodynの組み合わせで十分に機能するかどうかを知りたいと思いました。
これは、OpenFASTモジュールへの入力としてプライマリファイルで使用されるフラグからフィルタリングされます。

親愛なる@ ai-aspirant

Jasonの回答に続いて、入力ファイルの生成をスクリプト化する場合、これを行う1つの方法は、既存のOpenFASTモデルからの「テンプレート」入力ファイルのセットを用意することです。 スクリプトは、これらのテンプレートファイルを読み取り、値を変更して、特定のタービンとシミュレーション用に書き込みます。 matlabツールボックスでは、入力ファイルの読み取りと書き込みは、スクリプトFAST2MATLABMATLAB2FASTを使用して行われます。 Pythonツールボックスの場合、 devブランチを使用する必要があります。 ファイルの読み取りと書き込みの例は、readmeに記載されています。
https://github.com/OpenFAST/python-toolbox/tree/dev/pyFAST/input_output

通常、タービンモデルを生成するのはかなりの作業です。したがって、1つのタービンに対してのみこれを行う必要がある場合は、入力ファイルの各値を「手動で」編集することをお勧めします。 ユーザー入力はさまざまな形式で行うことができるため、これを行う「標準的な」方法はありません。 1つの特定の形式から設定するモデルが多数ある場合は、これらの読み取り/書き込みスクリプトが間違いなく役立ちます。

タービンモデルを設定し、多くのシミュレーションを生成したい場合は、Matlabおよびpythonスクリプトも使用できます。 Pythonでこれを行う方法の例をここにアップロードしました:
https://github.com/ebranlard/python-toolbox/blob/f/example/pyFAST/case_generation/examples/Example_Parametric.py

それがお役に立てば幸いです、

エマニュエル

親愛なる@ebranlard
これは大いに役立ちます。 私はあなたが共有したリンクを調べて、OpenFASTの要求に応じてデータを配置してみます。
ありがとうございました。

また、タービンモデルの生成について言及するとき、それらすべてのスタンドアロンモデルをOpenFASTに結合すること、または元のモデルをカスタマイズすることを指しますか?

ありがとうございました。

よろしく、
キルステン

親愛なるキルステン、

陸上の風力タービンOpenFASTモデルでは、通常、ElastoDyn(構造ダイナミクス用)、AeroDyn(空気力学用)、ServoDyn(コントロール用)、およびInflowWind(周囲の風の流入用)モジュールが有効になっています。 結合された空力サーボ弾性をシミュレートする前にのみ空力性能を研究したい場合は、多くの場合、AeroDynはスタンドアロン(空力弾性結合なし)で実行されます。

よろしくお願いします、

こんにちはキルステン、

私の推測では、モデル化するタービンに関するいくつかの「データ」がすでにあります。たとえば、いくつかの幾何学的特性、空力特性(弦とねじれの分布、極座標データ)、さまざまなコンポーネントの材料/構造特性(質量、剛性、減衰) 。

これらのデータに基づいて、OpenFASTの入力ファイルを書き込むことができます。 この入力ファイルのセットを「OpenFASTモデル」と呼びます。
陸上のNREL5MWタービンのOpenFASTモデルの例は次の場所にあります。
https://github.com/OpenFAST/r-test/tree/master/glue-codes/openfast/5MW_Land_DLL_WTurb

完全なOpenFASTモデルを実行するには、多くのデータを知っている必要があります。 これが、ジェイソンが「AeroDynドライバー」モデルを設定することから始めることを推奨している理由です。このモデルでは、モデル化するタービンの空力特性を知るだけで済みます。 前に述べたリンクに例があります。
https://openfast.readthedocs.io/en/master/source/user/aerodyn/appendix.html#aerodyn -input-files

よろしく

注意として、入力ファイルの形式は固定されており、入力は特定の行番号で行われることが期待されています。

ただし、openfastのバージョンごとに、ファイル形式の変更(数行の追加または削除)が導入されることがあるため、使用しているOpenFAST(またはAeroDyn / driver)のバージョンを追跡することが重要です。

バージョン間の変更はここに文書化されています:
https://openfast.readthedocs.io/en/master/source/user/api_change.html

前に指摘した「r-test」リポジトリのマスターブランチには、openFASTの現在のバージョンと常に一致する入力ファイルがあります。

こんにちはエマニュエルと@jjonkman
あなたの調子が良いといいのですが。 たくさんのご回答ありがとうございました。とても助かりました。 ただし、OpenFASTバイナリと実行可能ファイルを使用して_5MW_Land_DLL_WTurb_を実行してみました。 実行中に、次の結果が得られました。
image

バイナリは、実行可能ファイルが存在するパスに配置されます。 それでも、このメッセージが表示されます。 それで、これは単なる通常のメッセージなのか、それともこれらのモジュールなしで実際に実行されたのか疑問に思いました。
さまざまなディレクトリの詳細が必要な場合はお知らせください。

また、 paraviewを使用して視覚化し

また、FASTの出力で提供されるすべての変数の理想的な制限を理解できる記事があるかどうかを尋ねたいと思いました。 たとえば、Wind1VelXを検討すると、1.162E +01から9.975E + 01の範囲になります。そのため、異常などの制限を超えているかどうかを理解するのに役立つ、その変数の制限はありますか?

ありがとうございました。

よろしくお願いします、
キルステン

こんにちはクリステン、

「ノード出力」警告に関しては、これらはシミュレーション結果に影響しません。 警告は無視してかまいません。 私は@ andrew-plattにこれらについて尋ねました、そしてここに彼の応答があります:

警告ではなく情報に変更します。

ノードベースの出力を追加したとき、各モジュールの入力ファイルには下位互換性を維持しました。 ノード出力は、標準出力セクションに続く2番目の出力セクションです。 したがって、警告/情報は、入力ファイルのこのセクションが存在せず、ノードベースの出力を取得しないことをユーザーに通知するためのものです。 これはElastoDyn(ブレードノードのみ)、BeamDyn、およびAD15に追加されたため、3つのモジュールすべてが初期化時にこの情報を報告する場合があります。

「C_nalphais0」の警告に関しては、これらも無視してかまいません。 AeroDynの非定常翼型空気力学モデルは、法線力係数曲線の勾配がゼロの場合は無効です。

さまざまなFAST出力の合理的または物理的な制限を要約した論文を私は知りません。 これらは経験によってのみもたらされます。 しかし、11.62から99.75 m / sの風速範囲は確かに極端に聞こえます。

よろしくお願いします、

こんにちは@jjonkman
了解した。 したがって、ノード出力が生成されない場合は、標準出力で十分だと思います。
私が遭遇したもう1つのことは、生成された_5MW_Land_DLL_WTurb.out_ファイルを調べているときに、InFlowWindモジュールとElastoDynモジュールの出力パラメーターのみで構成されていたことです。 _Output Files_セクションのFASTユーザーガイドに記載されているようなAerodynおよびServoDynからの出力パラメーターが含まれていませんか?
また、前述した同様の出力ファイルで0〜60の範囲の時間出力パラメーターを理解したかったのですが、それは時系列範囲を意味しますか?

ありがとう。
よろしく、
キルステン

こんにちはクリステン、

OpenFAST出力ファイルには、選択したモジュールレベルの出力が含まれます。 ServoDynおよびAeroDynから出力が得られない場合は、ServoDynおよびAeroDyn入力ファイルに出力を設定していないことが原因です。

OpenFASTは非線形時間領域ソルバーであるため、出力は時間の関数としての風力タービンの応答です。

よろしくお願いします、

こんにちはジェイソン、
とった。 パラメータのリストを含めたところ、両方のモジュールで機能しました。 ありがとう。
私が理解するのに苦労していたもう1つのことは、出力生成ファイルで、選択したポイント数が1であるため、ユーザーが選択した風ポイント1での風のXコンポーネントであるパラメーター「Wind1VelX」が生成されることです。
しかし、理解を深めるためにそのポイントがどこにあるのかを正確に理解する必要がある場合、どこでそれを見つけることができるか考えていますか? それとも、風車について詳しく学ぶときに来るのでしょうか。

よろしくお願いします、
キルステン

こんにちはジェイソン、
前のポイントを追加するだけで、視覚化ファイルが正確に何の要点を示しているかを確認したかったのですか? 速度の値が風車などの運転にどのように役立つかを示すアニメーションですか? Blade1referene.vltファイル内で取得した値は次のようになっているため、Paraviewで何を見ているのかを正確に理解できるように知りたいと思いました。

image
それで、これは私のモジュールが出力またはいくつかの外部計算として提供している構造とさまざまな速度を意味しますか?

よろしく、
キルステン

親愛なるクリステン、

InflowWind(Wind1VelXなど)からの周囲風出力の場所は、InflowWind入力ファイルの入力パラメーターWindVxiList、WindVyiList、およびWindVziListを介してユーザーが指定します。 InflowWindモジュールについては、OpenFAST readthedocsにまだ移植されていないInflowWindユーザーガイドで詳しく説明されていますが、 https ://drive.google.com/file/d/1-yJox2Kj-eBHfX2FdjE7RCaOkXRml9Mw/view?uspから入手できます。

OpenFASTの視覚化機能は、棒人間形式または全面視覚化のいずれかを使用して、タービン応答の偏向されていない状態または時系列アニメーション(偏向された状態)を視覚化するために使用できます。 また、モーションや負荷などのさまざまなフィールドを視覚化することもできます。 OpenFASTの視覚化機能は、OpenFASTreadthedocsにまだ移植されていない古いFASTv8 ReadMeファイルに記載されていますが、 https ://drive.google.com/file/d/17LDwMnCVmLfbRWSaVFxxqphVrtawMwlj/view?usp =で入手できます。

よろしくお願いします、

こんにちはジェイソン、
これらすべてについてのこのような素晴らしい理解に助けてくれてありがとう。 速度計算と荷重のさまざまなモジュールで考慮されるポイントを理解するのを手伝ってもらえますか? 文書を読んでいる間、私は自由度にしか出くわすことができませんでした。
また、OutListParameters.xlsxの[ノード]タブで、各ノードに記載されています。 しかし、どのすべてのノードが考慮されるべきか、それはどこかに言及されているのでしょうか、それとも提供されるVxiListのリストに含まれるのでしょうか?

よろしく、
キルステン

こんにちはクリステン、

申し訳ありませんが、あなたの質問を理解できるかどうかはよくわかりません。 どの「ノード」ワークシートを参照していますか? 「AeroDyn_Nodes」や「ElastoDyn_Nodes」などを参照していますか? これらのノードは、対応するモジュールのさまざまな出力ノードを参照します。 たとえば、ブレードとタワーのAeroDyn出力ノードは、AeroDynのドキュメントに記載されているように、ユーザーが選択した空力解析ノードのサブセットです。https ://openfast.readthedocs.io/en/master/source/を参照して

よろしくお願いします、

親愛なるジェイソン、

では、すべてのモジュールに異なるノードがありますか?

AeroDyn、ServoDyn、ElastoDynなど、使用したすべてのモジュールの「ノード」ワークシートについて質問したいと思いました。
最初のAeroDynを考慮すると、AeroDynシートには、ブレード1とノード1の風速を示す出力パラメーターB1N1VUndxがあります。
タワーの場合、常にタワーノード1とタワーノードnの間にあり、 https://openfast.readthedocs.io/en/master/source/userに示すように、同じ座標が入力として提供され
同様に、ブレードのノード番号については、 https: //openfast.readthedocs.io/en/master/source/user/aerodyn/appendixに示すように、ブレードの先端tから基部までのローカルブレードコードライン上にあり

すべての素朴な質問で申し訳ありませんが、これは正しいですか?

よろしく、
キルステン

親愛なるクリステン、

はい、その通りです。

ElastoDynには、分析ノードと出力ノードもあります。

よろしくお願いします、

こんにちはジェイソン、
もちろん。 調べてみます。
ServoDynを使用してパワーカーブをシミュレートできますか?
そこから発電電力パラメータに出くわしました。 それは同じですか?

よろしく、
キルステン

親愛なるクリステン、

「パワーカーブ」とは、風速の関数としてのパワーを意味すると思います。 もちろん、これは制御に依存しますが、ServoDynによって直接計算することはできません。 空力をモデル化する必要があります。 各風速でのローター速度とピッチ角がすでにわかっている場合は、スタンドアロンのAeroDynドライバーを使用して、それぞれの場合の空力パワーを計算できます。 それがわからないが、コントローラー、または構造上の柔軟性を含めるものがある場合は、OpenFASTシミュレーションを、風速ごとに個別に実行するか、均一であるが段階的な風速で実行できます。

よろしくお願いします、

こんにちは、ジェイソンさん、
電力曲線とは、風速、電力係数などの関数として生成される出力電力を意味します。
空力に似ているのでしょうか? 以来、私が同じことを知っている基本式は
1/2*(Air Density* Max Power coefficient *wind speed^3*swept rotor area)

よろしく、
キルステン

あなたの公式は空力と電力の両方に適用されますが、電力係数は2つの場合で異なります。 機械から電気への変換で損失が発生するため、電力は空力電力よりも少し少なくなります。 通常、この変換効率は電力変換アプローチに依存し、発電機の速度または電力に依存する可能性があります。

よろしくお願いします、

こんにちはジェイソン、
同様の空力計算については、このリンクhttps://openfast.readthedocs.io/en/master/source/user/aerodyn-aeroacoustics/03-model-verification.html?#reference-wind-turbineに出くわしました。
これに基づいて、私が提供する必要があるデータは、駆動列と発電機の効率です。 この検出力計算の入力として使用するデータはありますか?
私が間違っていなければ、AeroAcoustics.f90がこれに役立つかもしれないと思います。

よろしく

こんにちは@ ai-aspirant、

あなたが参照する文書は、1つの例(IEA Wind Task 37陸上ベースの参照風力タービン)を示しており、発電機の効率は93.6%です。 NREL 5 MWベースライン風力タービンは、94.4%の発電機効率で別の例を提供します。 特定の発電機効率を念頭に置いていない場合は、この範囲の発電機効率を想定できます。

よろしくお願いします、

こんにちはジェイソン、
右。 したがって、 RtAeroPwr出力パラメーターは、生成された空力パワーを示すと思います。

よろしく、

正しい。

こんにちはジェイソン、
したがって、AeroDynにデータを含めたい場合は、出力空力パワーを提供するために文書化した最小入力パラメーターのセットがありますか、それともすべての入力パラメーターを調べてそれらをよく調べる方がよいでしょう。 ?

前もって感謝します。

よろしく、
キルステン

こんにちはクリステン、

ドキュメントは、どの入力が何のために使用されるかについてのガイダンスを提供します。 うまくいけば、風力タービンのモデリングに関する十分な専門知識があり、空力出力の計算にどの入力が重要であるかを知ることができます。

よろしくお願いします、

こんにちはジェイソン、
そのため、AoA(迎え角)が180から-180の範囲にあることに気付いたとき、ファイルを理解しようとしていました。 AeroDynを実装しているときに、特定のファイルに迎え角が翼ごとに異なる理由はありますか?

image
上の画像では、ご覧のとおり、画像の左端を示すcylinder1.datファイルから始まる翼型の値が異なる可能性があるため、値ごとに異なる翼型ファイルが使用され、それらの値に基づいてノードは次のようになります。決定しましたか?

これに基づいて、OpenFASTで考慮されるエアフォイルの最小数が1より大きいか、1が機能する必要がありますか? ジェイソン、あなたは何を提案しますか?

上記の画像は参考用です。

よろしく、
キルステン

親愛なるクリステン、

実際のAoAは実行時に決定され、タイムステップごとに変化する可能性があるため、翼型データ(リフト、ドラフト、モーメント対AoA)はAoAの360度(-180〜180度)の全範囲で提供する必要があります。

ご指摘のとおり、翼型のデータは翼型の形状に依存する必要があります。 翼型データに回転増強(3D効果)を適用する場合は、回転増強(3D効果)にも依存する可能性があります。

通常、ブレードに沿って20個程度の空力解析ノードをお勧めします。 これにいくつかの翼型テーブル(各テーブルが複数のノードに適用される)または多数の翼型テーブル(ノードごとに一意のテーブル)が必要かどうかは、ブレードに沿った翼型の形状の変動、回転増強の重要性、および解決。

よろしくお願いします、

親愛なるジェイソン、
わかった。 これは素晴らしいですね。
私が理解したかったことの1つは、係数を計算できるように抗力または揚力を計算するセンサーはありますか?

もう1つ指摘したいのは、ノードの数を減らしようとしていたため、「Test01_UAE_AeroDyn_blade.dat」ファイルからいくつかの行を削除し、NumBlNdsの数を15に変更し、NumAFFilesパラメーターの数を10から5に減らしました。 、およびBlOutNdパラメータを1、3に変更しました。それでも、「BlOutNdを読み取ろうとしたときに発生しました」というエラーが表示された以下のフェッチが発生します。
これ以上フラグを変更する必要がありますか?

image

@jjonkmanの皆さん、そしてあなたにもすべての助けをありがとう、そしてすべてのトラブルをお詫びします。

よろしく、
キルステン

親愛なるクリステン、

申し訳ありませんが、最初の質問がよくわかりません。

2番目の質問に関しては、BlOutNdに2つのノードが設定されています。 それはあなたがNBlOuts = 2を設定することを意味しますか? それ以外の場合は、他の入力ファイル処理エラーと同様に、Echoオプションを有効にして、入力ファイル形式のエラーをデバッグします。

よろしくお願いします、

こんにちはジェイソン、

最初の質問は、抗力と揚力の係数がどのように計算されるかについてでしたか?
抗力の場合、次の式があります。
image

使用されている.datファイルと同様に、AoA角度、抗力係数、揚力係数、およびCmの組み合わせがあります。
OpenFASTを使用するためにアップロードしているデータには、Cd、Cl、またはCmの値がないため、係数が上記の式を使用して計算されているのか、それともセンサーから計算されているのかを知りたいと思いました。

ありがとうございました。
よろしく、
キルステン

親愛なるクリステン、

私はあなたの公式に同意し、C_Dは通常AoA(そしておそらくRe)に依存すると付け加えます。 同じ式が、C_Lを使用した揚力(F_L)にも当てはまります。 通常、C_DとC_Lは、風洞または計算ソリューションに基づいて、特定の翼のAoA(およびおそらくRe)の関数として導出されます。 次に、これらは360度の全範囲に拡張され、回転の増大が補正されてから、風力タービンの空力弾性計算に適用するためにAeroDynに入力されます。

よろしくお願いします、

ちょっとジェイソン、

ドラッグまたはリフトの係数値が入力としてどのように提供されるかを取得できませんでした。 つまり、風速用の風速計や風向用の風向計のような追加のセンサーがありますか。同様に、抗力係数についても、特定の式に基づいて計算されています。
私が出くわすことができる唯一の公式は次のとおりです。
抗力係数(Cd)は、空気の密度(r)×速度の2乗の半分(V)×翼面積(A)に等しくなります。

これが、AeroDynの入力として提供されるさまざまな係数値を作成するのに役立つかどうかはわかりませんでした。 OpenFASTはそのような係数の計算を行いますか? 式を手伝ってくれませんか。

よろしく、
キルステン

こんにちはクリステン、

前に述べたように、抗力係数は通常、風洞または計算ソリューションに基づいて、特定の翼のAoA(およびおそらくRe)の関数として導出されます。 薄い翼の場合、XFoilやRFoil(NRELによって開発されていない)などのエンジニアリングツールを使用して、失速点までの抗力(および揚力)を計算できます。

抗力はAeroDyn / OpenFASTへの入力であり、直接計算されるものではありません。 NRELは、抗力係数の計算をサポートするエンジニアリングツールを開発していません。

よろしくお願いします、

こんにちはジェイソン、あなたが混沌とした時代の中でうまくやっていることを願っています。
とった。 ありがとう。
その間、私はAerodyn_IO.f90を調べて、さまざまなモジュールで生成される電力のいくつかの方程式を理解していました。
私はさまざまな方程式について次の方程式に出くわしました。
image

入力が正確に何であるかを理解したかっただけです。ローター空力パワー(RtAeroPwr)を考えてみましょう。方程式は、x方向の空力負荷で構成されています。残りのパラメーターは、BEMT_uのように何ですか?
OpenFASTには、これらの方程式に関するドキュメントがありますか?

ありがとう、
キルステン

こんにちはクリステン、

変数m%BEMT_u(indx)%omegaはローター速度です。 これは、AeroDynモジュール内に設定されたAeroDynのBEMTサブモジュールへの入力(u)であり、AeroDynのその他の変数(MiscVar、m)でもあります。 ソースコードには多くのドキュメントが含まれていますが、解釈するにはFortranとFASTモジュール化フレームワークの知識が必要です。 この変数は、BEMT_Registry.txt(入力オメガ)およびAeroDyn_Registry.txt(MiscVar BEMT_u)で定義されています。

よろしくお願いします、

こんにちはジェイソン、

したがって、これらは配列値、ローター速度(ローターの角速度)、およびx方向のローター空力負荷であると思います。
また、OpenFASTには、スクリプトを実行しているときにHubMotionで使用されているMeshTypeが見つからなかったため、前述した残りの方程式に関するドキュメントがありますか。

したがって、前号の上の画像で共有された残りの方程式のドキュメント。

よろしく、
キルステン

こんにちは@jjonkman
私はあなたの問題に@ ai-aspirantを追加し、風車全体のOpenFASTの出力変数は正確に何であるかを尋ねたいと思いました。 GenPwrパラメータを考慮すると、どうして3.6mW〜5mWの範囲で変化するのでしょうか。 私が理解している限り、それはパワーカーブフォーマットに従います。 カットイン速度(電力は増加し続ける)、定格速度(電力は一定のまま)、およびカットアウト速度(電力はゼロに低下します)。

よろしく、
ミヒル

親愛なるクリステン-あなたはどのような種類の文書について質問していますか? 方程式自体(うまくいけば、これらはこれらの出力について自明である)、またはFASTモジュール化フレームワークに関するドキュメントを理解しようとしていますか?

親愛なるMihir-ServoDynからのGenPwr出力は、電力出力です(電気効率の損失を含め、発電機やコントローラーによって決定されます)。 その変動に関しては、タービンが乱流の流入または突風で作動している場合、出力は大きく変動する可能性があります。 電力曲線は、平均または定常状態の動作を表します。

よろしくお願いします、

こんにちはジェイソン、
そうです、私はそれへの入力を理解したかっただけです。 同様に、これらは直接入力として計算または提供されます。 それで、空力パワー、私のローター速度、およびx方向の空力負荷モーメントを考慮すると、配列または単なる整数のように提供される入力のタイプはありますか? 単一の整数値であることが理解できたからです。
別の質問は、これらの入力が入力として提供されるか、別の方程式で計算されるかということです。その場合、最終出力(この場合は空力パワー(RtAeroPwr))を変更するために、どのパラメーターに依存するかを変更する必要があります。それに応じて異なります。

ありがとうございました、
よろしく、
キルステン

親愛なるキルステン、

上記の式では、モジュールレベルの入力はuとして示され、連続状態はxとして示され、出力はyとして示され、パラメーターはpとして示され、その他の変数はmとして示されます。 これらの変数タイプは、NWTCプログラマーハンドブックhttps://drive.google.com/file/d/1bDV1fBkiZUWs6Tkzb6nhCMUQvHpN_OtM/view?usp=sharingで定義されてい

よろしくお願いします、

親愛なるジェイソン、
その情報をありがとう。 したがって、あなたが述べたことに基づいて、RtAeroPwrの計算に使用されるパラメーターはすべてその他の変数です。 したがって、それらをAerodyn IeRtSpeedおよびRtAeroMxhの出力変数と見なします。
両方を直接乗算すると、RtAeroPwrが.outファイルの出力として提供するものとは異なります。
すべての値が異なります。
それは必ず起こるのでしょうか? このように計算している間、他のパラメータを含める必要がありますか?

よろしく、
キルステン

こんにちはジェイソン、
それで、私のGenPwrは定常状態の風に対してほとんど一定であるということですか? その場合、私の出力電力はどの電力曲線にも近くありません。
これらのOpenFASTモジュールを使用して電力曲線をプロットできますか? それとも、乱気流の風速だけが必要ですか?
Paraviewでそれを行うことはできますか?

よろしく、
ミヒル

親愛なるKirsten-その他の変数は、計算効率を上げるためにフレームワークタイプに格納されているローカル変数と見なすことができます。 それらは、入力、出力、状態、またはパラメーターの関数にすることができます。 単位が適切な場合、RtSpeedとRtAeroMxhの積はRtAeroPwrと等しくなります(RtSpeedはrpmではなくrad / sである必要があります)。

親愛なるミヒル-OpenFASTはさらに多くのことを実行できますが、もちろん、電力曲線の計算に使用できます。 このトピックは、 httpsます。 そこでガイダンスを探すことをお勧めします。

よろしくお願いします、

親愛なるジェイソン、
はい、rpmからrad / sに変換しましたが、それでも多少変動は大きくありません。 それは感謝を助けました。
他にもいくつか質問がありました。それらを要約してみます。

  1. 私があなたの助けを借りて理解したように、AeroDynamic Powerはx方向のローター速度空力負荷にリンクされています(あなたが言及したフォーラムを通過したときにロータートルクとも呼ばれます)。 これに基づいて、入力として言及した2つの変数は、実際にはAeroDynモジュールの出力ですが、どちらの入力がこれらのパラメーター(RtSpeedとロータートルク)にリンクされているかを知りたいと思いました。 ここでは、どの入力が方程式変数にリンクされているかについての接続や方程式さえ見つけることができませんでした。 _AD_CalcOutput_サブルーチンに

  2. フォーラム、つまりGenPwrからも、発電電力出力の変化について知りましたが、前の質問と同様に、それに依存する入力はありますか? として、私がそのために出くわした式はGenPwr = 0.001*y%ElecPwr

  3. 私が理解しようとしていたもう1つのことは、時間関数がどのように初期化されるかということでした。 つまり、0から60の時間関数で、各時間関数に168があります。 変数がどのように変化するかわからなかったのは、すべてのブレードの配置が原因であるか、特定の変数が変更されて、残りのパラメーターが調整されて逸脱するのか、それとも何かに相互にリンクしているのかという根拠です。

  4. OpenFASTは、ギアボックス、ブレード、ローターなどのさまざまなコンポーネントの障害を理解するためのシミュレーションをサポートおよび提供していますか?

  5. 万が一、OpenFASTは、特定の変数のデータがない場合に備えて、その変数の再作成をサポートしていますか?

ささいな質問をお詫びします。 出力とフローを正しく解釈していることを確認したかっただけです。 お手数をおかけしますが、よろしくお願いいたします。

よろしく、
キルステン

親愛なるクリステン、

これがあなたの質問の_いくつか_に対する私の答えです。

  1. モジュールレベルの入力と出力(OpenFASTでモジュールが相互に作用する方法に関連し、モジュール化フレームワークのドキュメントとソースコードではuとyとも呼ばれます)と、ユーザー指定の入力とユーザー選択の出力(ユーザーが選択した出力)を区別することが重要です。ユーザーが入力ファイルで定義する入力パラメーターと、出力ファイルに書き込まれる内容)。 ローター速度はAeroDynへのモジュールレベルの入力であり(つまり、別のモジュール(ElastoDyn)によって計算されるか、ドライバーによって設定されます)、出力ファイルにローター速度を含めることもできます。 ロータートルクはAeroDyn内で計算され、出力ファイルに書き込むことができます。

  2. 電力は、選択されているトルク制御または発電機モデルに応じて、ServoDynモジュールによって計算されます。 あなたが述べる方程式は、ワットからkWへの単なる変換です。

  3. 私はあなたの質問を理解していません。

  4. フォーラムで議論されているように、ピッチ制御の喪失やトルク制御の喪失など、さまざまな障害ケースがサポートされています。 私はそこでより多くの情報を検索します。

  5. いくつかの入力パラメーターには、キーワード「DEFAULT」で示されるデフォルト設定がありますが、ほとんどの場合、ユーザー指定が必要です。 詳細については、ドキュメントとサンプル入力ファイルを参照してください。

よろしくお願いします、

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

gilcastroh picture gilcastroh  ·  109コメント

abdoo0 picture abdoo0  ·  16コメント

jjonkman picture jjonkman  ·  12コメント

fsamara12 picture fsamara12  ·  3コメント

ptrbortolotti picture ptrbortolotti  ·  13コメント