femap with nx nastran – dmap入門 1...計算工学 (30-2) チュートリアル femap with nx...

Post on 10-Mar-2020

16 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

(30) 計算工学

チュートリアル

3952

Femap with NX Nastran – DMAP入門(1)桑原 雅治

今回から、著名な解析ソフトウェアNX NastranのカスタマイズプログラムのDMAPに関しての使用方法を解説して行きます。全3回を予定しており、主にプリポスト一体型のFemap with NX Nastranを用いた説明を行っていきます。1回目の今回は、Nastranの基礎知識と、プログラムコードの出力方法、およびデータの出力方法を説明します。例題に関しては、Femap with NX Nastranに準じた掲載を行いますので、DMAPの使用可能な環境をご準備の上、ご参照いただければ、より一層理解が深まります。

1 はじめに現在、製品開発や、製品の問題点解決を行うに当たって、PCを使用した図面作成、強度計算は無くてはならないものとなっています。特に、日本の場合には、地震の影響を確認するために、大型の土木/建築関係に関しては必ずといっていいほど、有限要素法の解析ソフトウェアでの計算が行われています。それ以外にも、重工業、船舶、航空など、解析の必要性は増えており、現在も多数の構造解析用ソフトウェアが販売、利用されています。今後も、構造解析にかかわらず、熱、流体、電磁場、音響など、FEM(有限要素法)の解析需要は増加していくでしょう。しかし、現在販売されている解析ソフトウェアのルーチンはブラックボックス化されており、中身を確認することが出来る製品はまれです。また、別途解析内容の変更や、途中経過の取得なども出来ない場合がほとんどになります。従って、製品化されているソフトウェアの解析機能から、必要な解析をピックアップして解析を行うことがメインとなり、該当する解析機能を持つソフトが存在しない場合には、一般的なプログラムを用いて開発するか、行列計算用のソフトウェアを使用して作成するか、近しい機能を持つ解析ソフトを使用して、近似の解析で代用することになります。解析ソフトのうちのNastnraは、元々はNASAで使用されていたCAEのコードを使用して作成されており、このコードを使用して作成されたソルバーは、Nastranの名前で販売されています。

現在では、各社からそれぞれ解析の目的に合わせて、Nastranのソースコードから独自に開発したソフトウェアが販売されていますが、開発にはDMAPという独自のFORTRAN言語を使用して行われています。このDMAPですが、ユーザー側にも提供されており、現在の解析機能の修正、機能の追加などを行うことが可能です。本チュートリアルでは、DMAPの基本的な使用方法を、プリ・ポストおよび解析ソフトが一体となった『Femap with NX Nastran v12.0J』を用いて説明していきます。例題を使用する際には、デモ版でご確認ください。細かな違いはありますが、DMAPの使用手順に関しての変更はありませんので、今後、Nastranを使用する方、Nastranを使用しており、構造/熱解析の機能確認、修正、追加を行いたい方など、この機会に挑戦していただければと思います。

続きはWebで日本計算工学会誌「計算工学(Vol.24, No.3)」HP:http://www.jsces.org/activity/journal/

筆者紹介

くわばら まさはる(株)計算力学研究センター所属。Femap with NX NastranのSEとして20年勤務。受託解析、製品サポートを担当。

(30-2)計算工学

Femap with NX Nastran – DMAP入門(1)チュートリアル

Vol.24, No.3 2019

2 Nastranインプットファイル多くのFEMプログラムは、それぞれ指定されたフォーマットのインプットファイルを作成し、解析を実行します。Nastranも同様に、拡張子NAS,DATなどのテキスト形式のインプットファイルを作成し、Nastranに読み込ませることにより解析を実施します。DMAPによるカスタマイズは、Nastranのインプットファイルにテキストを入力することにより実行します。今回はNastranを余り使用したことの無い方も考慮して、DMAPでのカスタマイズの説明前に、Nastranのインプットファイルの簡単な説明を行います。実際にDMAPでのカスタマイズを行う際には、DMAPのカスタマイズを有効に活用するため、Nastranのインプットファイルを書き換える場合があります。

Nastranのインプットファイルは、全体として以下のような構造となります。

表1 Nastranインプットファイル概略

内容ファイル制御/オプション定義

実行制御ケースコントロールバルクデータ

今回は、プリポストにFemapを使用している前提で、簡単な説明を行います。

2.1 Femapでの設定方法Femapでは、[モデル]-[解析]コマンドを選択し、表示される「解析セットマネージャ」で設定を行います。今回は、[新規]ボタンを押し、表示される「解析セット」ダイアログの[解析タイプ]から、“1..静解析”を選択して[OK]を押します。

図1 Femap解析条件の設定

設定が完了したら、[プレビュー]ボタンを押すことにより、Nastranの入力データを表示できます。

2.2 ファイル制御/オプション定義最初の行から記載する部分で、解析時の一時保存ファイルの設定や、解析時の細かなオプションを設定します。プリポストでは、デフォルトの設定が存在す

るため、解析時のファイルが特別大きくなる場合を除いて、操作する必要はありません。但し、DMAPで行列の保存を行う場合などは、ここに保存するファイルをしてする必要があります。「プレビュー」で表示した入力データでは、以下の部分に該当します。

INIT MASTER(S)NASTRAN SYSTEM(442)=-1,SYSTEM(319)=1

2.3 実行制御ここで一番重要な設定は、解析のタイプ(SOL番号)の指定になります。SOL番号は、一例として、以下のタイプが存在します。

表2 SOL番号(一例)

SOL番号 解析タイプ101 線形静解析103 固有値解析

109/112 線形過渡解析106 非線形静解析

SOL番号は、プリポスト側で選択した解析タイプが設定されるため、通常の解析を選択する際には意識する必要はありません。但し、一般的に選択されることがないSOL番号を使用場合には、カード書き換えを行う必要があります。後ほどのDMAPの使用説明では、古いバージョンの

SOL番号1と、DMAPでカスタマイズする際の便利なSOL番号の100を使用します。また、終了行に“CEND”と記載します。「プレビュー」で表示した入力データでは、以下の部分に該当します。

ID Femap,FemapSOL SESTATICCEND

2.4 ケースコントロール解析で使用する荷重/拘束条件の選択、および解析結果のデータ指定などを行います。また、複数の条件を解析する、もしくは別の解析タイプを実行してから、解析を実行する(線形静解析→固有値解析)場合のサブケースなどもここで定義します。

2.5 バルクデータ解析モデルのデータを入力します。座標系、ノード、エレメント、マテリアル、プロパティ、荷重/拘束の設定、関数などが該当します。また、解析条件の細かな設定(時刻暦の設定)も個々に入力します。

DMAPは、実行制御の後に記載し、CENDの前の行までに記載します。

2.6 解析の実行Nastranのインプットファイルを作成した後、Nastran

(30-3) Vol.24, No.3 2019

Femap with NX Nastran – DMAP入門(1)チュートリアル

計算工学

での解析は、一般的には、コマンドプロンプトから、以下のように記述して解析を実行します。

Nastran.exe “Nastranインプットファイル名”例)インプットファイル名がaaa.datの場合、nastran.exe aaa.datで実行します。

3 DIAG 14について3.1 DIAG14の使用方法

DMAPでプログラムのカスタマイズを行うためには、実際にどのようなプログラムが実行されているかを確認する必要があります。各SOL番号でのプログラムを具体的に確認するためには、“DIAG 14”を使用します。

例1)NastranインプットファイルINIT MASTER(S)SOL 101CEND

DISPLACEMENT(PLOT) = ALL SPC = 1 LOAD = 1

BEGIN BULKPARAM,POST,-1FORCE,1,2,0,1.,0.,0.,-.5FORCE,1,4,0,1.,0.,0.,-.5SPC1,1,123456,1SPC1,1,123456,3PSHELL ,1,1,1.,1,,1,,0.MAT1,1,210000.,.3,0.,0.,0. GRID,1,0,0.,0.,0.,0GRID,2,0,10.,0.,0.,0GRID,3,0,0.,10.,0.,0GRID,4,0,10.,10.,0.,0CQUAD4,1,1,1,2,4,3 ENDDATA

上記は、線形静解析のNastran実行ファイルです。(紙面の関係上、カンマセパレートで記載してあります。)解析に必要なカードのみにしてありますが、Femapでモデルを作成した場合、以下の形状になります。

図2 インプットファイル解析モデル

厚さ1[mm]、10×10[mm]、端部完全拘束、開放端にそれぞれ0.5[N]設定した解析モデルになります。先ほどのインプットファイルの“SOL 101”の前の行に、“DIAG 14”を入力してから、Nastranで解析を実行します。

SOL 101DIAG 14 ← この行に追加CEND上記を実行すると、F06ファイルに、SOL101での解析プログラムが出力されます。Femapでは、「NASTRAN実行およびソリューションオプション」ダイアログの[診断]に、“14”を入力します。

チュートリアル スマートフォンアプリ開発入門 - iOS vs. Android (1)

計算工学 (??-3) Vol.16, No.4 2011

での解析は、一般的には、コマンドプロンプトから、

以下のように記述して解析を実行します。 Nastran.exe “Nastran インプットファイル名” 例)インプットファイル名が aaa.dat の場合、 nastran.exe aaa.dat で実行します。

3 DIAG 14 について 3-1. DIAG14 の使用方法 DMAP でプログラムのカスタマイズを行うためには、

実際にどのようなプログラムが実行されているかを確

認する必要があります。各 SOL 番号でのプログラムを

具体的に確認するためには、”DIAG 14”を使用します。

例 1)Nastran インプットファイル INIT MASTER(S) SOL 101 CEND DISPLACEMENT(PLOT) = ALL SPC = 1 LOAD = 1 BEGIN BULK PARAM,POST,-1 FORCE,1,2,0,1.,0.,0.,-.5 FORCE,1,4,0,1.,0.,0.,-.5 SPC1,1,123456,1 SPC1,1,123456,3 PSHELL ,1,1,1.,1,,1,,0. MAT1,1,210000.,.3,0.,0.,0. GRID,1,0,0.,0.,0.,0 GRID,2,0,10.,0.,0.,0 GRID,3,0,0.,10.,0.,0 GRID,4,0,10.,10.,0.,0 CQUAD4,1,1,1,2,4,3 ENDDATA 上記は、線形静解析の Nastran 実行ファイルです。(紙

面の関係上、カンマセパレートで記載してあります。)

解析に必要なカードのみにしてありますが、Femap で

モデルを作成した場合、以下の形状になります。

図 2 インプットファイル解析モデル

厚さ 1[mm]、10×10[mm]、端部完全拘束、開放端に

それぞれ 0.5[N]設定した解析モデルになります。 先ほどのインプットファイルの”SOL 101”の前の行

に、”DIAG 14”を入力してから、Nastran で解析を実行

します。 SOL 101 DIAG 14 ← この行に追加 CEND

上記を実行すると、F06 ファイルに、SOL101 での解析

プログラムが出力されます。 Femap では、「NASTRAN 実行およびソリューションオ

プション」ダイアログの[診断]に、”14”を入力します。

図 3 Femap での DIAG 14 の設定

3-2. 解析プログラムの内容に関して F06 ファイルを開くと、以下のようにプログラムが

記載されています。 図 4 DIAG14 での F06 一部抜粋

Nastran のプログラムは、SUBDMAP というクラス単

位 で プ ロ グ ラ ム が 実 行 さ れ ま す 。 上 図 で は 、

SUBDMAP=ADDSUM という部分になります。 基本的には、メインとなる SUBDMAP が実行され、

CALL により、他の SUBDMAP が呼び出されて解析処

理が行われます。 また、プログラムは行ごとに記載され、”NO.”の列

に記載されている数字が、プログラムの記載されてい

る行数になります。

図3 FemapでのDIAG 14の設定

3.2 解析プログラムの内容に関してF06ファイルを開くと、以下のようにプログラムが記載されています。

図4 DIAG14でのF06一部抜粋

Nastranのプログラムは、SUBDMAPというクラス単位でプログラムが実行されます。上図では、SUBDMAP=ADDSUMという部分になります。基本的には、メインとなるSUBDMAPが実行され、

CALLにより、他のSUBDMAPが呼び出されて解析処理が行われます。また、プログラムは行ごとに記載され、“NO.”の列に記載されている数字が、プログラムの記載されている行数になります。

(30-4)計算工学

Femap with NX Nastran – DMAP入門(1)チュートリアル

Vol.24, No.3 2019

3.3 解析プログラムの実行順序に関して解析で作成されたF04ファイルを開くと、どのようにプログラムが実行されたかを確認することが出来ます。

図5 F04一部抜粋

上図のうち、確認するべきは、“SubDMAP”、“Line”、“(S)SubDMAP/Module”になります。たとえば、以下の行SESTATIC56 (S)IFPL BEGNに関しては、『“SUBDMAP=SESTATIC” の、56行目で、“SUBDMAP=IFPL”を呼び出す(CALL)したということになります。従って、DMAPでカスタマイズを行う際には、

・目的のSOL番号のDIAG14を実行↓

・F04でプログラムの実行手順確認↓

・F06でプログラムの詳細確認を行い、どの部分のカスタマイズを行うかを確認する必要があります。

4 DMAPでメッセージ表示4.1 メッセージプログラムまず、基本となるDMAPの使用方法として、F06ファイルにメッセージを表示してみます。

DMAPは、CENDの前の行に記載しますので、例1)の“SOL101” と“CEND” の間の行に、以下のようにDMAPを記入します。

例2)例1にメッセージのDMAPを記載するSOL101COMPILE SESTATICALTER 1MESSAGE //’TEST_DMAP’ /$CEND

上記の太文字部分を、例1の内容に追加します。Femapでは、「NASTRAN実行およびソリューションオプション」ダイアログの[終了文/DMAP]ボタンを押し、表示されるテキスト部分に、上記の赤文字を入力します。

チュートリアル スマートフォンアプリ開発入門 - iOS vs. Android (1)

計算工学 (??-4) Vol.16, No.4 2011

3-3. 解析プログラムの実行順序に関して 解析で作成された F04 ファイルを開くと、どのよう

にプログラムが実行されたかを確認することが出来ま

す。 図 5 F04 一部抜粋

上図のうち、確認するべきは、” SubDMAP”、” Line”、”

(S)SubDMAP/Module”になります。 たとえば、以下の行 SESTATIC56 (S)IFPL BEGN に関しては、『”SUBDMAP=SESTATIC”の、56 行目

で、”SUBDMAP=IFPL”を呼び出す(CALL)したという

ことになります。 従って、DMAP でカスタマイズを行う際には、

・目的の SOL 番号の DIAG14 を実行 ↓

・F04 でプログラムの実行手順確認 ↓

・F06 でプログラムの詳細確認 を行い、どの部分のカスタマイズを行うかを確認す

る必要があります。 4 DMAP でメッセージ表示 4-1. メッセージプログラム

まず、基本となる DMAP の使用方法として、F06 ファ

イルにメッセージを表示してみます。 DMAP は、CEND の前の行に記載しますので、例 1)の ”SOL101”と ”CEND”の間の行に、以下のように

DMAP を記入します。 例 2)例 1 にメッセージの DMAP を記載する SOL101 COMPILE SESTATIC ALTER 1 MESSAGE //’TEST_DMAP’/$ CEND 上記の太文字部分を、例 1 の内容に追加します。 Femap では、「NASTRAN 実行およびソリューションオ

プション」ダイアログの[終了文/DMAP]ボタンを押し、

表示されるテキスト部分に、上記の赤文字を入力しま

す。 図 6 Femap での DMAP 設定

解析を実行すると、F06 に、通常の解析内容のほかに、

以下の行が追加されます。 ^^^TEST_DMAP

4-2. メッセージプログラムの内容 今回のプログラムですが、それぞれ以下の意味となり

ます。 COMPILE “SUBDMAP 名” COMPILE で、DMAP を実行する SUBDMAP の位置を

指定します。 今回は、SESTATIC の SUBDMAP を指定しています。 ALTER “DMAP の入力行数” ALTER で、SUBDMAP のどの行で DMAP を実行する

かを指定します。 指定した行数の、次の行で、DMAP が実行されます。 MESSAGE //’表示内容’/$ 上記で、メッセージを F06 に記載します。 また、変数の内容などを記載したい場合には、 MESSAGE //’表示内容’/”変数名”/$ と記載します。

例 3)例 1 にメッセージの DMAP を記載する SOL101 COMPILE SESTATIC ALTER 20 MESSAGE //’MAXRATIO = ’/MAXRATIO $ CEND 上記を実行すると、以下のようにメッセージが表示さ

れます。 ^^^MAXRATIO = 1.000000E+07 “1.000000E+07”が、MAXRATIO 内の実数値です。

5 DMAP でデータ表示 5-1. マトリクス表示

先ほどは、メッセージおよび単体の変数を表示しまし

たが、次にマトリクスデータを F06 に表示してみます。

例 4)例 1 にマトリクス表示の DMAP を記載する SOL101 COMPILE SESTATIC ALTER 138 MATPRT KJJ/$ CEND 上記を記載して、実行すると、以下のように F06 に行

列の内容が記載されます。

図6 FemapでのDMAP設定

解析を実行すると、F06に、通常の解析内容のほかに、以下の行が追加されます。

^^^TEST_DMAP

4.2 メッセージプログラムの内容今回のプログラムですが、それぞれ以下の意味となります。

COMPILE “SUBDMAP名”COMPILEで、DMAPを実行するSUBDMAPの位置を指定します。今回は、SESTATICのSUBDMAPを指定しています。ALTER “DMAPの入力行数”ALTERで、SUBDMAPのどの行でDMAPを実行するかを指定します。指定した行数の、次の行で、DMAPが実行されます。MESSAGE //’表示内容’ /$上記で、メッセージをF06に記載します。また、変数の内容などを記載したい場合には、MESSAGE //’表示内容’ /”変数名” /$と記載します。

例3)例1にメッセージのDMAPを記載するSOL101COMPILE SESTATICALTER 20MESSAGE //’MAXRATIO = ’ /MAXRATIO $CEND

上記を実行すると、以下のようにメッセージが表示されます。

^^^MAXRATIO = 1.000000E+07“1.000000E+07”が、MAXRATIO内の実数値です。

5 DMAPでデータ表示5.1 マトリクス表示先ほどは、メッセージおよび単体の変数を表示しましたが、次にマトリクスデータをF06に表示してみます。

例4)例1にマトリクス表示のDMAPを記載するSOL101COMPILE SESTATICALTER 138MATPRT KJJ/$CEND

上記を記載して、実行すると、以下のようにF06に行列の内容が記載されます。

図7 剛性マトリクス一部抜粋

(30-5) Vol.24, No.3 2019

Femap with NX Nastran – DMAP入門(1)チュートリアル

計算工学

例6)テーブルデータの読み方0RECORD NO. 01) BULK DATA 0 END OF 3 WORD RECORD.0RECORD NO. 11) CORD 2C 1 0    0. 0.11) 0. 0. 0. 1. +FEM APC1END OF 20 WORD RECORD.

上記データの場合、RECORD NO. 0にヘッダーが記載され、“BULKDATA0”と記載されます。この情報は、3WORDからなり、1WORDは4バイトから構成されます。

RECORD NO. 1は、円筒座標系の内容を記載しており、20WORD使用しています。

BULKデータは、BEGIN BULKからENDDATAまでの、解析に必要な情報を取得しています。このデータや、ケースコントロールのデータを元に、マトリクスデータを作成します。

6 データの種類単一の変数以外では、DMAPではマトリクスデータとテーブルデータを使用できます。但し、テーブルデータは、主に-入力データの保存-マトリクスを生成する前のデータ保存-出力データのフォーマット等に使用され、直接計算に用いられることはありません。そのため、目的のカスタマイズを簡便に行うためには、

・目的となる計算に近いSOL番号を選択↓

・必要となるマトリクスデータの確認↓

・計算したデータを、元のデータと入れ替える

を行い、なるべくテーブルデータでは改変せず、マトリクスデータを修正/変更するようにプログラムすることをお勧めします。

ここまでで、NASTRANの各種データを確認することが出来るようになりました。次回はDMAPの各種関数を使用して、確認したデータの修正/編集/計算を説明します。

記載内容ですが、COLUMN(列)ごとに記載されているため、行列としては、以下のようになります。

例5)マトリクスデータの読み方F06の内容:

COLUMN 11 1.0 2.0 3.0 4.0     4

COLUMN 21 5.0 6.0 7.0 8.0     4

行列:

となります。

5.2 テーブルデータ表示マトリクスではなく、ある決められたフォーマットのデータを保存する場合のデータ形式として、テーブルデータというデータが存在します。今度はテーブルデータを表示してみます。

例6)例1にテーブルデータ表示のDMAPを記載するSOL101COMPILE SESTATICALTER 56TABPT BULK/$CEND

上記を記載して、実行すると、以下のようにF06にデータの内容が記載されます。

図8 BULKテーブルデータ一部抜粋

テーブルデータは、マトリクスとは異なり、“RECORD” と“WORD” というデータの切り分けで、フォーマットが作成されます。

top related