線形静解析 (弾性) チュートリアル

ここでは、FrontISTR チュートリアルにて 01 とナンバリングされている「線形静解析 (弾性)」を RICOS Production Suite で実行する方法について説明します。

[FrontISTR チュートリアル 01]
※本記事での RICOS Production Suite のバージョンは 2.0.6 です。

実行する内容としては、
この 3D 形状の物体 (節点数 84,056、要素数 49,871) に対して、条件を設定して解析を行い (下記画面 1) 、解析結果を右記のように可視化する (下記画面 2) というものです。

また、アカウント登録の段階およびこのチュートリアルを実際に実行しても、料金は一切発生しません。是非とも気軽にお試しください。

[RICOS Production Suite のアカウント登録・ログインはこちらから]

1. データの準備

まず、チュートリアルで使用するデータを準備します。筆者の環境は下記の通りです。また、この記事で使用しているブラウザは Firefox 95.0.2 です。

$ sw_vers
ProductName: macOS
ProductVersion: 12.1
BuildVersion: 21C52

また、以下では特に断らないかぎり、

  • 頭に$が付いている行は、コマンドラインでの入力を
  • ...(省略)は、実際の表示ではなく複数の行を筆者が省いたということを

表すものとします。

まず、下記の操作で FrontISTR の github ページよりデータをダウンロードします。

$ git clone https://github.com/FrontISTR/FrontISTR
Cloning into 'FrontISTR'...
remote: Enumerating objects: 31786, done.
remote: Counting objects: 100% (2060/2060), done.
remote: Compressing objects: 100% (1112/1112), done.
remote: Total 31786 (delta 1312), reused 1592 (delta 914), pack-reused 29726
Receiving objects: 100% (31786/31786), 231.56 MiB | 8.60 MiB/s, done.
Resolving deltas: 100% (24989/24989), done.

ダウンロードが完了しました。このようなファイル構成となっています。

$ ls FrontISTR/tutorial/
01_elastic_hinge/          04_hyperelastic_spring/    07_viscoelastic_cylinder/  10_contact_2tubes/         13_dynamic_beam_nonlinear/ 16_heat_block/             19_conrod/
02_elastic_hinge_parallel/ 05_plastic_cylinder/       08_creep_cylinder/         11_contact_2beam/          14_dynamic_plate_contact/  17_freq_beam/              
03_hyperelastic_cylinder/  06_plastic_can/            09_contact_hertz/          12_dynamic_beam/           15_eigen_spring/           18_cavity_flow/

2. データのアップロード

RICOS Productin Suite にログインした後、「ファイルセット一覧」→「新規ファイル追加」より、ファイルをアップロードできます。
※ この記事の画像において、赤色の四角は筆者が編集し追加したものです。ご注意ください。

「ファイルを選択」ボタンで、アップロードするファイルを選択します。

先ほどダウンロードしたディレクトリ内「FrontISTR → tutorial → 01_elastic_hinge」にある hinge.msh を

$ ls FrontISTR/tutorial/01_elastic_hinge/
hecmw_ctrl.dat                hinge.cnt                hinge.msh

「Mesh (FrontISTR) 」としてアップロードします。

アップロードすると、次のような画面に遷移します。ここで、Pre-processor ボタンを押し「実行」を選択すると、mesh データが表示されます。

マウスやトラックパッド操作によって、拡大・縮小や回転などの操作が可能です。

3. 解析

解析条件の付与

今回のチュートリアルでは、強制面と拘束面を指定し、それぞれに条件を付与します。
どのような条件を設定するのか、チュートリアルのページで紹介されているhinge.cntを確認します。下記が該当する部分です。

### Boundary Conditon
!BOUNDARY
 BND0, 1, 3, 0.000000      # 拘束面1を指定
!BOUNDARY
 BND1, 1, 3, 0.000000      # 拘束面2を指定
!CLOAD
 CL0, 1, 0.01000           # 強制面を指定

2 つの拘束面については、座標 id が 1 〜 3 の方向(つまり全ての方向)への変位を 0 に、強制面については 座標 id = 1 の方向に 0.01 の荷重を設定します。
※座標 id については、 座標 id = 1, 2, 3 がそれぞれ画面上の X, Y, Z 軸に対応しています。

まず、穴が2つある側の、2つの穴の内側の面を拘束面として固定します。

画面右上の「Node group」を選ぶと、節点グループの一覧が見られるようになります。

その状態で条件を付与したい面をクリックすると、その面を構成している節点グループの名前が右側でグレー塗りになります 。

今回の場合は、「Body0-6_ngroup」という名前です。
グレーになっている名前をクリックし、青色になると、その面を選択できた状態となります。この状態で、下にある「Add」ボタンをクリックすると、条件を入力する画面が表示されます。

今回はこの面について座標 id 1 〜 3 のそれぞれの方向に固定します。
この場合、「condition type」は「BOUNDARY〜〜〜」を選択し、「DOF_id(from)」に「1」、「DOF_id(from)」に「3」、Valueに「0」を入力すると、上記のような設定ができたことになります。

※ また、例えば「座標 id 1 と 3 について変位を 0 に設定したい」場合は、同じ面に

  • 「DOF_id(from)」に「1」、「DOF_id(from)」に「1」、Valueに「0」
  • 「DOF_id(from)」に「3」、「DOF_id(from)」に「3」、Valueに「0」

の 2 種類の条件を設定することになります。

入力した状態で「set」ボタンを押下すると、入力した値が設定されます。

画面右側の「Conditions」欄に条件が入っていることが確認できます。

次に、もう片方の穴の内側の面にも同様の条件を設定します。こちらの面の名前は「Body0-7_ngroup」です。

先ほどの面と同じ内容を「set」します。これで、拘束面の設定は完了しました。

次に、もう片方の面の穴の内側=強制面に、荷重の条件を設定します。

3D 形状で目的の面をクリックすると、この面の名前が「Body0-5_ngroup」であることが分かります。

この面には、先ほどとは違う条件を設定することになります。「condition type」は「CLOAD〜〜〜」を選び、「DOF_id」は「1」、「value」には「0.01」を設定します。

「Conditions」欄には、拘束面に設定した「BOUNDARY〜〜〜」ではなく「CLOAD〜〜〜」という条件が設定されています。

これで、拘束面、強制面ともに解析条件の設定が完了しました。

画面右上にある「Model name」で、今回設定した解析条件のモデルの名前を変更できます。ここでは、「hinge_test」に変更します。そして画面右上にある「Save model」ボタンを押し、遷移した画面で「実行」を選ぶと、この設定条件を記述した解析ファイルが作成されます。

解析処理の実行

この画面に遷移すると、解析の実行ができます。
また、画面下部に表示されている解析ファイルmodel.cntをダウンロードし、中身を確かめることもできます。
この記事では、このまま解析に進みます。「Analysis」ボタンを押すと、解析に使用するリソースを選択できます。今回は、料金の発生しない「free instance」で、他の条件も変更せずに実行します。

「free instance」では、1ノード・10分の計算時間までの計算が実行できます。
※ それ以上の計算を行いたい場合は、画面左部「ご利用情報管理」よりご利用者様の情報をご登録いただく必要がございます。ご登録いただければ、上限時間や並列数が多いノードが選択できるようになります。また、料金は計算時間によって課金されます。

ジョブの実行が始まりました。計算が終わるまで、少し時間がかかります。計算が完了していない状態では、ファイルセット情報の「種類」が「FrontISTR analysis model set」のままです。

時間をおいて画面をリロードします。今回だと 1 分程度で計算が完了します。
計算が完了すると、「種類」が「FrontISTR analysis result」に変更されます。

4. 解析結果を確認する

解析結果が完了した状態でページの下部を見てみると、複数のファイルが出力されているのが分かります。

ここからログデータなどをダウンロードして結果を確認することもできますが、この記事では RICOS Production Suite 上で視覚的に結果を確認します。

「Post processor」ボタンを押し、「実行」を選ぶと、結果を表示するためのファイルが生成され、画面に表示されます。

右部「Contour map」を変更すると、指定した値に基づいた色が塗られます。例えば、「NodalMISES_0」を選ぶと、このようになります。

右部「# of classes」の値を変更すると、着色の細かさが変更できます。他の結果と比較するときに、このように細かさを落とした方が、より違いが分かりやすいこともあります。

また、「Colour」を変更することで、着色の色付けを変更できます。

5. まとめ

ここでは、FrontISTR のチュートリアル 01 を RICOS Production Suite 上で実行しました。画面上の 3D データやボタン操作のみで、チュートリアルと同じ解析条件を設定することができました。
また、上記では紹介していませんが、素材の性質や線形ソルバの設定も、RICOS Production Suite 上から変更できます。

低いコストで CAE をはじめられるきっかけとして、そして RICOS が開発する独自技術の提供プラットフォームとして、今後も RICOS Production Suite は機能追加や UI 改善を行っていきます。無料である「free instance」でも様々な例が実行できますので、是非とも気軽にお試しください。

[RICOS Production Suite のアカウント登録・ログインはこちらから]