Translation status
This page has not yet been translated into English, or its translation is out of date. The current 日本語 version is shown as a fallback.
出力・リスタート¶
解析結果は、そのままではメモリ上に存在するため、後処理や可視化、復元・再開のためには適切なファイルとして出力する必要がある。それぞれの用途に応じたファイルフォーマット・出力項目・出力頻度が異なるため、FrontISTR では複数の出力系統を使い分ける.
FrontISTR の出力は,解析値を保存する結果ファイル(!WRITE,RESULT),可視化に用いる可視化ファイル(!WRITE,VISUAL),解析状態を保存するリスタートファイル(!RESTART)の 3 系統で構成される.結果ファイルと可視化ファイルに含める物理量は,それぞれ !OUTPUT_RES と !OUTPUT_VIS で選択する.
機能の全体像¶
出力設定は,次の 3 つの軸を分けて考えると整理しやすい.
| 軸 | 主な入力 | 役割 |
|---|---|---|
| 出力先 | !WRITE,RESULT,!WRITE,VISUAL,!RESTART |
結果をどの用途のファイルとして保存するかを決める. |
| 出力変数 | !OUTPUT_RES,!OUTPUT_VIS |
結果ファイルまたは可視化ファイルに含める物理量を決める. |
| 出力頻度 | FREQUENCY |
何ステップごとにファイルへ書き出すかを決める. |
!WRITE,RESULT は結果ファイルを有効化し,!OUTPUT_RES で出力変数を指定する.!WRITE,VISUAL は可視化ファイルを有効化し,!OUTPUT_VIS で可視化に渡す変数を指定する.いずれも FREQUENCY により出力間隔を制御できる.!WRITE は単一カードであり,RESULT / VISUAL / FEMAP は出力先を選ぶパラメータとして同居できる.
!OUTPUT_RES と !OUTPUT_VIS のデータ行には,出力変数名と ON / OFF を列挙する.GROUP を指定すると,出力対象をグループ単位に限定できる.具体的な入力書式と指定可能なデータ行は,キーワードリファレンスを参照する.
!RESTART は結果ファイルや可視化ファイルとは別に,解析状態そのものを保存する.リスタートファイルは,解析を中断した後で同じ状態から再開するために用いる.
出力の選び方¶
出力は,まず確認したい目的から選ぶ.数値値を後処理や別解析で使う場合は結果ファイルを選び,形状や分布を可視化ツールで確認する場合は可視化ファイルを選ぶ.解析を途中から再開する必要がある場合は,通常の結果出力とは別にリスタートファイルを有効にする.
| 目的 | 選ぶ出力 | 主な指定 |
|---|---|---|
| 解析値を保存し,後処理・比較・別解析で利用する | 結果ファイル | !WRITE,RESULT と !OUTPUT_RES |
| ParaView 等で分布や変形形状を確認する | 可視化ファイル | !WRITE,VISUAL,!OUTPUT_VIS,!VISUAL |
| 長時間解析を途中から再開する | リスタートファイル | !RESTART |
| 出力容量を抑える | 必要な変数だけを出力 | !OUTPUT_RES / !OUTPUT_VIS の ON / OFF と FREQUENCY |
大規模解析では,既定出力のまま全ステップを保存すると,結果ファイルと可視化ファイルの容量が大きくなる.必要な物理量だけを ON にし,確認に不要な量を OFF にする.時刻歴を細かく追う必要がない場合は,FREQUENCY を大きくして出力間隔を粗くする.
出力変数は「確認したい物理量」「保存先」「頻度」の順で決めるとよい.たとえば,応力分布を ParaView で確認したい場合は可視化ファイルを有効にし,NSTRESS や NMISES を !OUTPUT_VIS で選ぶ.接触力を数値として後処理したい場合は結果ファイルを有効にし,CONTACT_NFORCE などを !OUTPUT_RES で選ぶ.
出力可能な物理量¶
出力変数は,構造解析,動解析,熱解析,接触解析,要素固有の結果,および識別用メタ情報に分けられる.下表は,主な変数名と型,利用する解析種別を整理したものである.変数名の完全な一覧とデータ行の書式は,!OUTPUT_RES と !OUTPUT_VIS を参照する.
| 区分 | 変数名 | 型 | 主な解析種別 | 内容 |
|---|---|---|---|---|
| 構造解析の基本量 | DISP,ROT,REACTION |
ベクトル | 静解析,動解析 | 変位,回転,節点反力.ROT は回転自由度を持つ要素で有効である. |
| 応力 | NSTRESS,ESTRESS,ISTRESS |
対称テンソル | 構造解析 | 節点平均応力,要素応力,積分点応力. |
| Mises 応力・主応力 | NMISES,EMISES,PRINC_NSTRESS,PRINC_ESTRESS,PRINCV_NSTRESS,PRINCV_ESTRESS |
スカラ,ベクトル | 構造解析 | Mises 応力,主応力値,主応力方向. |
| ひずみ | NSTRAIN,ESTRAIN,ISTRAIN |
対称テンソル | 構造解析 | 節点ひずみ,要素ひずみ,積分点ひずみ. |
| 塑性・熱ひずみ | PL_ISTRAIN,PL_ESTRAIN,TH_NSTRAIN,TH_ESTRAIN,TH_ISTRAIN |
スカラ,対称テンソル | 非線形構造解析,熱応力解析 | 相当塑性ひずみ,熱ひずみ. |
| 主ひずみ | PRINC_NSTRAIN,PRINC_ESTRAIN,PRINCV_NSTRAIN,PRINCV_ESTRAIN |
スカラ,ベクトル | 構造解析 | 主ひずみ値,主ひずみ方向. |
| 動解析 | VEL,ACC |
ベクトル | 動解析 | 節点速度,節点加速度. |
| 熱解析 | TEMP |
スカラ | 熱伝導解析 | 節点温度.熱解析の結果ファイル・可視化ファイルでは温度場として出力される. |
| 接触 | CONTACT_NFORCE,CONTACT_FRICTION,CONTACT_RELVEL,CONTACT_STATE,CONTACT_NTRACTION,CONTACT_FTRACTION |
ベクトル,スカラ | 接触解析 | 接触法線力,摩擦力,相対すべり速度,接触状態,単位面積あたりの接触力. |
| 梁要素 | BEAM_NQM |
12 成分値 | 梁要素を含む構造解析 | 梁要素の断面内力. |
| 識別・状態 | NODE_ID,ELEM_ID,SECTION_ID,MATERIAL_ID,ELEMACT,YIELD_RATIO |
スカラ | 構造解析,可視化 | 節点・要素・セクション・材料の識別情報,要素活性化状態,降伏比.ELEMACT は有効な要素で 1,無効(非活性化)な要素で 0 を出力する. |
| シェル補助情報 | SHELL_LAYER,SHELL_SURFACE |
スカラ | シェル要素を含む構造解析 | シェル層別出力およびシェル表面を識別する補助情報. |
既定では,DISP,ROT,NSTRESS,NMISES が ON である.ただし,実際に意味のある値が出力されるかどうかは解析種別,要素種別,材料モデル,接触設定に依存する.たとえば,VEL と ACC は動解析で用い,CONTACT_* は接触解析で接触情報が生成される場合に用いる.
シェル層別出力¶
シェル要素では,厚さ方向に複数の積分点または層を持つため,同じ要素内でも層や表面によって応力・ひずみの値が異なる.通常の節点平均値や要素値だけでは,どの層・どの面の値かを区別しにくい.
SHELL_LAYER を ON にすると,積層シェルの各層について,+ 側と - 側の結果を区別して出力する.出力される応力・ひずみ成分には,層番号と面側を表す識別が付くため,厚さ方向の応力分布や層ごとの損傷評価に利用できる.
SHELL_SURFACE は,シェルの上面/下面などの表面を識別するための補助情報である.シェル層別の結果を可視化する場合は,SHELL_LAYER と必要な応力・ひずみ変数を有効にし,可視化ツール側で対象の層または表面に対応する結果成分を選択する.
シェル層別出力は出力成分数を増やすため,積層数が多いモデルではファイル容量が増える.必要な応力・ひずみ変数に絞って出力することが望ましい.
出力先¶
結果ファイルと可視化ファイルは,用途と保存形式が異なる.同じ解析で両方を出力することも,一方だけを出力することもできる.
結果ファイル¶
結果ファイルは,!WRITE,RESULT で有効にする.解析結果を FrontISTR / HEC-MW の結果データとして保存し,数値後処理や別解析での読込に利用する.出力する変数は !OUTPUT_RES で選ぶ.
!WRITE,RESULT も !WRITE カードに対する RESULT パラメータとして実装されており,可視化や FEMAP 出力と並ぶ出力先選択肢である.
結果ファイルには,構造解析では変位,応力,ひずみ,反力,接触情報などを,熱解析では温度場を保存できる.ステップごとの出力間隔は FREQUENCY で指定する.具体的なファイル名,配置,実行後の確認方法は実行ガイドを参照する.
結果ファイル(拡張子 .res)は,次の構成を持つテキストデータである.先頭にフォーマットバージョンとコメント,続いてグローバル変数,最後に節点・要素ごとの出力変数を並べる.
*fstrresult 2.0
*comment
<コメント行>
*global
<グローバル変数の個数>
<グローバル変数の自由度>
<グローバル変数の名前>
<グローバル変数の値>
...
*data
<節点数> <要素数>
<節点データの個数> <要素データの個数>
<節点データの自由度> ...
<節点データの名前>
...
<節点データの値>
...
<要素データの自由度> ...
<要素データの名前>
...
<要素データの値>
...
ログファイル¶
ログファイル(拡張子 .log)は,解析後に常に出力される要約ファイルである.節点・要素ごとの物理量に加えて,変位・ひずみ・応力成分の最大/最小値が出力される.固有値解析では固有値と固有ベクトルの値が出力される.!WRITE の LOG パラメータで出力内容を制御できる.ファイル名と配置は実行ガイドを参照する.
可視化ファイル¶
可視化ファイルは,!WRITE,VISUAL で有効にする.メッシュと結果データを可視化ツール向けの形式に変換して出力する.出力する変数は !OUTPUT_VIS で選び,形式や可視化条件は !VISUAL で指定する.
!WRITE,VISUAL は単独のキーワードではなく,!WRITE カードに対する VISUAL パラメータとして実装されており,!WRITE,RESULT / !WRITE,FEMAP と同列で出力先を切り替える(fistr1/src/common/fstr_ctrl_common.f90 の fstr_ctrl_get_WRITE).
可視化を有効化するには,!VISUAL カードで可視化サーフェスと出力形式を最低限指定する必要がある.以下が最小データセットである.
surface_num と !surface の指定は省略不可である.詳細な書式と利用可能なオプションは !VISUAL を参照する.
主な可視化フォーマットは次のとおりである.
| フォーマット | 用途 |
|---|---|
| VTK | ParaView 等での可視化に用いる. |
| AVS(UCD) | AVS / UCD 形式の可視化・データ交換に用いる. |
| BMP | 可視化結果を画像として出力する. |
| NEU | FEMAP neutral 形式のデータ交換に用いる. |
可視化ファイルは,結果ファイルよりも可視化ツールで直接扱いやすい一方,選択したフォーマットや変数数によって容量が増える.大規模モデルでは,表示に必要な変数だけを !OUTPUT_VIS で有効にする.
リスタート¶
リスタートは,解析中断時点の内部状態を保存し,次回実行時に同じ状態から計算を再開するための機能である.通常の結果ファイルは後処理のための出力であるのに対し,リスタートファイルはソルバが計算を継続するための状態保存である.
!RESTART, FREQUENCY=n の n が正の場合は,指定したステップ間隔でリスタートファイルを書き出す.n が負の場合は,実行開始時に既存のリスタートファイルを読み込み,その後は絶対値 |n| を書出間隔としてリスタートファイルを書き出す.
構造解析のリスタートでは,現在ステップ,サブステップ,通算ステップ,時刻,時間増分,荷重履歴,変位,外力,ガウス点ごとの応力・ひずみ,材料の内部状態変数,接触状態などを保存する.動解析では,変位に加えて速度・加速度,ひずみエネルギー,現在時刻,時間増分など,時間積分の再開に必要な動的状態も保存する.熱解析では,ステップ番号,時刻,温度場を保存し,読込時には温度場を初期状態として復元する.
静解析リスタートの書出タイミングと再開挙動¶
静解析(fstr_solve_NLGEOM)のリスタートには,書出経路が 2 つあり,再開時の挙動が異なる.
- サブステップ途中での書出:サブステップループ内で
step_countがFREQUENCYの倍数となったタイミングで書き出される.記録される時刻情報は「現ステップの開始時刻」として保存され,前ステップ分の荷重リストが付随する. - ステップ終端での書出:各ロードステップのサブステップループが完了した直後に,
FREQUENCYの倍数か否かに関わらず常に書き出される.記録される時刻情報は「ステップ終了時刻」として保存され,当該ステップ分の荷重リストが付随する.
読込時,FrontISTR は記録された「現在時刻」と「基準時刻」が一致するかどうかでステップ完了状態を判定する(fstr_Restart.f90 の fstr_read_restart).
| 書出時の状態 | 再開時の挙動 |
|---|---|
| サブステップ途中 | 同じステップの次サブステップから継続する.書出時点でのサブステップ位置を引き継ぎ,残りのサブステップループを実行する. |
| ステップ終端 | 次ステップの先頭サブステップから開始する.cstep を 1 つ進め,substep=1 にリセットしたうえで以後の解析を行う. |
このため,同じ FREQUENCY 設定でも,書出が起きたタイミング(サブステップ途中/ステップ終端)によって再開後のステップ番号と時刻基準が変わる点に注意する.特に,ステップ終端の書出は FREQUENCY 設定と独立に毎ステップ末尾で必ず行われる.
動解析リスタートの書出タイミングと再開挙動¶
時刻歴動解析のリスタートも,サブステップ途中の書出とステップ終端の書出を区別する.サブステップ途中では通算サブステップ数 step_count が FREQUENCY の倍数になった時点で書き出され,ステップ終端では FREQUENCY に関わらずそのステップの最後に書き出される.
読込時は,保存されたステップ番号,サブステップ番号,通算サブステップ数から再開位置を復元する.現行形式(restart_version >= 5)では静解析と共通のヘッダを用い,現在時刻,時間増分,Newton 反復統計,自動増分状態を保存する.これにより,複数 !STEP と自動増分・カットバックを使う動解析でも,再開後の時間基準と時間増分を引き継げる.旧形式の動解析リスタートファイルも一部読込互換性を持つが,新規解析では現行形式を使用する.
リスタート時の !STEP カードの書き方¶
リスタート再開時,FrontISTR は cnt ファイル内の !STEP カードを「再開後に実行するステップ列」として読み,常に先頭(tot_step=1)から順に処理する.読み込まれたリスタート情報のステップ番号は,画面表示の通算ステップ番号合わせに用いられ,cnt の !STEP インデックス自体には影響しない.加えて,現行形式では cnt の各 !STEP の starttime は,リスタート読込時に基準時刻分が一括加算され,再開時刻を基点としたタイムラインに揃えられる.
したがって,リスタート再開用の cnt は次の方針で用意する.
| 中断のされ方 | cnt に残す !STEP の範囲 |
|---|---|
| サブステップ途中で書出(ステップ未完了) | 中断したステップを 先頭に残す.以降の未実行ステップを続けて並べる. |
| ステップ終端で書出(ステップ完了) | 完了済みステップは 削除し,次に実行するステップから先頭に並べる. |
いずれの場合も,既に完了したステップは cnt から削除するのが原則である.starttime はリスタート時刻が自動加算されるため,cnt 側では 0 起点(または相対的なステップ開始時刻)で書いておけばよい.境界条件・荷重などの参照は,残した !STEP カードに対応する分だけを cnt に保持する.この方針は,複数 !STEP を使う動解析リスタートでも同じである.
リスタートを用いる典型的な流れは次のとおりである.
- 初回実行で
!RESTART, FREQUENCY=nを指定し,リスタートファイルを書き出す. - 解析を再開する実行では
!RESTART, FREQUENCY=-nを指定する. - FrontISTR は起動時にリスタートファイルを読み込み,以後は
nステップごとに新しい状態を書き出す.
リスタートファイルの命名,配置,実行時の指定方法は,実行ガイドを参照する.旧版フォーマットの読込にも一部互換性があるが,新規解析では現行版の形式を使用する.
関連項目¶
- 逐次実行 — 解析実行時のファイル配置と出力確認の基本.
- !OUTPUT_RES,!OUTPUT_VIS — 結果ファイル・可視化ファイルへ出力する変数の指定.
- !WRITE — 結果ファイル・可視化ファイル・ログの出力有効化と出力頻度(
RESULT/VISUAL/LOG/FEMAPパラメータ). - !VISUAL — 可視化サーフェス・出力形式の指定(最小データセット例を含む).
- !RESTART — リスタートファイルの読込・書出し指定.
- 解析種別 — 解析種別ごとの主な結果項目.
- 接触・埋め込み — 接触出力の意味と接触状態の扱い.
- ステップ制御 — 出力ステップや時間点との関係.