OpenFoam2.1.1 turbulentHeatFluxTempertureについて

336 views
Skip to first unread message

Tera

unread,
Jun 20, 2013, 5:53:25 AM6/20/13
to open...@googlegroups.com
 ご無沙汰しております。

過去ログを見ても該当する質問がないようだったので、ご質問させてください。
buoyantBoussinesqSimpleFoamで発熱条件を設定しての流体計算を行っています。

OpenFoam2以降では、境界条件TurbulentHeatFluxTempertureで面発熱が指定できるようですが、
これについて、ソース中にあった例のとおりにTを

            type            turbulentHeatFluxTemperature;
            heatSource      flux;        // power [W]; flux [W/m2]
            q               uniform 10;  // heat power or flux
            alphaEff        alphaEff;    // alphaEff field name;
                                         // alphaEff in [kg/m/s]
            Cp              Cp;          // Cp field name; Cp in [J/kg/K]
            value           uniform 300; // initial temperature value

と設定すると以下のエラーが出ます。
--> FOAM FATAL ERROR:

    request for volScalarField alphaEff from objectRegistry region0 failed
    available objects of type volScalarField are

12
(
rhok
kappaEff
nut
k
p_rgh
nu
gh
p
T
p_rghPrevIter
epsilon
kappat
)

そもそもalphaEffという物理量はない、と言うことですが、それならばなぜこの境界条件があるのでしょうか?
これに対処する方法があるのでしょうか?

恐縮ですが、ご教授いただけたらさいわいです。
Message has been deleted

iwadera

unread,
Jun 20, 2013, 12:04:22 PM6/20/13
to open...@googlegroups.com
iwaderaです.

私はOpenFOAMの経験は浅いのですが,以前buoyantBoussinesqSimpleFoamで,同様な条件を設定する方法を質問したことがあります.
熱流束もしくは熱量を一定にするには,次のように設定します.

     type            turbulentHeatFluxTemperature;
     heatSource      flux;  // ここがfluxの場合はqを[W/m2]で、powerにすれば[W]で与えることも可能
     q               uniform 10; //与えたい熱流束を密度で割った値
     alphaEff        kappaEff;
     value           uniform 300; // 初期温度

更に,constant/transportPropertiesに,次の文を追加します.

//Cp0
                                     Cp0 1000;

この場合,Cp0は定圧比熱になります.

過去の投稿を調べていると,alphaEffとkappaEffの違いは,密度が掛けられているかそうでないかの違いだそうです.
alphaEffが密度を考慮しており,kappaEffが密度を考慮していません.
buoyantBoussinesqSimpleFoamの0フォルダを見るとkappatのファイルしかないので,この場合密度を考慮せずに計算しています.
そのため, alphaEff をkappaEffに設定する代わりに,熱流束を密度で割って補正していると,私は考えています.

Tera

unread,
Jun 20, 2013, 8:33:39 PM6/20/13
to open...@googlegroups.com
teraです。

Iwadera様

ありがとうございます。大変参考になりました
alphaEffをKappaEffとしてqを密度で割ればいいのですね。

あと、これは分かる方がいらっしゃったらご回答頂ければ、と思うのですが、同じような条件を以下のように
groovyBCで設定することを試してみたのですが(openFoam1.7以前ではできた方法)

type            groovyBC;
value           uniform 300;
gradientExpression "gradT";
variables       "rho0=1.2;Cp0=1000;Qb=300;gradT=Qb/sum(mag(Sf()))/rho0/Cp0/kappaEff;";

(Cp0:定圧比熱、rho0:密度、Qb:面全体に与える熱量、sum(mag(Sf())):面積)

これを行うと表面温度が0に近づいていってしまい、想定するgradient条件での熱流の設定ができなくなってしまっています。
温度表現に直せば計算できるようですが、これは何が原因でしょうか。また、対処する方法があればご教授頂けたら幸いです。

2013年6月21日金曜日 1時04分22秒 UTC+9 iwadera:
Reply all
Reply to author
Forward
0 new messages