形状の最適化について挑戦してみました。
元ねたはこちら。
今の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 です。
コメント