形状最適化?の最初の一歩

形状の最適化について挑戦してみました。
元ねたはこちら

今のCode Aster13.6で計算できるようにしてみました。

主な変更点は次のとおり

  • Numericは使わないから削除
import numpy as N
#import numeric as N
import math
  • 1次要素を追加するところ

meshを読み込んだ後、節点GROUPの’TOUT’を追加します。

msh[0]=DEFI_GROUP(reuse =msh[0],
MAILLAGE=msh[0],
CREA_GROUP_NO=_F(GROUP_MA='model',NOM='TOUT',) ,);

そして、1次要素を追加します。

nmh[i]=CREA_MAILLAGE(MAILLAGE=msh[0],
                     CREA_POI1=_F(NOM_GROUP_MA='spElmt',
                                    GROUP_NO='TOUT',),);
  • 新しいmeshをつくるところ

msh[i]⇒msh[i+1]ではなく、msh[0]の計算対象のmesh groupを更新しています。

msh[0]=DEFI_GROUP(reuse =msh[0],
                  MAILLAGE=msh[0],
                  DETR_GROUP_MA=_F(NOM='model',),
                  DETR_GROUP_NO=_F(NOM='TOUT',),
                  CREA_GROUP_MA=_F(NOM='model',MAILLE=NewModel,),
                 CREA_GROUP_NO=_F(GROUP_MA='model',NOM='TOUT',) ,);

 

ASTKです。

1回目。

10回目

20回目

30回目

34回目(最終)

応力が低い部分が除かれていました。
 




使用したデータはOptiastkv13-6 です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です