star-ccm+のメッシュの修正

805 views
Skip to first unread message

K.M

unread,
Jul 8, 2013, 8:57:08 AM7/8/13
to open...@googlegroups.com
お世話になっております。
K.Mと申します。

star-ccm+で作成したメッシュをOpenFOAM用に変換して計算をしようとしているのですが、
メッシュの品質が悪く計算が発散してしまいます。

メッシュの変換にはccm26ToFoamを利用しており、変換したメッシュをcheckMeshで確認したところ、以下の様な状態でした。

Mesh stats
    points:           5055543
    faces:            6343784
    internal faces:   6071897
    cells:            1027544
    boundary patches: 8
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     1815
    prisms:        1045
    wedges:        49
    pyramids:      26
    tet wedges:    13
    tetrahedra:    66
    polyhedra:     1024530

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
  <<Found 1702 neighbouring cells with multiple inbetween faces.
    Upper triangular ordering OK.
  <<Writing 3424 unordered faces to set upperTriangularFace
    Face vertices OK.
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces ...
    Patch               Faces    Points   Surface topology                 
    aneurysm            20801    41598    ok (non-closed singly connected) 
    inlet               1056     1956     ok (non-closed singly connected) 
    left                680      1241     ok (non-closed singly connected) 
    right               830      1340     ok (non-closed singly connected) 
    stent               113599   196640   ok (non-closed singly connected) 
    rightpipe           24046    48094    ok (non-closed singly connected) 
    inletpipe           67819    135602   ok (non-closed singly connected) 
    leftpipe            43056    86168    ok (non-closed singly connected) 

Checking geometry...
    Overall domain bounding box (-0.02 -0.0298024 -0.00348272) (0.02 0.00558943 0.00348422)
    Mesh (non-empty, non-wedge) directions (1 1 1)
    Mesh (non-empty) directions (1 1 1)
    Boundary openness (-3.55216e-16 -2.97311e-16 2.55372e-17) OK.
    Max cell openness = 5.10333e-16 OK.
    Max aspect ratio = 26.7222 OK.
 ***Zero or negative face area detected.  Minimum area: 0
  <<Writing 6 zero area faces to set zeroAreaFaces
    Min volume = 1.14088e-18. Max volume = 3.65056e-12.  Total volume = 7.87814e-07.  Cell volumes OK.
    Mesh non-orthogonality Max: 108.238 average: 13.3757
   *Number of severely non-orthogonal faces: 546.
 ***Number of non-orthogonality errors: 14.
  <<Writing 560 non-orthogonal faces to set nonOrthoFaces
    Face pyramids OK.
 ***Max skewness = 10.4373, 138 highly skew faces detected which may impair the quality of the results
  <<Writing 138 skew faces to set skewFaces
    Coupled point location match (average 0) OK.

Failed 3 mesh checks.

End

そこで以下の用なsetSetのbatchファイルを作成し修正を試みました。

cellSet cellsToDelete new
cellSet cellsToDelete add faceToCell zeroAreaFaces any
cellSet cellsToDelete add faceToCell skewFaces any
cellSet cellsToDelete add faceToCell nonOrthoFaces any
cellSet cellsToDelete invert
cellSet cellsToDelete subset
quit

setSetとsubsetmeshコマンドの後、再びcheckMeshを行うと以下の用な結果が得られました。

Mesh stats
    points:           5055265
    faces:            6341563
    internal faces:   6062335
    cells:            1026463
    boundary patches: 9
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     1797
    prisms:        1017
    wedges:        46
    pyramids:      18
    tet wedges:    10
    tetrahedra:    58
    polyhedra:     1023517

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
  <<Found 1594 neighbouring cells with multiple inbetween faces.
    Upper triangular ordering OK.
  <<Writing 3202 unordered faces to set upperTriangularFace
    Face vertices OK.
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces ...
    Patch               Faces    Points   Surface topology                 
    aneurysm            20794    41589    ok (non-closed singly connected) 
    inlet               1056     1956     ok (non-closed singly connected) 
    left                680      1241     ok (non-closed singly connected) 
    right               830      1340     ok (non-closed singly connected) 
    stent               112487   196429   ok (non-closed singly connected) 
    rightpipe           24045    48093    ok (non-closed singly connected) 
    inletpipe           67780    135579   ok (non-closed singly connected) 
    leftpipe            43026    86157    ok (non-closed singly connected) 
    oldInternalFaces    8530     14384    multiply connected (shared edge) 
  <<Writing 14 conflicting points to set nonManifoldPoints

Checking geometry...
    Overall domain bounding box (-0.02 -0.0298024 -0.00348272) (0.02 0.00558943 0.00348422)
    Mesh (non-empty, non-wedge) directions (1 1 1)
    Mesh (non-empty) directions (1 1 1)
    Boundary openness (-3.61944e-16 -2.85121e-16 2.53066e-17) OK.
    Max cell openness = 5.10333e-16 OK.
    Max aspect ratio = 26.7222 OK.
    Minumum face area = 1.22474e-16. Maximum face area = 4.12572e-08.  Face area magnitudes OK.
    Min volume = 3.01032e-18. Max volume = 3.65056e-12.  Total volume = 7.87801e-07.  Cell volumes OK.
    Mesh non-orthogonality Max: 69.9934 average: 13.3218
    Non-orthogonality check OK.
    Face pyramids OK.
 ***Max skewness = 27.2996, 82 highly skew faces detected which may impair the quality of the results
  <<Writing 82 skew faces to set skewFaces
    Coupled point location match (average 0) OK.

Failed 1 mesh checks.

End

メッシュの修正をしたつもりですが、skewnessについてはエラーが残ってしまいました。
そのためもう一度同様にsetSetとsubsetMeshコマンドを行ったのですが、subsetMeshコマンド時に以下のようなエラーが起きてしまいました。

Subsetting field cellId


--> FOAM FATAL IO ERROR:
inconsistent patch and patchField types for
    patch type symmetryPlane and patchField type empty

file: /media/4AF1B48B3B3636B4/Masunaga/run/BA-stent/BA0half_new3/0/cellId::boundaryField::oldInternalFaces from line 1026533 to line 1026533.

    From function fvPatchField<Type>::New(const fvPatch&, const DimensionedField<Type, volMesh>&, const dictionary&)
    in file /home/opencfd/OpenFOAM/OpenFOAM-2.1.1/src/finiteVolume/lnInclude/fvPatchFieldNew.C at line 164.

FOAM exiting


このエラーに対してどのように対処してよいか分からず、現在困っております。
どなたか対処方法を御教授していただけないでしょうか。

以上宜しくお願い致します。

ohbuchi

unread,
Jul 9, 2013, 2:54:41 AM7/9/13
to open...@googlegroups.com
OpenFOAM標準ユーティリティでメッシュ品質を修正するのは、あまり出来ないと思った方が良いです。
StarCCMに戻って品質の良いメッシュを作る努力をしたほうが早いと思います。

標準ユーティリティでメッシュ品質を改善できるものとして、下記の2つがあります。

utilities/mesh/advanced/removeFaces    セル間の重複するフェースを削除する
utilities/mesh/advanced/corapseEdges 短すぎるエッジを削除してSkewnessを改善
                                                          オプションは下記をご参照ください。これは試す価値があるかも知れません。

Usage: collapseEdges [OPTIONS]
options:
  -case <dir>       specify alternate case directory, default is the cwd
  -collapseFaces    Collapse small and sliver faces as well as small edges
  -collapseIndirectPatchFaces
                    Collapse faces that are in the face zone indirectPatchFaces
  -constant         include the 'constant/' dir in the times list
  -latestTime       select the latest time
  -noFunctionObjects
                    do not execute functionObjects
  -noZero           exclude the '0/' dir from the times list, has precedence
                    over the -zeroTime option
  -overwrite        overwrite existing mesh/results files
  -parallel         run in parallel
  -roots <(dir1 .. dirN)>
                    slave root directories for distributed running
  -time <ranges>    comma-separated time ranges - eg, ':10,20,40:70,1000:'
  -srcDoc           display source code in browser
  -doc              display application documentation in browser
  -help             print the usage

Collapses small edges to a point.
Optionally collapse small faces to a point and thin faces to an edge.

2013年7月8日月曜日 21時57分08秒 UTC+9 K.M:
Reply all
Reply to author
Forward
0 new messages