MSC Marc

最終更新日:2024年7月3日


MSC Marc は、Nastran、Adina と同様、世界的で広く利用されている汎用有限要素法解析プログラムです。 構造解析をはじめ、熱伝導解析、音響解析、静電場解析などの機能を持ち、 豊富なライブラリ群から必要なものを選択して自由度の高い解析処理を行なうことが出来ます。 特に非線形解析が精度良く行なえるのが特徴です。
玄界(Genkai)システム内でのみの利用となります。

MSC製品は、2024年2月まで稼働していた前システム(ITO)における利用者数が少なかった為、現システムではライセンス数を削減しました。それに伴い、外部PC等にインストールしたMSC製品からの利用はできなくなりました。また、リモートでのGUI起動も(サポート対象外という理由で)制限されます。


利用環境

  • ノードグループA, B, C, ログインノード
バージョン 九州大学構成員 学術研究機関構成員 民間利用の方
2024.1


利用方法(Marc)

環境設定

$ module load marc/2024.1

run_marcコマンド

Marcの処理は run_marc コマンドで行います。指定可能な主なオプションは以下の通りです。

-jid jobnameジョブファイル名を与えます。通常は``jobname.dat''という名前の入力データファイルとなります。
-prog prognameユーザーサブルーチン付のジョブを実行したときにセーブした実行ファイル``progname.marc''を実行します。
-user usernameユーザーサブルーチン``username.f''を使って``username.marc''という名前の新しい実行ファイルを作成し、 実行します。
-save yesユーザーサブルーチンを組み込んで作成した実行ファイル``username.marc'' を保存することを指示します。
-rid restart-nameリスタートファイルを出力するように指定して前もって実行したジョブのジョブファイル名を与えます。
-pid postname温度情報を持ったポストファイルを作成するために前もって実行したジョブのジョブファイル名を与えます。
-sid substructureサブストラクチャを使用するジョブで使用します。サブストラクチャファイル名は ``substructure.t31''となります。
-ver no入力ファイル名などを確認することなく直ちにジョブを実行します。 バッチ処理を行なう場合には必ず指定します。
-back no処理に関する結果を“.log”ファイルではなく標準エラー出力(対話型処理では画面)に書き出します。 バッチ処理を行なう場合には必ず指定します。
-nthread n行列ソルバーのスレッド並列度を指定します。 性能は処理内容に依存します。

MSC.Marc の入力データは常に``jobname.dat’‘というファイル名である必要があります。拡張子は``.dat’'となります。


対話型処理

ジョブ e2x1 を実行します。入力データは e2x1.datです。

$ module load marc/2024.1
$ run_marc -jid e2x1 ← Marcの実行

ジョブ e2x14 をユーザーサブルーチン u2x14 を使って実行します。 ユーザーサブルーチンも実行は事前にmodule load intel/2024.1を用いてコンパイラ環境の設定を行います。

ユーザーサブルーチンファイルは u2x14.f、入力データは e2x14.datです。 また、新規に作成された実行ファイル u2x14.marcをジョブの終了後も保存します。

$ module load intel/2024.1
$ module load marc/2024.1   <-- 環境の再設定が必要になる場合があります
$ run_marc -jid e2x14 -user u2x14 -save yes

先の例題で作成した実行ファイル u2x14.marcを用いて再びジョブ e2x14 を実行します。

$ run_marc -jid e2x14 -prog u2x14

リスタートオプションを記述したジョブ e3x2a を実行します。 さらに、ジョブ e3x2a の結果を用いてリスタートジョブ e3x2b を実行します。

$ run_marc -jid e3x2a
:
$ run_marc -jid e3x2b -rid e3x2a

バッチ処理

バッチ処理による Marc の実行は、Fortran、C などと同様「バッチリクエストファイル」と呼ばれるファイルに処理手順を記述し、 pjsub コマンドでジョブを投入します。

バッチ処理の際には、プログラムをフォアグラウンドで実行するオプション “-back no”、および必要な環境の確認を求めない“-ver no”オプションを必ず指定してください。 “-ver no”を指定しない場合,Marcプログラムは利用者からの確認を求めるため処理が永久待ちになります。 また、“-back no”を指定しない場合、一見実行が終了したように見えながら処理が継続されるということが起きる可能性があります。

以下は e2x1 をバッチジョブで実行するスクリプト例です。 入力データは e2x1.datです。

#!/bin/bash
#PJM -L "rscgrp=a-batch"
#PJM -L "node=1"
#PJM -L "elapse=00:10:00"
#PJM -j

module load marc/2024.1
run_marc -jid e2x1 -ver no -back no -nthread 3


参考資料

マニュアル

Marc and Mentat Documentation: Release 2024
(https://mscsoftware.my.site.com/customers/s/article/Marc-and-Mentat-Documentation-Release-2024)

Hexagon の SimCompanionに登録することでマニュアルをはじめとした関連情報を入手することができます。

サンプルデータ

Marc のマニュアルに記載された入力データ、ユーザーサブルーチン集をログインノードの

/home/app/Marc/2024.1/marc2024.1

に公開しています。