« 回転体とゴム板の接触 | トップページ | 入門に役立つリンク »

2012年11月11日 (日)

Code_aster 11.0.28以降では、接触・摩擦解析が高速化

Code_asterの公式サイトの記事(下記URL)にて、version 11.0.28以降において接触・摩擦の計算が高速化できるアルゴリズムが導入されている事が書かれています。

 

http://www.code-aster.org/V2/spip.php?article612

 

version10までは、接触・摩擦を含む非線形解析において、その計算の中で下記のような5重のループがありました。

 

ループの外側から順に

 

1) Loop over time steps
2) Loop on geometry (matching and local base)
3) Loop on the threshold of friction (transformation of the Coulomb problem into a series of Tresca problems)
4) Loop on the status of contact
5) Newton loop (linearization of the problem)

 

です(技術的に正確に訳す自信が無いので、英語のまま引用しました)。

 

そのうち、2,3,4が接触・摩擦の計算に関するものですが、version 11.0.28 からは「FORMULATION = ’CONTINUE’」の場合において、3と4のループを省略することが可能になりました。これは、「partial generalized Newton’s method」という新しいアルゴリズムによるものだそうです。

 

更に、version 11.2.4からは「total Newton generalized method」によって2のループも省略できるらしいのですが、最新のSalome-Mecaである「2012.2」に含まれているのは「version 11.2.0」なので、Code_Asterを単独でインストールする必要があります。

 

なお、この「generalized Newton」を適用するには、「DEFI_CONTACT」にて下記の設定を行います。

 

ALGO_RESO_GEOM=’NEWTON’
ALGO_RESO_FROT=’NEWTON’
ALGO_RESO_CONT=’NEWTON’

 

現在のversion11ではこれがデフォルトになっているそうですが、一応、確認しておくほうが良いと思います。

 

さて、前回Code_Aster10.5で実施した「回転体とゴムの接触」について、今回の新アルゴリズムにて再計算してみました。

 

前回使用したDEXCS2011-Salome-A3(64)(SALOME6.3 + Code_Aster 10.5)と同じマシン(仮想PC)に、debian6とSalome-Meca2012.2(SALOME 6.5 + Code_Astr 11.2.0)を入れて、それを用いました。

 

計算に用いたメッシュファイル(mmed)は前回と同じですが、commファイルはCode_aster11に合わせて多少修正しています。

 

まず、今回の本題である接触ですが、下図のように「generalized Newton」の使用を明示的に記述しています。

 

Rigid03201

ただし、この問題は摩擦が無いので、ALGO_RESO_FROT=’NEWTON’はありません(摩擦を含む問題の場合は、これも必要になります)。
また、Code_Asterのバージョンが11.2.0なので、ALGO_RESO_GEOM=’NEWTON’の指定もありません。結局有効なのは、ALGO_RESO_CONT=’NEWTON’のみになります。

 

また、「CALC_NO」と「CALC_ELEM」をまとめて「CALC_CHAMP」で置き換えました。

 

Rigid03202


さて、計算時間ですが、下記の通りになりました。

 

前回(version10.5)   : 13141 (秒)
今回(version11.2.0):  4897 (秒)

 

同じマシンで計算し、計算時間が前回の37%程度まで短縮されました。
これはかなり大きな効果と言えます。

 

前回(version10.5) のループのログの一部です(messファイル)。

Rigid03203

表を左から見て、GEOM, CONT, NEWTONのループが回っている事が分かります。

 

今回(version11.2.0)の方です。

Rigid03204

GEOMとNEWTONのループだけで、CONTのループがありません。
その分、速く計算出来ているようです。

 

Code_Asterのバージョンは、10が安定版で11がテスト版との位置づけですが、これだけの速さの違いがあるのならば、接触・摩擦問題については安定版にこだわらず、特に問題が無い限りバージョン11を使ったほうが良さそうです。

 

今回のメッシュファイル(mmed)とcommファイルは下記です。
rigid03-2.zip

« 回転体とゴム板の接触 | トップページ | 入門に役立つリンク »

接触・摩擦」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: Code_aster 11.0.28以降では、接触・摩擦解析が高速化:

« 回転体とゴム板の接触 | トップページ | 入門に役立つリンク »