More Related Content
PDF
PDF
PDF
OpenFOAMの混相流用改造solver(S-CLSVOF法)の設定・使い方 PDF
PDF
PPTX
PDF
OpenFOAM v2.3.0のチュートリアル 『oscillatingInletACMI2D』 PDF
What's hot
PDF
rhoCentralFoam in OpenFOAM PDF
OpenFOAM -回転領域を含む流体計算 (Rotating Geometry)- PDF
PDF
ParaviewでのParticle Tracerを用いた可視化 PPTX
OpenFOAMによる気液2相流解析の基礎と設定例 PDF
PDF
PDF
OpenFOAM の Function Object 機能について PDF
OpenFOAM -空間の離散化と係数行列の取り扱い(Spatial Discretization and Coefficient Matrix)- PDF
About dexcs2021 for OpenFOAM PDF
Intro to SVE 富岳のA64FXを触ってみた PDF
OpenFOAMを用いた計算後の等高面データの取得方法 PDF
PDF
OpenCAEシンポジウム発表資料-OpenFOAMのVOF法における計算時間、計算誤差最小条件の探索 PDF
PDF
OpenFOAMにおけるDEM計算の力モデルの解読 PDF
PRML上巻勉強会 at 東京大学 資料 第1章前半 PPTX
PreCICE CHT with OpenFOAM and CalculiX PDF
Turbulence Models in OpenFOAM PDF
Viewers also liked
PDF
OpenMDAOの最適化を試す(第23回オープンCAE勉強会@関西) PDF
OpenFOAM を用いた Adjoint 形状最適化事例1 PDF
OpenFOAMと風洞実験~オープンCAE勉強会@関西の取組み~ PPTX
PDF
ベアメタルサーバで Hyper-V を使ってみた(仮想デスクトップ編) PPTX
WindowsPC上Lubuntu仮想マシンへのSalome-Mecaのインストール(2) PPTX
DEXCS2015のWindows10 PCへのインストール PDF
PDF
PPTX
Salome-Meca応力解析中級教材:大変形弾塑性解析による引張試験の再現 PDF
PDF
PDF
オープンCAEをはじめよう!入門編 ver.2015 PDF
PDF
PPTX
WindowsPC上Lubuntu仮想マシンへのSalome-Mecaのインストール(1) PDF
オープンソースによるモデルベースデザイン(OpenModelica) PDF
Adjoint Shape Optimization using OpenFOAM PDF
OpenFOAM+のCo-simulation機能とFMUの試作 PDF
Similar to 配管流路の多目的最適化OpenFOAM+OpenMDAO(第28回オープンCAE勉強会@関西)
PDF
3Dシミュレーションと最適化 3D-Simulation&Optimization 川合雅巳 KAWAI MASAMI PDF
CAESES-FFW,GridPro,OpenFOAMを使用した形状最適化事例#1 PDF
PDF
PDF
PDF
第21回新生流体科学セミナー@宇宙航空研究開発機構(JAXA) PDF
Using PyFoam as library(第25回オープンCAE勉強会@関西) PPTX
PDF
PDF
「輸送方程式のソース項の実装 Ver-2.1の新機能Field sources」OpenFOAM勉強会 for beginner@関東,2012年04月21日 PDF
PDF
timeVaringMappedFixedValueについて 配管流路の多目的最適化OpenFOAM+OpenMDAO(第28回オープンCAE勉強会@関西)
- 1.
- 2.
- 3.
多目的最適化
2014/3/8 第28回オープンCAE勉強会@関西 3
CAE/CFDにおける最適化
寸法などパラメトリックな値を
設計変数とするため、工学的に
利用しやすい?
多目的最適化も可能。
寸法のバラつきも考慮した
ロバスト最適化もある
形状のトポロジーや表面を
設計変数とする。
随伴方程式を解くタイプの
最適化。
単一の目的関数を最小とす
る形状の創出や滑らか形状
を表面を計算できる
- 4.
多目的最適化
2014/3/8 第28回オープンCAE勉強会@関西 4
パレート解と多目的遺伝的アルゴリズム
複数の目的があればトレードオフの関係が生じうる
淘汰、交叉、突然変異を繰り返し、よりよい個体を
生存させる遺伝的アルゴリズムを用いてパレート解
を求める。 ※CYBERNET解析講座 初めての最適化が分かりやすい
0
個体(計算点)
目的関数1
目的関数2
最適解から遠い解は
淘汰される
最適解に近い解で
交叉させる
0 目的関数1
目的関数2 解を進化させる
パレート解
- 5.
多目的最適化
2014/3/8 第28回オープンCAE勉強会@関西 5
多目的最適化の流れ
解に満足
多目的最適化
終了
応答曲面作成
多目的遺伝的
アルゴリズム
(MOGA)
Yes
No
目的関数や制約関数の近似関数を作成する
設計変数xを与えると目的関数の近似値の計算が可能
xxxx ji ggff 11 ,
遺伝的アルゴリズムの多目的版。
母集団内でパレート解以外を淘汰し、
パレート解同士の交配や突然変異により
新たなパレート解を生み出していく
近似精度の低い応答曲面をループによる強化で
トータルの実験数を減らす
⇒逐次近似最適化アルゴリズム
- 6.
多目的最適化
2014/3/8 第28回オープンCAE勉強会@関西 6
応答曲面の作成
実験終了?
応答曲面作成
終了
実験計画
CAE/CFD実施
Yes
No
関数近似
近似関数を作るための実験計画。
近似モデルに適した実験計画がよい。
例えば、2次関数で近似したい場合中心複合
化計画がよい。(たしか・・・)
逐次近似最適化を行う場合は、
近似モデルにKrigingモデルやRBFニューラ
ルネットワーク、実験計画にラテン超方格を
用いる(たぶん・・・)
KrigingモデルやRBFニューラルネットワーク
のような非線形モデルでは、オーバーフィッ
ティングとならないように注意が必要。
- 7.
曲げ配管の流れの最適化
2014/3/8 第28回オープンCAE勉強会@関西 7
目的関数
ソルバ :simpleFoam
動粘度 :1.5e-05 [m2/s2]
乱流モデル :kOmegaSST outlet
U: pressureInletOutletVelocity
p : totalPressure p0=0
inlet
U:fixedValue (0 0 10)
p:zeroGradient
Objective Function 3
pipe Length
Objective Function 1
inlet pressure average
Objective Function 2
outlet velocity sum of squares
目的関数1,2,3を最小化する
- 8.
曲げ配管の流れの最適化
2014/3/8 第28回オープンCAE勉強会@関西 8
設計変数
曲げ部をベジェ曲線で表す。
p1,p2はベジエ曲線の制御点でp1,p2の位置x1,x2を設計変数とする
inletの管中心を原点としたとき曲げ部は以下のように表される
p0=(0,20), p1=(0,20+x1),p2=(20-x2,40),p3=(20,40)を代入
尚、 のとき最も円に近似される
40mm
20mm
20mm
40mm
x2
x1
p2
p1
inlet
outlet
(0,0)
x1=6,x2=6
x1=12,x2=12
x1=18,x2=18
3
3
2
2
1
2
0
3
3
3
2
2
1
2
0
3
13131
13131
ttttttt
ttttttt
20
3
124
21
xx
- 9.
最適化問題
2014/3/8 第28回オープンCAE勉強会@関西 9
多目的最適化問題
21
21
213
212
211
,:find
18,618,6:tosubject
,:min
,:min
,:min
xx
xx
xxf
xxf
xxf
outlet
inlet
: inlet pressure average
:outlet velocity
sum of squares
1f
3f
2f
:pipe Length
2x
1x
※ただし最適化には の近似似関数を用いる321 ,, fff
- 10.
解析の自動化
2014/3/8 第28回オープンCAE勉強会@関西 10
Componentクラス
OpenMDAOでは計算部分をComponentクラスを継
承して記述する必要がある
input-outputとなるクラス変数、計算を実行するク
ラスメソッドexecute()を定義する
execute内で、iotype=outのクラス変数に値を入力
する
インスタンス生成後、iotype=inのクラス変数に値を
入力し、クラスメソッドexecute()を実行すれば計算
が行われ、iotype=outのクラス変数に値が入る
- 11.
- 12.
解析の自動化
2014/3/8 第28回オープンCAE勉強会@関西 12
クラスメソッド:preprocessing()
1. blockMesh内曲げ部のedgeをspline定義
2. ベジエ曲線からedgeのsplineを計算
3. pyFoamを用いてblockMeshDictを編集
4. blockMeshの実行
クラスメソッド: mainprocessing()
1. simpleFoamの実行
※1
※2
※2
※1 PyFoam.RunDictionary.ParsedBlockMeshDict.ParsedBlockMeshDictを利用
※2 PyFoam.Execution.BasicRunner.BasicRunnerを利用
- 13.
解析の自動化
2014/3/8 第28回オープンCAE勉強会@関西 13
クラスメソッド: postprocessing()
1. functionObjectを用いinlet Pressure Averageを
ログ出力。pyFoamを用いてログ解析
2. 最終timeStepのUを読み込み( )、
outlet velocity sum of squaresを計算
3. pipe Lengthについてはpreprocessingにて取得
※3
※1 PyFoam.RunDictionary.ParsedBlockMeshDict.ParsedBlockMeshDictを利用
※2 PyFoam.Execution.BasicRunner.BasicRunnerを利用
※2
- 14.
応答曲面の作成(Krigingモデル)
2014/3/8 第28回オープンCAE勉強会@関西 14
実験計画
2変数について各5水準の計52回実験する
メタモデル(近似関数)
近似関数
Pressure Average の近似モデル:Kriging
nugget(平滑化パラメータ)の使用
outlet velocity sum of squaresの近似モデル:Kriging
nugget(平滑化パラメータ)の使用
pipe Lengthの近似モデル:Kriging
nugget(平滑化パラメータ)の使用
モデル
bendPipeインスタンス
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
付録
2014/3/8 第28回オープンCAE勉強会@関西 21
使用ツール
OpenFOAM (ver:2.2.x)
blockMeshによる形状変更
simpleFoamによる解析
pyFoam (ver:0.6.1)
python libraryとして使用しCFD解析を自動化
OpenMDAO (ver:0.9.2)
応答曲面作成(実験計画/近似モデル)
多目的最適化(NSGA2 @pyOpt (ver:1.1.0))