« 荷重を与えて変形させた状態で固定する方法(境界条件の切り替え) | トップページ | Salome-Mecaに関するイベント情報 »

2012年10月21日 (日)

面荷重(FORCE_FACE)を荷重の合計値で与えるには

3次元要素の面への荷重(「AFFE_CHAR_MECA」-「FORCE_FACE」)は、単位面積当たりの荷重値で入力します。SI単位なら、[N/m^2]になります。

様々なケースの構造解析をしていると、荷重を対象の面全体の合計値で与えたい場合もあるのですが、残念ながらCode_Asterではそのようなコマンドは無いようです。

荷重を与える面が円や四角など単純な場合は、あらかじめ面積を求めておき、合計荷重値をその面積で割った値を入力すれば良いのですが、計算できないような形状の場合はどうすればいいのでしょうか。

そのような疑問が生じ、公式フォーラムなどを少し検索してみたのですが、簡単な方法は無いようです。
たとえば、

http://www.code-aster.org/forum2/viewtopic.php?id=16525

http://www.code-aster.org/forum2/viewtopic.php?id=13432

では、「POST_ELEM」の機能を流用して、面グループの面積を求める方法が紹介されていますが、これらは本解析とは別にJOBを実行する必要があり、面倒です。Pyrhonスクリプトを駆使すれば、1JOBにまとめることも出来るようですが、それは更に面倒です。

結局、Code_Asterだけで解決するのはあきらめ、CAD(Geometry)の段階で対象面の面積を求めておくことにしました。形状を3次元CADで作成しているのであれば、そのCADの機能を使えば良いし、Salomeなら、「Geometry」に面積を求める機能があります。

以下はその実施例です。
ソフトウェアは、DEXCS2011-Salome-A3(64)(SALOME6.3 + Code_Aster STA10.5)の利用です。

解析モデルは下図の通りです。
断面が1[mm] × 1[mm]、長さ10[mm]の角柱を作り、一方の端面の一辺にR=1[mm]のフィレットをつけます。

Forcef0101

フィレットを付けた方の面を荷重面としてグループ名を「force」にし、他端を固定面としてグループ名を「fix」にします。
この荷重面の長手方向(X方向)に合計1[N]の荷重を与えて引っ張るものとします。

このとき、荷重面がフィレット無しの四角のままなら、断面積は1[mm^2]なので、単に1[N/mm^2]を与えれば済みます。しかし、フィレットを作成したことにより断面の面積が変わっていますので、その断面積を求めておく必要があります。
(今回の「force」面の場合は明らかに、π/2[mm^2]なのですが、一応「わからない」ということにしておきます)。

面の面積の求め方ですが、Geometryのメニューから「Measure」-「Basic Properties」で、下図のようなウィンドウが出ます。

Forcef0102


ここで、オブジェクトブラウザーで該当する面グループを選択すると、その面の面積が、「Surface is:」の欄に表示されます。「force」面の面積は、1.570795[mm^2]と表示されています(これはπ/2であり、計算値と一致します)。
また、「Length」は面を囲む線の合計長さのようです。

このモデルで単純な線形解析を行いました。
メッシュ図です。

Forcef0103


四辺形2次要素を用いました。

commファイルのEficasによる編集内容です。

Forcef0104


FORCE_FACEのFXの値を
1÷1.570795 = 0.63662031
としました。

また、fix面のX方向反力の合計値を出力するようにしています。

Forcef0105


この方法の詳細については、「節点反力を集約する方法」をご覧ください。

結果ですが、まずfix面のX方向反力の合計値は「resu」ファイルに出力され、下記のようになりました。

#TABLE_SDASTER
INTITULE         RESU     NOM_CHAM         NUME_ORDRE   INST       
DX
Reaction_Force   RESU     REAC_NODA                   1  0.00000E+00
-9.99999E-01 

反力はほぼ1[N]となり、設定どおりの力が作用していることが分かりました。

下図は、X方向の応力図です。

Forcef0106_2


角柱の上面の応力が大きく、下面が小さいことが分かります。
変形も、よく見ると「お辞儀」しています。

これは、下図のように荷重が角柱の上面側に偏るためです。

Forcef0107


「FORCE_FACE」は対象の面に(デフォルトで)均等分布しますが、荷重は法線方向ではなくグローバル座標の成分になることに注意する必要があります。
法線方向の荷重(つまり圧力)にしたい場合は「PRES_REP」になります。

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

forcef01.zip

« 荷重を与えて変形させた状態で固定する方法(境界条件の切り替え) | トップページ | Salome-Mecaに関するイベント情報 »

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

コメント

コメントを書く

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

トラックバック

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

この記事へのトラックバック一覧です: 面荷重(FORCE_FACE)を荷重の合計値で与えるには:

« 荷重を与えて変形させた状態で固定する方法(境界条件の切り替え) | トップページ | Salome-Mecaに関するイベント情報 »