« ParaviewによるデータのプロットとCSVファイル出力 | トップページ | 超弾性材料の検証 »

2012年3月31日 (土)

自由度連結の方法(LIAISON_UNIF)と反力の出力

節点自由度の連結方法を試してみましたので、ご紹介します。
今回、下記の情報を参考にさせていただきました。

●OpenCAE Users Wiki - 「SALOME-Mecaの活用技術」の「AFFE_CHAE_MECAの使い方」資料

http://opencae.gifu-nct.ac.jp/pukiwiki/index.php?plugin=attach&refer=SALOME-Meca%A4%CE%B3%E8%CD%D1%B5%BB%BD%D1&openfile=AFFE_CHAR_MECA_LIAISON_1.pdf

●Code_Aster V10の英文マニュアル u4.44.01
http://www.code-aster.org/V2/doc/v10/en/man_u/u4/u4.44.01.pdf

前回、塑性変形の荷重と変位の関係をプロットしましたが、荷重面を拘束していなかったので、正確な結果とは言えませんでした。そこで今回、荷重面の変位を連結して試行してみました。

Code_Asterでは、この自由度連結に「AFFE_CHAE_MECA」の「LIAISON_UNIF」を用います。

###

まず、前回と同じく上面に荷重を与える条件での試行です。

荷重を与える点(press面とZ軸が交差する点)に「pressP」というグループ名を付けました。このグループはGeometryで作成し、その後Meshにて「Mesh_1」を右クリックし、「Create Group from Geometry」を選択し、「Elements」の方にObject BrowserのGeometryの下の「pressP」を指定して作成しています。

07201

下図は、拘束・荷重に関して前回から変更した部分です。

07202

荷重面の荷重方向(つまりZ方向)の変位を「LIAISON_UNIF」で連結しました。ここで荷重に直角方向(X方向、Y方向)の変位については拘束していません。荷重に直角方向への変形を妨げないようにするためです。

荷重は「pressP」点のみに与えました。前回の荷重値が200MPaだったので、

  200 (MPa) × 5 (mm) × 5 (mm) = 5000 (N)

としました。

計算・結果出力についてですが、下図のとおり追加しました。

07203

節点値の計算(CALC_NO)では、FORC_NODA(節点力)とREAC_NODA(節点反力)を追加しました。

結果出力指定(IMPR_RESU)では、RESU_5にFORC_NODA、RESU_6にREAC_NODAのそれぞれ追加して、ポスト処理で参照できるようにしました。

これで計算した結果が下図です。
変位は10倍表示で、4000N(160MPa)で引っ張った状態です。

07204

荷重はpressP点の1点のみに与えていますが、応力や変形は均等になっていることが分かります。

ここで、pressP点について、DEPL(変位)、FORC(節点力)、REAC(節点反力)を出力してエクセルでグラフにしました。

07205


これを見ると、pressP点の荷重値(FORC・青色の線)は、引っ張り側への荷重最高点で10Nしかありません。この時点では外部から4000Nの荷重が作用していますが、残りの3990Nは連結されている他の節点に振り分けられています。そしてpressP点は、それら他の節点からの反力を受けています(REAC・赤色の線)。

変位連結した面のいずれかの節点に荷重を与えた場合、その荷重値は、荷重節点のFORC値からREAC値を引いた値となります。上の例では、「10 - ( -3990) = 4000」です。

これはデータ書き出し後に計算する必要があり、間違いの元になります。したがって、このような場合の荷重値としては、結果からプロットするのではなく、Timeを元にして、与えた荷重値を計算するべきと思います。

なお、pressP点の荷重値ですが、全体荷重4000Nのうち10Nということで、10/4000=1/400となっています。
press面には均等な応力が作用しており、同じ面積の正方形要素面が10x10=100面あります。したがって、要素1面あたりの荷重は全体の1/100です。要素1面には節点が4つあるので、節点1個あたりの荷重値は、1/400となります。pressP点は要素1個のみに所属しており、他の要素と共有されていませんので、全体の1/400(つまり10N)がそのまま荷重値となります。

press面の辺上の節点は2要素で共有されているので20N、面内の節点は4要素で共有されているので、40Nとなります(下図参照)。

07206

この事例のメッシュファイル(mmed)とAsterファイル(comm)は下記にzip圧縮して置いています。

http://salome-meca.cocolog-nifty.com/samples/07-20d.zip

###

次に、press面を変位で制御する方法での試行を行いました。

本来ならLIAISON_UNIFを用いる必要は無く、press面の全節点をDDL_IMPOでZ方向に一律変位させれば済む話ですが、変位を連結した上で、変位条件を与える点を1点のみとしたとき、その点に反力が集中すれば、反力を読み取る点が一つで済むのではないかという目論見です。

commファイルの変更点は下図の通りです。

07207

時間とともに変化するpressP点へのZ方向変位を1辺の初期長さである「5mm」として、DEFI_FONCTIONによる時間変化を
(0,0)
(1, 0.0015) *弾性範囲
(2,0.016)  *塑性範囲
とひずみ値にすることで、5mm×(ひずみ)=(変位)になるようにしました。

DEFI_LIST_REELは、time=1を超えたところ(塑性域のはじめのところ)を細かい刻みにしています。

なお、この試行については、引っ張りの片道だけ(ひずみ0.16まで)にしています。

これで計算させて反力を表示させたところ、反力はpress面全体に均等分布してしまいました。

07208

pressP点の1点に反力がまとめられるという目論見が外れたことになります。

私が普段仕事で使っているFEM解析ソフト(Marc)では、この方法によって1節点に全反力を集約できるので、よく使う手法なのですが、Code_Asterの場合はどうすればよいのか調べる必要がありそうです。

ビーム要素を剛体扱いにしてpress面と結合させれば出来そうな気もしますが、結果出力のためだけにそのようなモデルを作るのもちょっと面倒です。

この事例のメッシュファイル(mmed)とAsterファイル(comm)は下記にzip圧縮して置いています。

http://salome-meca.cocolog-nifty.com/samples/07-20e.zip

« ParaviewによるデータのプロットとCSVファイル出力 | トップページ | 超弾性材料の検証 »

ポスト処理」カテゴリの記事

条件設定」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1605696/44686971

この記事へのトラックバック一覧です: 自由度連結の方法(LIAISON_UNIF)と反力の出力:

« ParaviewによるデータのプロットとCSVファイル出力 | トップページ | 超弾性材料の検証 »