[質問]snappyHexMeshが上手く実行できないです。

640 views
Skip to first unread message

masao

unread,
Nov 2, 2021, 3:41:07 AM11/2/21
to OpenFOAM
はじめまして
最近、OpenFOAMを使い始めました。どうしても自分では解決できないため、よろしければ助けてほしいです。

OpenFOAM でヴェルズタービンを作成し、ケーシングの中で回転させ、その流れを見たいです。
ヴェルズタービンのみを回転することができないため、タービンを含む領域を回転させて計算を行いたいので、ヴェルズタービンとケーシング、回転領域をFreeCADで作成し、blockMesh→surfaceFeatureExtract→snappyHexMeshの順番で実行しているのですが、

①snappyHexMeshを実行するとヴェルズタービン以外が消えてしまう。

↓これをsnappyHexMeshにかけたい。
っっっっっっj.png

②snappyHexMeshを実行したヴェルズタービンの翼の後ろ部分がガタガタになってしまう。

っっっっっっp.png


という現象が起こってしまいます。

調べていろいろ試したのですがどれもうまく行かず、質問させてもらいました。よければ助けてください。お願いします。
下記にsnappyとblockファイル添付しています。


snappyHexMeshDict
blockMeshDict

kominami

unread,
Nov 4, 2021, 6:48:40 AM11/4/21
to OpenFOAM
akatan...@gmail.com さん

kominamiです。


ある領域だけメッシュサイズを細かくするとか、ある面or稜線だけメッシュサイズを細かくするとか、取り得る方法はいろいろあります。

先ずは、このサイトを読んでください。


2021年11月2日火曜日 16:41:07 UTC+9 akatan...@gmail.com:
Message has been deleted

masao

unread,
Nov 5, 2021, 5:15:12 AM11/5/21
to OpenFOAM
kominamiさん、返答ありがとうございます。

サイトは拝見させてもらいました。しかし、surfaceFeaturesDictのincludedAngleやsnappyHexMeshDictの境界メッシュのレベル、部分的にメッシュを細かくしたり、自分なりに試してみたのですが、上手く行きませんでした。
すでに作成していたメッシュが邪魔であるのかもと思ってメッシュの初期化にも試してみましたが、だめでした...。

snappyHexMeshを実行中に出てくるエラーメッセージが2つあるのですが、どこを修正すればいいか、調べても出てこないため教えてほしいです。

①FOAM Warning : Displacement (-1.79135e-05 -3.60614e-06 1.07073e-05) at mesh point 1350517 coord (-0.225078 -0.593087 0.157679) points through the surrounding patch faces
Smoothing displacement ... 
Iteration 0
Iteration 10
~
Iteration 280
Iteration 290
Displacement smoothed in = 270.17 s

②--> FOAM Warning :
    From void Foam::snappySnapDriver::doSnap(const Foam::dictionary&, const Foam::dictionary&, Foam::meshRefinement::FaceMergeType, Foam::scalar, Foam::scalar, const Foam::snapParameters&)
    in file snappyHexMeshDriver/snappySnapDriver.C at line 2833
    Did not successfully snap mesh. Continuing to snap to resolve easy
    surfaces but the resulting mesh will not satisfy your quality constraints

よろしければお助けください。お願いします


2021年11月4日木曜日 19:48:40 UTC+9 kominami:
Message has been deleted

kominami

unread,
Nov 6, 2021, 5:47:22 AM11/6/21
to OpenFOAM
akatan...@gmail.com さん

kominamiです。

>surfaceFeaturesDictのincludedAngleやsnappyHexMeshDictの境界メッシュのレベル、部分的にメッシュを細かくしたり、自分なりに試してみたのですが、上手く行きませんでした。

surfaceFeaturesコマンドで作成したeMeshファイルが正しいという前提とします。
※ OpenFOAMのユーティティで、paraviewや3DCADで読込可能な形式に変換できますので、必要ならば調べてください。

surfaceFeaturesコマンドで認識させたeMeshファイルをsnappyHexMeshDictで読み込むときのサイズレベルを変更してみた。
具体的には、features (  ); と、refinementSurfaces { };のところですね。

これで直らない時は、ベースメッシュのサイズが、geometryやeMeshフィルの細かさに比べて大きいかのかもしれません。
※ つまり形状の狭隘部の隙間寸法<ベースメッシュのサイズ になっているのではないかと思います。
※ snappyHexMeshのDictでfeatures (  ); やrefinementSurfaces { };のセルサイズが細かくする前のセルサイズ、すなわち、形状ファイルやeMeshファイルのサイズが、ベースメッシュのサイズより小さ過ぎる場合も起きるみたいです。snapする方向を適切に斟酌/忖度できないのが原因か?

snappyHexMeshコマンドを適用するベースメッシュのメッシュサイズを小さくしてみてください。メッシュサイズを細かくするのはベースメッシュ全体でなくて、ガタガタになっている付近だけで良いです。

ベースメッシュを作成する方法がblockMeshならば局所的にサイズを細かくするのは難しいでしょう。OpenFOAMのrefineMeshユーティティがあります。しかし、局所的に細かくするには事前にセルセットを作る必要があって少々面倒です。
※ セルセットを作るのは、たしかtopoSetコマンドだったかな?
  DEXCS環境愛用者の私はTreeFOAMで雛形を作っているのでコマンドが覚えられないのです。
※ DEXCS環境愛用者の私はcfMeshで作ってしまいますが、今回は放射線状のトポロジー的に綺麗なメッシュを作成したいようですから、この方法は採用し難いですね



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


2021年11月5日金曜日 18:15:12 UTC+9 akatan...@gmail.com:
Message has been deleted

masao

unread,
Nov 15, 2021, 10:34:08 PM11/15/21
to OpenFOAM
お疲れ様です。
kominamiさんの助言のおかげで解決いたしました。
snappyHexMeshは無事実行されました。

次にpimpleFoamを実行しようとしているのですが、pimpleFoamで次のようなエラーが出てしまいます。

--> FOAM FATAL IO ERROR: (openfoam-2012 patch=210618)
Unexpected EOF while reading dictionary entry

file: /home/naoya/.local/share/Trash/files/serration0_2/constant/turbulenceProperties at line 79.

    From static bool Foam::entry::New(Foam::dictionary&, Foam::Istream&, Foam::entry::inputMode, int)
    in file db/dictionary/entry/entryIO.C at line 169.

FOAM exiting

エラー原因であるturbulenceProperties at lineを見ると

/*--------------------------------*- C++ -*----------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  v1806                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.com                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    location    "constant";
    object      turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

simulationType  LES;

LES
{
    LESModel        Smagorinsky;

    turbulence      on;

    delta           cubeRootVol;

    printCoeffs     on;

    cubeRootVolCoeffs
    {
        deltaCoeff      1;
    }

    vanDriestCoeffs
    {
        delta           cubeRootVol;
    cubeRootVolCoeffs
    {
        deltaCoeff      1;
    }

    SmagorinskyCoeffs
    {
        ce              1.048;
        ck              0.094;
    }

    homogeneousDynSmagorinskyCoeffs
    {
        filter          simple;
        ce              1.048;
    }

    oneEqEddyCoeffs
    {
        ce              1.048;
        ck              0.094;
    }

    dynOneEqEddyCoeffs
    {
        filter          simple;
        ce              1.048;
    }

    mixedSmagorinskyCoeffs
    {
        filter          simple;
        ce              1.048;
        ck              0.094;
    }


}


//**************************************************************************//

なのですが、最後の行は78ですので、修正の仕様がありません。オープンフォームのバージョンの違いではなさそうです。これはこれ以前のどこかがおかしいということですかね?教えてほしいです。お願いします。
2021年11月6日土曜日 18:47:22 UTC+9 kominami:
Message has been deleted

haruka tsubota @xsim.info

unread,
Nov 16, 2021, 4:54:20 AM11/16/21
to OpenFOAM
> --> FOAM FATAL IO ERROR: (openfoam-2012 patch=210618)
> Unexpected EOF while reading dictionary entry

「ディクショナリーを読込中に予期せずファイルの終わり(End Of File)に到達した」というエラーです。
ディクショナリー(ファイル)の中身を見ると「vanDriestCoeffs」の後ろの括弧{}が閉じていないのでこれが原因ではないかと思います。

※質問のタイトルと齟齬がでるので、新しい質問は別のスレッドで行なった方が良いかも知れません。

2021年11月16日火曜日 12:34:08 UTC+9 akatan...@gmail.com:
Reply all
Reply to author
Forward
Message has been deleted
0 new messages