いわて駐在研究日誌

OpenCAE、電子工作、R/C等、徒然なるままに

dakota 6.0(その3)

Joel Guerrero's Flubio Home Page

ここにあるNACA4の形状最適化問題(設計変数は最大キャンバーと最大キャンバー位置(翼厚比一定)、目的関数:L/D最大化)は、dakota 5.4+OF2.3+openscadで計算されている。

今後は、6.0系を使いたので、dakota_of.inを書き換えてみる。

1)DAKOTA 5.4用から6.0用にdakota_of.inを書き換え(dace)

落としてきたサンプルにはたくさんの最適化手法を用いる場合のケースが含まれているが、まず一番単純(?)なdace法(distributed design and anlysys of computer experiments)で調べてみる。これは、設計変数範囲を区切って設計変数リストを作成し、しらみつぶしに計算する方法らしい(当然、計算時間はか かる)。

dace法用のinputファイルであれば、下記2点でOK。

  1. まずはじめに、5.4まではstrategeyというブロック名だったのが、6.0からはenvironmentというブロック名になったので、まず、その部分を書き換える。
  2. environmentブロック内のsingle_methodを消す(コメントアウト

※ 揚力・抗力を計算するが、casebase/system/controlDictのforceCoeffs1のパッチ名指定がsnappyHexMeshDictでの指定と違っているので直しておく。

 

2)DAKOTA 5.4用から6.0用にdakota_of.inを書き換え(conmin_mfd

制約付勾配法の一つのconmin_mfd法では、以下の通りに書き換える。ちなみに、サンプルのあるgradフォルダに2つサンプル(grad1/grad2)があるが、fd_gradient_step_size を指定するかしないかの違いだけで大筋は同じである。
このケースでは、以下の通り1)と同じく書き換える。

  1. まずはじめに、5.4まではstrategeyというブロック名だったのが、6.0からはenvironmentというブロック名になったので、まず、その部分を書き換える。
  2. environmentブロック内のsingle_methodを消す(コメントアウト

※ 揚力・抗力を計算するが、同じくcasebase/system/controlDictのforceCoeffs1のパッチ名指定がsnappyHexMeshDictでの指定と違っているので直しておく。

 

(以上、書きかけです。)