ホーム » ソフトウェア » Marc / Marc Mentat

Marc / Marc Mentat

最終更新日:2018年6月1日

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

Mentat(Marc Mentat)は、Marc プログラムのための会話型プリポストプロセッサです。 グラフィックス・ディスプレイ上で対話的な入力データの作成・編集および解析結果の表示が可能です。


利用環境

Marc

  • サブシステムA
  • バージョン 九州大学構成員 学術研究機関構成員 民間利用の方
    2017.0.0
  • サブシステムB
  • バージョン 九州大学構成員 学術研究機関構成員 民間利用の方
    2017.0.0
  • ログインノード(ito)
  • バージョン 九州大学構成員 学術研究機関構成員 民間利用の方
    2017.0.0

利用方法(Marc)

環境設定

$ module load marc/2017

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です。

$ run_marc -jid e2x1 ← Marcの実行

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

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

$ module load intel/2016
$ module load marc/2017   <-- 環境の再設定が必要になる場合があります
$ 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 "rscunit=ito-b"                                                         
#PJM -L "rscgrp=ito-g-1-dbg"                                                   
#PJM -L "vnode=1"                                                               
#PJM -L "vnode-core=9"                                                          
#PJM -L "elapse=10:00"                                                          
#PJM -j                                                                         

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

利用方法(Marc Mentat)

Mentat は X Windows 環境で動作します。 利用のためにはクライアント側でX Windowの環境設定を行なう必要があります。

環境設定と実行方法

$ module load mentat/2017
$ mentat

参考資料

マニュアル

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


サンプルプログラム

Marc のマニュアルに記載された入力データ、ユーザーサブルーチン集をログインノードの /home/app/msc/marc2017/demoおよび/home/app/msc/marc2017/demo_ddm に公開しています。 コピーして御利用ください.

以下は、例題 e2x1.date2x14.datu2x14.fのコピー例です。 $ は入力促進行(コマンドプロンプト)です。

$ ls /home/app/msc/marc2017/demo | more          ← 一覧表示
$ cp /home/app/msc/marc2017/demo/e2x1.dat .      ← サンプルのコピー例
$ cp /home/app/msc//marc2017/demo/e2x14.dat .
$ cp /home/app/msc//marc2017/demo/u2x14.f .