アクチュエータディスク機能を用いたプロペラ回転の再現について

429 views
Skip to first unread message

simano

unread,
Sep 16, 2021, 4:28:49 AM9/16/21
to OpenFOAM

お世話になっております。

現在、私の目標としているのはプロペラの回転を考慮に入れた船体周りの流れの研究です。
まず前提条件として、プロペラと船体を一体として計算することは、非常にコストが掛かり現設備では現実的ではありません。

そこで、別の方法を検討しています。現在、検討中の手段として
1. まず、一様な流れの中でプロペラだけを計算する。
2. 次に、船体モデルとともに、複雑なプロペラモデルの代わりに単純なプロペラモデル(actuator Disk)を配置する。
3. 3. 手順1の結果をもとに、単純なプロペラモデル(actuator Disk以下ADとする)にプロペラが生み出したでろう体積力を加えます。このような手順を踏まえて、プロペラ,船体を含めた計算をしたいと考えています。

rotorDiskSourceファイルを使用することや、ソルバーのコードをいじることが必要であることが有効ではないかと現在思案中ですが、多くの論文ではADによる体積力実装の手順を省略しているのがほどんどで、実装方法を解決できずにいます。

どのようなご意見でも構いませんので、ご助言いただけると幸いです。

そもそも事前にプロペラのみの結果があれば、ADの流出境界条件をいじることでプロペラの回転を再現するなど、より簡単な方法をご存知の方などいらっしゃいましたら何卒ご意見いただけると幸いです。

Youhei Takagi

unread,
Sep 16, 2021, 7:43:19 PM9/16/21
to open...@googlegroups.com
simano様

高木と申します。

スラストの再現だけでしたら、fvOptionsのactuationDiskSourceを使用してできるかと
思います。


旋回流(スワール)も表現したいのでしたら、fvOptionsをコードカスタマイズする
ことになります。以下のchalmers大学の資料が参考になりますが、バージョンが
古いので、逆に混乱するかもしれません。


以上よろしくお願いいたします。

2021年9月16日(木) 17:28 simano <uver04...@gmail.com>:
--
このメールは Google グループのグループ「OpenFOAM」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには openfoam+u...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/openfoam/9127eeaf-3f3f-42ff-9f49-b5fddd80eeeen%40googlegroups.com にアクセスしてください。

simano

unread,
Oct 1, 2021, 3:17:01 AM10/1/21
to OpenFOAM
高木様

ご回答いただきありがとうございます。

actuationDiskSourceでは、面状でのスラストの分布は一様になるのでしょうか?
円盤の中心近くは弱く、外側は強くといった細かい設定はコードのカスタマイズなしでは厳しいでしょうか?

旋回流再現にはやはりコードの複雑なカスタマイズが必要になるのですね…
必要となれば、混乱しながらもカスタマイズに着手してみようと思います。

よろしくお願いいたします。

2021年9月17日金曜日 8:43:19 UTC+9 yotakagi:

Youhei Takagi

unread,
Oct 11, 2021, 7:27:55 PM10/11/21
to open...@googlegroups.com
simano様

高木です。

actuationDiskSourceではFroude's methodとvariable-scaling methodが
使えますが、どちらもプロペラ面の面積、流入速度の面上平均を用いて
いますので、半径方向に変化するスラストを与えることはできないよう
です。

ご希望の機能をカスタマイズしてfvOptionsに入れても、プロペラ面で
それなりのメッシュを切らないといけなくなると予想します。

以上よろしくお願いいたします。

2021年10月1日(金) 16:17 simano <uver04...@gmail.com>:
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/openfoam/d5b626c2-1076-44e0-9244-f37917facc9dn%40googlegroups.com にアクセスしてください。

toshi@aist

unread,
Nov 24, 2024, 9:46:18 PM11/24/24
to OpenFOAM
高木様,simano様,

このスレッドがまだ生きていればの話ですが,横から失礼します.ducted fan の計算を actuator disk モデルを使って走らせたいと思っている者です.

チュートリアルの ActuationDisk の例題は山岳地形の上に風力タービンを置く例題で,走らせてみることはできましたが,タービンの仕様の設定がどうも腑に落ちません.単なる box で geometry を指定しているようです.また Chalmers 大学の研究内容は素晴らしいとは思うものの,自分でコードを再コンパイルするなど,私にはレベルが高すぎて手が出ません.また設定ファイルの仕様も古すぎて,だいぶエラーが出ます.

ファンブレードの形状まで指定して非定常計算を行う例はよく見ますが,計算負荷が高すぎて開発・設計業務に使えるようなものではありません.

どこかに actuator disk のごく簡単な例,例えばダクトの中に 径と CT と CP と回転数を指定したファンを置いて,ファン下流側の圧力上昇と流量を計算するような例はないでしょうか?チュートリアルにこのような機械工学の基本的な例が無いのは大変残念です.

何らかの情報をいただければ幸いです.
2021年10月12日火曜日 8:27:55 UTC+9 Youhei Takagi:

Hideaki Kominami

unread,
Nov 25, 2024, 7:51:37 AM11/25/24
to open...@googlegroups.com

toshi@aist さん

kominamiです。

たとえば、以下のチュートリアルがあります。type fan 、 jumpTable などの機能は、ご自分で調べてください。

2024年11月25日(月) 11:46 toshi@aist <otagur...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/openfoam/7b28b6f3-69ae-4b54-8b8d-cf75407199d5n%40googlegroups.com にアクセスしてください。

toshi@aist

unread,
Nov 25, 2024, 5:26:35 PM11/25/24
to OpenFOAM
Kominami さん,
コメント多謝です.

この例は自分でも走らせ,設定ファイルも見たことがあるのですが,どうも境界条件かファンのPQ特性が変だと思い,遠ざかっていました.

ファンの下流で圧力が下がっています.ファンが流れをせき止める流路抵抗にしかなっていません.ファンは圧力を不連続に上げるためのデバイスなので,ファンの下流側では圧力が上がらなければなりません.入口の境界条件を変えて改善できるかやってみたいと思います.
2024年11月25日月曜日 21:51:37 UTC+9 Hideaki Kominami:

toshi@aist

unread,
Nov 25, 2024, 8:41:44 PM11/25/24
to OpenFOAM
自己レスです.
ファンの下流で圧力が上がらない原因は,0/p の中で

boundaryField
{
    inlet
    {
        type            fanPressure;
        direction       in;

と圧力上昇の向きが上流側を向いているからです.つまりこのファンは流れの方向に逆らうように圧力をかけているので,例題のような圧力分布になっています.なぜ例題でこのような例を作ったのか,作者の意図を図りかねますが,direction を out に変えると通常のファンのように働きます.ただし,その場合は直後の設定で,

        fanCurve
        {
            type table;
            file "<constant>/FluxVsdP.dat";
            // outOfBounds clamp;      // Default
        }
        //nonDimensional  true;
        //rpm             300;
        //dm              2e-2;
        p0              uniform 30;
    }

と入口全圧が高く設定されているので,ここを 10 程度に下げておくと,入り口からの流れをファンが昇圧する状況がわかりやすくなります.

今でもわからないのは,FluxVsdP.dat でファンの PQ 特性を設定していることと,createBufflesDict の中で,定数の圧力損失

                    jumpTable       polynomial 1((100 0));

 を与えていることが矛盾しないのかという点です.こちらもせめて一次式での圧損特性を入れてみたいと思います.

2024年11月26日火曜日 7:26:35 UTC+9 toshi@aist:

Hideaki Kominami

unread,
Nov 28, 2024, 8:01:20 AM11/28/24
to open...@googlegroups.com
toshi@aist さん

kominamiです。

>今でもわからないのは,FluxVsdP.dat でファンの PQ 特性を設定していることと,createBufflesDict の中で,定数の圧力損失
 >                   jumpTable       polynomial 1((100 0));
> を与えていることが矛盾しないのかという点です.

どのバージョンを使っているかはわかりませんが、
↓ これを見てください。

つまり、チュートリアルは、FluxVsdP.dat を参照していない、ということです。


2024年11月26日(火) 10:41 toshi@aist <otagur...@gmail.com>:
このディスカッションを表示するには、https://groups.google.com/d/msgid/openfoam/8b999a13-c1cf-4f5a-9a06-1e0cacff469bn%40googlegroups.com にアクセスしてください。

toshi@aist

unread,
Dec 3, 2024, 11:02:16 PM12/3/24
to OpenFOAM
Kominami 様,

コメントありがとうございました.
その後試行錯誤した結果,私の前掲のコメントは間違っていることがわかりました.ファンの direction はやはりチュートリアルの通り in が正解です.

それにもかかわらずファンの下流側で圧力上昇が見られないのは,ファンの昇圧分がバッフルの圧損に負けているからだと思います.ファンの位置をバッフルから引き離してやると,ファンの圧力上昇が見えるようになりました.メッシュ密度を上げたり,パラメータを調整すればより現実的なケースにできると思います.

なお,数年前に Takagi さんが紹介された Chalmers 大学の開発による actuator disk ですが,対象とする OpenFOAM が v1.5-dev と古くて make できなかったのですが,2016年ころに当時の OpenFOAM に合わせた修正版が出されて今でも GitHub で見ることができます.試しにダウンロードして make してみるとすんなりと通って,チュートリアルのケースも問題なく走らせることができました.これだとファンの旋回成分もちゃんと出て,実用的なレベルに達していると思います.なお使用した OpenFOAM は v24.06 です.

この actuator disk を複数個同時に回したいのですが,どうすればよいかどなたかお分かりの方はいらっしゃらないでしょうか?できればソースファイルはいじりたくないのですが.
2024年11月26日火曜日 10:41:44 UTC+9 toshi@aist:
Reply all
Reply to author
Forward
0 new messages