固体温度壁面の熱流束の与え方について

904 views
Skip to first unread message

kabocha

unread,
Jul 15, 2015, 11:41:10 PM7/15/15
to open...@googlegroups.com
いつもお世話になっております。kabochaです。

chtMultiRegionSimpleFoamを使った問題で
流体領域と接触していない固体領域の一壁面に熱流束を与えようとしたのですが、
温度が定常にならず上がり続けます。

他領域では熱は奪い取られるように条件設定をしており、
商用ソフトで同様の設定したところ許容値内で温度は定常となりました。

以下の温度境界条件の設定に間違いがないか、確認して頂けませんでしょうか。
よろしくお願い致します。


■境界条件の設定
 
       "heatsource"
       {
           type                   externalWallHeatFluxTemperature;
           //type                 compressible::turbulentHeatFluxTemperatur;
           heatSource        flux;        // flux (熱流束) または power (熱量)
           q                        uniform 1.e+6; // 熱流束 [W/m2] または 熱量 [W]
           kappa                solidThermo;
           kappaName       none;
           value                 $internalField;
       }

jimi3776

unread,
Jul 16, 2015, 7:27:41 PM7/16/15
to open...@googlegroups.com
CHTは門外漢ですが、dict探検してみました。
なるほど、qを指定するパターンとh、Tambientを指定するパターンとあるわけですね。
ここで、ちょっと気になっているのは以下の部分、


           heatSource        flux;        // flux (熱流束) または power (熱量)

私の覗いた公開版2.3.xにはないkeywordでした。
ひょっとしてバージョンが古くてバグがあったりして。。。
q[W/m^2]のオーダーが正しいとすると他の領域の設定にも原因があるでしょうか。
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

kabocha

unread,
Jul 21, 2015, 4:40:41 AM7/21/15
to open...@googlegroups.com
熱収支に問題があるか確認しようと思い調べていたところ、
流入、流出部の熱収束がゼロとなっていることが分かりました。
流体部の流入流出条件に問題があるのでしょうか。
よろしくお願い致します。

[熱流束の調べ方(流入部のみ)]
$wallHeatFlux  -latestTime -region water

$patchAverage wallHeatFlux -region water inlet  -latestTime

>    Reading volScalarField wallHeatFlux
>    Average of volScalarField over patch inlet[1] = 0

[境界条件]
   U
    {
        internalField   uniform (0 0 0);

        boundaryField
        {
            inlet
            {
                 type            fixedValue;
                 value          uniform (0.1 0 0);
             }
            outlet
            {
                 type            zeroGradient;
                 value          $internalField;
            }
            ".*"
            {
                type            fixedValue;
                value           $internalField;
            }
        }
    }

   T
    {
        internalField   uniform 300;

        boundaryField
        {
            ".*"
            {
                type            zeroGradient;
                value           $internalField;
            }
            inlet
            {
                type            fixedValue;
                value           $internalField;

            }
            "water_to_.*"
            {
                type            compressible::turbulentTemperatureCoupledBaffleMixed;
                neighbourFieldName T;
                kappa              fluidThermo;
                kappaName          none;
                value              $internalField;
            }
        }
    }




jimi3776さん
ご回答ありがとうございます。


2015年7月17日金曜日 8時27分41秒 UTC+9 jimi3776:

jimi3776

unread,
Jul 21, 2015, 6:49:45 AM7/21/15
to open...@googlegroups.com
OpenFOAMのDictionaryは規定されていないkeywordは無視されますが、
同じkeywordに対する多重の定義は後者が有効だったような。。。


   U
    {
        internalField   uniform (0 0 0);

        boundaryField
        {
            inlet
            {
                 type            fixedValue;
                 value          uniform (0.1 0 0);
             }
            outlet
            {
                 type            zeroGradient;
                 value          $internalField;
            }
            ".*"
            {
                type            fixedValue;
                value           $internalField;
            }
        }
    }
とすると、下のTは大丈夫そうですが、上記のUはすべて
速度(0 0 0)になってなりしてませんか。→正規表現はすべてのpatchを指定しているような。。。

kabocha

unread,
Jul 21, 2015, 11:39:22 PM7/21/15
to OpenFOAM
jimi3776様

確かにおっしゃる通りだと思い確認したのですが、下記の通りでした。

他に疑っているところは商用メッシュをOpenFOAM用に変換した際に、
単位がmmとmが入れ替わっていないかと思っているのですが、
サイズ・単位を調べる方法は何かご存知ではないでしょうか。

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



dimensions      [ 0 1 -1 0 0 0 0 ];

internalField   uniform ( 0 0 0 );

boundaryField
{
    wall-water
    {
        type             fixedValue;

        value           $internalField;
    }
    inlet
    {
        type             fixedValue;
        value           uniform ( 0.1 0 0 );

    }
    outlet
    {
        type             zeroGradient;
        value           $internalField;
    }
    water_to_al
    {
        type             fixedValue;
        value           $internalField;
    }
}


2015年7月21日火曜日 19時49分45秒 UTC+9 jimi3776:

jimi3776

unread,
Jul 22, 2015, 11:23:27 AM7/22/15
to OpenFOAM
OpenFOAMは長さ単位はmですよね。
checkMeshでoverall domain bounding boxが1000とかいう値が入っていたら1kmの領域に0.1m/secを入れていることになっているかもしれませんね。
その場合、transformPoints?とかいうutilitiesで直せたかもしれません。コマンドtab補完や-helpで確認してみてください。

kabocha

unread,
Jul 23, 2015, 5:30:36 AM7/23/15
to OpenFOAM, shimizu....@gmail.com
jimi3776様

単位、長さも合っているようです。

申し訳ございません。あきらめようかと思います。
色々コメントをくださってありがとうございました。


2015年7月23日木曜日 0時23分27秒 UTC+9 jimi3776:

jimi3776

unread,
Jul 23, 2015, 6:19:15 AM7/23/15
to OpenFOAM, twoka...@gmail.com
paraviewなどで流れ場を可視化すればもう少し詳しく原因が分かったかもしれませんが。。。
->私はparaview苦手なのでこれ以上いえませんが。
Reply all
Reply to author
Forward
Message has been deleted
0 new messages