狠狠撸

狠狠撸Share a Scribd company logo
オープンCAEコンサルタント
OCSE^2 代表 野村悦治
DEXCS for OpenFOAM?における
推奨メッシュ生成法
Disclaimer: OPENFOAM ? is a registered trade mark of OpenCFD Limited, the producer of the
OpenFOAM software and owner of the OPENFOAM ? and OpenCFD ? trade marks. This
offering is not approved or endorsed by OpenCFD Limited.
2021/10
for DEXCS2021
 
1
形状、メッシュデータ作成方法の概要
■ 簡単な形状???FreeCADで作成(と境界区分)
■ 複雑な形状???通常利用の3D-CADで作成
○ ? STL形式でエクスポート
? helyxOS へインポート ? snappyHexMesh
? TreeFoam へインポート ? snappyHexMesh
○ ?STEP形式でエクスポート
?FreeCADへインポート ? FreeCADマクロ ? cfMesh
(簡単なSTL形式インポートも可能)
■ 他のソフトで作成したメッシュが存在
○ ?###ToFoam 標準ユーティリティを利用
DEXCS同梱ツール DEXCS推奨方法
2
目次
1. FreeCAD
2. cfMesh
3. FreeCADマクロ
3
1. FreeCAD
4
FreeCADとは http://www.freecadweb.org/?lang=ja
5
https://www.freecadweb.org/wiki/Getting_started/jp ?2020
現在
FreeCADの起動
6
クリック
1
FreeCADの基本
? 画面の構成
? ワークベンチ
? ツールバー
? マウスの使い方
? 3Dモデル作成法
? インポート / エクスポート
? DEXCS カスタマイズメニュー
7
画面(パネル)の構成
画面の追加?削除
画面の分離?結合
8
ワークベンチ
9
CAE通常利用
9
2
1
3
ツールバー
10
追加?削除
可能
個々のツールバーはサ
イズ如何で展開使用、自
由に配置も可能
ワークベンチ変更に伴
いツールバー構成が
変化
新規作成ボタンを押せ
ば、ツールバー利用
が可能になる
マウスの使い方
11
3D画面上で
マウス右クリック
2?右ボタン
でもOK
変更は可能
クリック
3Dモデル作成法のいろいろ
12
Part
PartDesign
Sketch
Pocket
押出
1
3
2
3Dモデル作成法のいろいろ
13
Part
1
Part起動画面とツール
14
プリミティブ
ツール
加工ツール
注:ツールバーの位置は説明用に並び替えてあります
論理演算
ツール
2
1
立方体 ? 直方体平板
寸法を変更
15
2
1
3
6
5
4
円柱
16
寸法を変更
クリック
2
1
3
6
5
4 7 8
ソリッド演算
Applyボタンを押して、意図した通りにならなかっ
た場合は、Ctrl+Zキーにてやり直し
17
2
1
3 4
3Dモデル作成法のいろいろ
18
Sketch
Pocket
押出
2
スケッチ起動
19
2
1
3
4
スケッチツール
描画ツール
拘束ツール
注:ツールバーの位置は説明用に並び替えてあります
20
長方形と円の作成
寸法や配置はおおまかで良い(後で修正)
21
2
1
円中心を固定
円中心と原点を選択
円中心が原点に移動
選択したものは
緑色表示されている
22
2
1
3
円の半径
円を選択
23
2
1
3
5
4
長方形の位置
辺と原点を選択
辺と原点を選択
24
2
1
3
6
5
4
7
8
長方形の大きさ
辺を選択
辺を選択
25
2
1
3
6
5
4
7
8
スケッチ終了 ? Part起動
26
2
1
押し出し
27
2
1
3
4
3Dモデル作成法のいろいろ
Part
PartDesign
Pocket
3
28
PartDesign起動
p.15 と同じ
29
2
1
3
4
面上でスケッチ画面を起動
面を選択
30
2
1
3
円を作成
円を選択
円中心を選択
6
31
2
1
3
5
4
ポケット作成 5
32
2
1
3
4
FreeCADの基本
? 画面の構成
? ワークベンチ
? ツールバー
? マウスの使い方
? 3Dモデル作成法
? インポート / エクスポート
? DEXCS カスタマイズメニュー
33
3Dモデルのエクスポート(STEP形式)
34
2
1
3
6
5
4
7
8
35
3Dモデルのインポート(STEP形式)
新規
2
1
3
6
5
4
36
3Dモデルのエクスポート(STL形式)
2
1
3
6
5
4
37
3Dモデルのエクスポート
(STL形式、補足)
本図方法も可能だが、ファイル名に拡張子( stlまたはast)を付加する
必要がある。stlはバイナリ形式、astはアスキー形式。
OpenFOAMは拡張子stlのアスキー形式が必要なので、 astで出力し
てファイル名変更する必要がある。
また複数ブロックが存在する場合、この方法で出力される STLモデル
は単一ブロックになってしまう。
3Dモデルのインポート(STL形式)
新規
38
2
1
3
6
5
4
(注)STLモデルのままでは後述のマクロ?ワークベンチで取扱できません
39
インポートしたSTLモデルの3D化
形状がうまく再現でき
ない場合に調整
サイズ制限は、
メモリが許容できる範囲まで OKですが、
実用上は数10MB程度まで
2
1
3
5 4
40
DEXCSカスタマイズメニュー(1/4)
選択
p.36参照
選択したコンポーネントを対象に
OpenFOAM用メッシュ作成に必要
な設定作業で、よく使用する機能を
集約したメニューバー
41
DEXCSカスタマイズメニュー(2/4)
https://open-shelf.appspot.com/FreeCAD/3.html
2
1
3
42
DEXCSカスタマイズメニュー(3/4)
(同一)
2
1
3 4
43
DEXCSカスタマイズメニュー(4/4)
(同一)
2 1
3
4
2. cfMesh
44
cfMesh
とは
● 開発元:Creative Fields., Ltd.(http://www.c-fields.com/)
● GPL版と商用版(CF-MESH+)もある。
● SnappyHexMeshに類似だが、より簡単?メッシュ品質も良い
(但し、現在は単領域問題にしか適用できない)
● (ESI版)OpenFOAM-v1712 より modules 搭載
オープンCAE勉強会@富山/20140823第24回
45
cfMesh作成原理と
主要パラメタ?Dictファイルの概要
対象領域定義ファイル
(fms形式)
細分化レベル
レイヤー
46
マニュアル
ファイルマネー
ジャの起動
ダブル
クリック
展開
47
2
1
3
4
3.FreeCADマクロ
DEXCS-WB
48
cfMesh作成原理と
主要パラメタ?Dictファイルの概要
対象領域定義ファイル
(fms形式)
細分化レベル
レイヤー
DEXCS2014からは FreeCADマクロでDictファイルを自動作成
49 DEXCS2021からは 顿贰齿颁厂-奥叠で顿颈肠迟ファイルを自动作成
FreeCADマクロ / DEXCS-WBの開発経緯
パラメタセット詳細適合の省力化支援
(GUI)wxコンポーネント? Qt4 / pySyde化
マクロ起動ボタン化
code refuctoring by Miyoshi
● 0.17.13522
● 0.16.6712(stable)
● 0.17.8614 (Git)
● 0.14
● 0.16
FreeCAD Ver.
● 0.19.18272(Git)
マクロ機能追加、python3 対応
50
● 0.19 (2020/9/21)
TreeFoam3 対応、ポータビリティ対応
cfMeshSetting.py
DEXCS-WB(ワークベンチ)化 ● 0.20 (2021/9/30)
マクロの起動(DEXCS2014)
1
マクロの実行
makeChMeshSetting.py
を選択
実行ボタンを押す
3
2
51
FreeCADマクロ
52
DEXCS-WB
53
DEXCS-WB ツールバー
解析コンテナ
メッシュ作成コンテナ
ソルバー実行コンテナ
メッシュ細分化コンテナ
DEXCS-WB
(ワークベンチ)
FreeCADマクロの機能拡張版
FreeCADマクロ
(DEXCS2021でも
使用は可能)
チュートリアルケースの確認
ダブルクリック
54
1
2
ダブルクリック
FreeCADの起動
55
http://ofbkansai.sakura.ne.jp/log_seminar/
オープンCAE勉強会@関西
56
まずは動かしてみる
2
3
4
1
57
ダブルクリック
メッシュ表示
2
1
58
cfMesh設定用パラメタファイルと
Dexcsワークベンチの仕組み
59
cfMesh設定用パラメタファイル
ケース作成実行
stlファイルの作成
fmsファイルへの変換
meshDictの作成
2
1
3
OpenFOAM
ケースフォルダ /opt/DEXCS/template/dexcs
ケース作成実行
時に存在しなけ
れば自動作成
0
60
DEXCSランチャー
仮想風洞試験パラメタセット
2
1 3
ケース作成実行前
stlファイルの作成
http://ofbkansai.sakura.ne.jp/log_seminar/
オープンCAE勉強会@関西
内容はほぼ同一
exportStl.FCMacro は、
export.py を拡張したものです
61
FreeCADのモデルツリー上で表示されたオブ
ジェクトを全てまとめてSTL化します
(参考)fmsファイルの作成原理
OF端末の起動
1
surfaceFeatureEdges -angle [特徴角] [stl-File] [fms-File]
コマンド入力
2
62
fmsファイルの作成
surfaceFeatureEdges -angle 30 [case].stl [case].fms
63
backstepSimple.stl
三角形を構成する
節点座標
法線ベクトル
64
0
1
2
3
4
5
6
7
8 9
10
11
backstepSimple.fms
patchの数
節点の数
三角形の数
輪郭線の数
patch番号
三角形の節点番号
線分の
節点番号
節点座標
patchの
名前と
type
65
meshDictの作成
66
maxCellSize / BaseCellSize
maxCellSize = ( Δx + Δy + Δz ) / 60
= (30 + 3 + 2 ) /60
= 0.58
67
BaseCellSize = (( Δx x Δy x Δz ) / 6000)1/3
= ((30 x 3 x 2 ) /6000) 1/3
= 0.31
?DEXCS2020
DEXCS2021?
パラメタスタディ
BaseCellSize
featureAngle
boundaryLayer
68
変更箇所
maxCellSize
2
3
1
69
4
featureAngle
変更箇所
2
3
1
70
4
boundaryLayer
71
2
1
パラメタ設定方法
boundaryLayer
72
対象面の設定方法
2
1
3
5
どれか1つに
チェック
(確認)
walls:…
がリストアップ
6 4
変更箇所
boundaryLayer
2
3
1
73
パラメタ設定例
細分化はしない
レイヤーを付与
(パラメタは全てデフォ
ルト値を使用)
対象面は wall
細分化コンテナ
(ダブルクリックでタスク
画面が開く)
boundaryLayer
2
3
1
74
4
メッシュ確認
ダブルクリック
boundaryLayer
レイヤー指定なし
75
レイヤーオプション
変更箇所
76
backstep
壁面を個別に名
前を変えている
こと確認
backstepを
ダブルクリック
1
3
2
77
変更箇所
パラメタの細部調整
78
2
3
1
4
計算(simpleFoam)実行
2
3
境界条件データ等は事前に設定
済のものを使用しています。
1
79
5
ダブルクリック
Dexcsワークベンチの使い方
狭い隙間/薄い板のある場合
80
モデル確認
81
ダブルクリック
ヒートシンク http://www.micforg.co.jp/jp/c_t19.html
82
演習用カットモデル
非表示
表示
2
1
表示 ? 非表示 は、コンポーネントを選択してスペースキーを押せば切り替わります。
83
細分化設定 ? メッシュ作成
変更箇所
フィン厚み
2
3
1
84
メッシュ確認
2
1
85 5
6
4
7
3
メッシュ確認(流体部分)
セルサイズ
0.8
セルサイズ
0.1
86
固体部分でのメッシュ作成
ヒートシンク(カット
モデル)
のみ表示
2
1
87
個体用解析コンテナ
流体用解析コンテナ
細分化設定 ? メッシュ作成、確認
2
3
変更箇所
1
4
88
keepCellsIntersectingBoundary
2
3
1
4
89
狭い領域でのメッシュ作成
ベースメッシュ
境界面
keepCellsIntersectingBoundary
0
keepCellsIntersectingBoundary
1
内部メッシュ
OK
内部メッシュ
OK
内部メッシュ
NG
90
workFlowControls
3
91
1層しかないので、
keepCell...オプションを使
わないと消滅することが予
想される これ以上の計算は
やっても無駄!とい
うことがわかる
メッシュ作成のステップ順
keepCellsIntersectingBoundary
(不具合例)
固体部分もメッシュ
計算時間長大!
4
5
2
1
変更箇所
6
92
7
流体用解析コンテナ
流体用
パーツ表示
ダブルクリッ
ク
3
Dexcsワークベンチの使い方
optimizeLayer optionの効能
93
球の回りの流れ
http://skomo.o.oo7.jp/f28/hp28_62.htm
http://www.higashi-h.tym.ed.jp/course/kadai15/matome/kuuki.htm
Re(レイノルズ数)
Cd(抗力係数)
U:速度
D:代表寸法
 (球の直径)
nu:動粘性係数
94
球の抵抗係数
http://slpr.sakura.ne.jp/qp/air-resistance/
95
FreeCAD起動
96
ダブルクリック
モデル確認
球の半径は0.5
(D=1)
97
モデル確認
(細分化領域)
30
10
98
解析コンテナ作成
1
99
メッシュ出力先指定
100
2
4
1
3
5
どちらかを選択
メッシュ細分化設定
変更箇所(例)
3
1
101
2
メッシュ作成
2
3
1
102
ダブルクリック
メッシュ表示
103
2
1
104
メッシュ確認(Paraview)
1
4
5
3
6
2
メッシュ方案
(例)
105
計算(simpleFoam)実行
2
3
4
境界条件データ等は事前に設定
済のものを使用しています。
106
Re=100000, RAS:kEpsilon
ダブルクリック
1
空力係数プロット
2
3
4
1
107
5
変更箇所(例)
pimpleFoam用解析コンテナ作成
108
2
3
4
1
5
右クリック
? コピー
右クリック
? 貼り付け
3Dパーツの
チェックを外す
細分化パラメタはコピーし
て使用可能
pimpleFoam用解析コンテナ適合
109
2
3
4
1
5
pimpleFoam用メッシュ作成
2
3
1
110
ダブルクリック
計算(pimpleFoam)実行
2
3
4
境界条件データ等は事前に設定
済のものを使用しています。
1
111
5
Re=10000, RAS:kEpsilon
ダブルクリック
112
空力係数プロット(1/2)
2
3
4
1
5
変更箇所(例)
113
2
3
1
空力係数プロット(2/2)
変更箇所(例)
114
計算結果の検証
ダブルクリック
sphere
simpleFoam
115
sphere
pimpleFoam
116
注意点???STLのメッシュ偏差
2
3
4
5
6
117
1
7
計算精度要因
???STLのメッシュ偏差
118
その他の計算精度要因
● 解析領域、細分化領域のサイズ
● 非定常計算における平均化処理
● 計算スキーム
● ...
119
補足
120
121
マニュアル
meshDict
meshDict中のコメント文はマニュアル表記をそのまま転記しています
p.47参照
surfaceFile
maxCellSize
boundaryCellSize
minCellSize
localRefinement
{
patchName
{
additionalRefinementLevels / cellSize
refinementThickness
}
}
objectRefinement
{
objectName
{
cellSize
type box / sphere / cone / line / hollowCone
}
}
edgeMeshrefinement
{
edgeName
{
edgeFile
additionalRefineLevels / cellSize
refinementThickness
}
}
パラメタ総覧 (1/2)
keepCellsIntersectingBoundary
checkForGruedMesh(removeGruedMesh?)
keepCellsIntersectingPatches
{
patchName
{
keepCells
}
}
removeCellsIntersectingPatches
{
patchName
{
keepCells
}
}
122
boundaryLayers
{
nLayers
thicknessRatio
maxFirstLayerThickness
patchBoundaryLayers
}
patchName
}
nLayers
thicknessRatio
maxFirstLayerThickness
allowDiscontinuity
}
}
optimizeLayer
untangleLayer
optimizationParameters
{
nSmoothNormals
maxNumIterations
featureSizeFactor
reCalculateNormals
relThicknessTol
}
}
renameBoundary
{ defaultName
defaultType
newPatchNames
{
patchName
{
newName
type
}
}
}
anisotropicSources
{
boxExample
{
type box
center /
lengthX / lengthY ,...
scaleX / scaleY...
}
planeExample
{
type plane
normal / origin
scalingDistance
scalingFactor
}
}
workflowControl
{
stopAfter **(selectable)**
restartFromLastStep
}
enforceGeometryConstraints
青字部分のみFreeCADマクロで設定可能
パラメタ総覧 (2/2)
朱字部分もFreeCADマクロで設定可能
紫字部分は今後の予定
123
緑太字部分もDEXCS-WBで設定可能
Let’s smart OpenCAE
presented by
124

More Related Content

Howto CAD and Meshing on DEXCS2021