cyclicAMIを用いた際のエラーについて

1,026 views
Skip to first unread message

Satoshi

unread,
Jul 9, 2012, 10:48:39 PM7/9/12
to open...@googlegroups.com
お世話になっております。
中塚です。

現在、chtMultiRegionFoamのカスタムソルバを作成し、回転体での熱流体の解析を行って折ります。
回転部の境界条件にcyclicAMIを使用しようとしているのですが、下記のようなエラーが発生してしまいます。
cyclicAMIの境界条件を設定する際に対になる境界(ここではinnerrotor-5)を指定しているのですが、毎回子のエラーが出てしまいます。
cyclicAMIはRegionを分割してしまうと使えないということでしょうか。
ファイルの容量が大きく添付できなかったため、外部のアップローダーに使用中のファイルをアップしました。
passはfoamです。
http://www1.axfc.net/uploader/Si/so/144219

このエラーの解決方法などご存知のがいらっしゃったら語教授お願いいたします。


--> FOAM FATAL ERROR:
Illegal neighbourPatch name innerrotor-5
Valid patch names are
6
(
back-4
outerrotor-5
front-6
outlet-vent-7
wall-8
inlet-vent-9
)


    From function cyclicPolyAMIPatch::neighbPatchID() const
    in file AMIInterpolation/patches/cyclic/cyclicAMIPolyPatch/cyclicAMIPolyPatch.C at line 565.

FOAM exiting

ohbuchi

unread,
Jul 10, 2012, 8:28:27 AM7/10/12
to OpenFOAM
AMIはArbitrary Mesh Interfaceの略で、不連続な2つのパッチ間を補間してつなぐ
ための機構です。
boundaryの設定では、相手側のパッチ名をneighbourPatchで指定します。
エラーは、相手側のパッチ名が定義されているパッチ名に存在しないという意味です。

メッシュの内部フェースを指定しているのではないですか?
内部フェースでは補間の必要はなく、AMIは不要で定義できません。

Satoshi

unread,
Jul 11, 2012, 12:10:23 AM7/11/12
to open...@googlegroups.com
ohbuchi 様
お世話になっております。
質問を投稿する度に返信をいただき、ありがとうございます。
一応回転領域(写真の青い領域)とその外側の静止領域(画像の赤い領域)のboundaryディレクトリは下記の様に設定してあります。

CFDonlineの
http://www.cfd-online.com/Forums/openfoam-solving/99499-cyclicami-problem-mrf-zone.html
のURLのjmf様の発言にあったcyclicAMIの設定や、tutorialsの設定等を参考に設定してみたのですが、毎回このエラーが出てしまいます。
cyclicAMIは使わずにmappedWallやmappedPatchなどの条件にした方がうまくいくのでしょうか。



rotorRegionのboundary

6
(
    rotatingwall-4
    {
        type            wall;
        nFaces          6032;
        startFace       59851;
    }
    innerrotor-5
    {
        type            cyclicAMI;
        nFaces          838;
        startFace       65883;
        matchTolerance  0.001;
        neighbourPatch  outerrotor-5;
        transform       rotational;
        rotationAxis    ( 0 0 1 );
        rotationCentre  ( 0 0 0 );

    }
    solid2-6
    {
        type            mappedWall;
        nFaces          558;
        startFace       66721;
        sampleMode      nearestPatchFace;
        sampleRegion    Solid;
        samplePatch     insolid2-4;
        offsetMode      uniform;
        offset          (0 0 0);
    }
    solid-7
    {
        type            mappedWall;
        nFaces          62;
        startFace       67279;
        sampleMode      nearestPatchFace;
        sampleRegion    Solid;
        samplePatch     insolid-6;
        offsetMode      uniform;
        offset          (0 0 0);
    }
    solid3-8
    {
        type            mappedWall;
        nFaces          62;
        startFace       67341;
        sampleMode      nearestPatchFace;
        sampleRegion    Solid;
        samplePatch     insolid3-7;
        offsetMode      uniform;
        offset          (0 0 0);
    }
    solid4-9
    {
        type            mappedWall;
        nFaces          558;
        startFace       67403;
        sampleMode      nearestPatchFace;
        sampleRegion    Solid;
        samplePatch     insolid4-8;
        offsetMode      uniform;
        offset          (0 0 0);
    }


caseRegionのboundary

6
(
    back-4
    {
        type            wall;
        nFaces          4376;
        startFace       97494;
    }
    outerrotor-5
    {
        type            cyclicAMI;
        nFaces          838;
        startFace       101870;
        matchTolerance  0.001;
        neighbourPatch  innerrotor-5;
        transform       rotational;
        rotationAxis    ( 0 0 1 );
        rotationCentre  ( 0 0 0 );
    }
    front-6
    {
        type            wall;
        nFaces          4376;
        startFace       102708;
    }
    outlet-vent-7
    {
        type            patch;
        nFaces          1132;
        startFace       107084;
    }
    wall-8
    {
        type            wall;
        nFaces          2240;
        startFace       108216;
    }
    inlet-vent-9
    {
        type            patch;
        nFaces          1130;
        startFace       110456;
    }
)




2012年7月10日火曜日 21時28分27秒 UTC+9 ohbuchi:
Screenshot_from_2012-07-11 09:40:55.png

ohbuchi

unread,
Jul 11, 2012, 12:20:24 AM7/11/12
to OpenFOAM
マルチリージョンにまたがる領域間でAMIを使うことはできないと思います。
同一リージョン内で定義する様にリージョンの定義を再考して下さい。


On 7月11日, 午後1:10, Satoshi <nakatsukasatoshi05...@gmail.com> wrote:
> ohbuchi 様
> お世話になっております。
> 質問を投稿する度に返信をいただき、ありがとうございます。
> 一応回転領域(写真の青い領域)とその外側の静止領域(画像の赤い領域)のboundaryディレクトリは下記の様に設定してあります。
>
> CFDonlineのhttp://www.cfd-online.com/Forums/openfoam-solving/99499-cyclicami-pro...
> のURLのjmf様の発言にあったcyclicAMIの設定や、tutorialsの設定等を参考に設定してみたのですが、毎回このエラーが出てしまいます。
> cyclicAMIは使わずにmappedWallやmappedPatchなどの条件にした方がうまくいくのでしょうか。
>
> *rotorRegionのboundary*
> *caseRegionのboundary*
> Screenshot_from_2012-07-11 09:40:55.png
> 21K表示ダウンロード

Satoshi

unread,
Jul 11, 2012, 9:14:31 PM7/11/12
to open...@googlegroups.com
ohobuchi様
返信ありがとうございます。

以前は
splitMeshRegions -cellZones -overwrite
とコマンドをうちMeshを分割していたのですが、
このコマンドを実行すると勝手にcellZonesに書き込んでいない回転領域までRegion分割されていました。
今回
splitMeshRegions -cellZonesOnly -overwrite
とコマンド実行することで流体領域と個体領域の2つだけにわけることができました。

cyclicAMIも普通に使えるようになりました。
ありがとうございます。


2012年7月11日水曜日 13時20分24秒 UTC+9 ohbuchi:
Reply all
Reply to author
Forward
0 new messages