FrontISTR バージョン 5.9 リリースノート

リリース日

2026/03/20

更新内容

機能追加

E-1. Exodus II出力への対応

可視化ファイルの出力形式としてExodus IIフォーマットを追加した。NetCDFライブラリを用いて出力を行い、ParaViewなどのポストプロセッサで読み込みが可能である。ビルド時に WITH_NETCDF=ON を指定することで利用できる。

(Issue #736, solver !527)

E-2. パーティショナーの64bit整数対応

hecmw_part1パーティショナーの内部で使用する整数型を64bit(size_t, idx_t)に変更した。これにより、節点・要素の番号や個数が32bit整数の範囲内であっても、内部的な配列サイズが32bit上限を超える大規模モデル(およそ3億メッシュ超)の領域分割が可能になった。METISインターフェース部のデータ型も idx_t に統一した。

(Issue #733, #63, solver !509)

仕様変更

M-1. !ELEMENT ACTIVATION入力フォーマットの変更

!ELEMENT ACTIVATION の入力フォーマットを変更し、制御を排他的な3モード(MODE=FIXED|AMPLITUDE|DAMAGE)に分離した。FIXED は要素の有効/無効を固定指定、AMPLITUDE は時刻歴で制御、DAMAGE は応力/ひずみ閾値による一方向遷移(破壊・損傷向け)を表す。旧フォーマットでは STATE, DEPENDS, AMP を同時に指定でき無意味な組み合わせが存在したが、新フォーマットでは排除される。また、応力・ひずみ依存の要素活性化機能が正しく動作しない不具合、およびテストセットの EPSILON パラメータのスペルミスも修正した。

(Issue #727, solver !522, document !19)

M-2. 反復法サブルーチンにおけるBLAS様ルーチンの利用

CG法以外の反復法サブルーチン(BiCGSTAB, GPBiCG等)において、ベクトル演算のdo loopによる直書き部分を hecmw_solver_misc.f90 のBLAS様サブルーチン(hecmw_axpy_R, hecmw_xpay_R 等)の呼び出しに置き換えた。これにより、将来のGPU化(OpenACCディレクティブ追加)の際に変更箇所を局所化できる。また、OpenMPディレクティブの修正およびゼロ×NaN積の回避処理も行った。

(Issue #702, solver !500)

M-3. 要素相当塑性ひずみPL_ESTRAINの計算処理の整理

要素相当塑性ひずみ(PL_ESTRAIN)の要素平均の計算処理を可視化関数内から fstr_NodalStress3D 関数内に移動した。他の要素平均量(応力・ひずみ等)と同様に ElementPlstrain_C3 関数で事前計算する構成に変更し、計算処理の整理を行った。

(Issue #583, solver !517)

M-4. VTK出力におけるParaView時刻表示への対応

VTKファイル出力において、シミュレーション時刻の出力形式を TOTALTIME から FieldData TimeValue に変更した。これにより、ParaViewでVTKファイルを読み込んだ際にシミュレーション時刻が正しく表示されるようになった。

(solver !524)

不具合修正

B-1. 熱レオロジー的単純アレニウス則のシフト因子計算の不具合修正

TRS(熱レオロジー的単純化)のアレニウス則(DEFINITION=ARRHENIUS)において、シフト因子の計算に使用するパラメータ mvar(4) が解析制御ファイル処理 fstr_ctrl_get_TRS で正しく設定されていなかった不具合を修正した。パラメータの読み込み処理を修正し、アレニウス則のテストケースを追加した。あわせて、ドキュメントのスペルミス(ARRHENUSARRHENIUS)および定式化・パラメータの説明を追加した。

(Issue #484, solver !529, document !21)

B-2. 平滑化要素における要素相当塑性ひずみ出力がゼロになる不具合の修正

平滑化要素(FORM341=SELECTIVE_ESNS)を使用した領域で、要素相当塑性ひずみ(PL_ESTRAIN)の出力がゼロになる不具合を修正した。ガウス積分点の塑性ひずみ値が平滑化要素の構造体(gausses%plstrain)に正しく保存されるようにした。

(Issue #717, solver !533)

B-3. 動解析陰解法で接触なしの場合にCG法が強制される不具合の修正

v5.7より動解析陰解法では接触なしでも fstr_solve_dynamic_nlimplicit_contactSLag が用いられるようになったが、接触なしの場合に solve_LINEQ_contact_elim 内で反復法ソルバーの設定によらずCG法が強制される不具合があった。これにより非対称問題(流体解析等)が解けなくなっていた。対称性の判定を修正し、ユーザーが指定した反復法ソルバーが正しく使用されるようにした。また、4自由度問題のメッセージ出力も改善した。

(Issue #721, solver !521)

B-4. 平滑化要素+直交異方性弾性体の固有値解析における剛性過大評価の修正

Selective ES/NS法(FORM341=SELECTIVE_ESNS)と直交異方性弾性体(!ELASTIC, TYPE=ORTHOTROPIC)を組み合わせた固有値解析で、固有値が過大評価される不具合を修正した。原因は calElasticMatrix_ortho に体積/偏差分離用の hdflag 引数が渡されておらず、常にフルDマトリクスが使用されることで体積・偏差成分の二重計上が発生していたことにある。修正ではコンプライアンスベースのprojector splitに差し替え、Ddev の半正定値性を数学的に保証した。等方材料では従来の体積弾性率 K と一致し既存の挙動は変わらない。直交異方性材料のSFEMテストケース(T09〜T11)を新規追加した。

(Issue #734, solver !528, document !20)

B-5. cntファイル読み込み時の境界条件等データ初期化の不具合修正

解析制御(cnt)ファイルにおいて、!BOUNDARY などのカードが複数回記載された場合に、前に記載した値の配列がゼロクリアされてしまう不具合を修正した。!BOUNDARY のほか、!CLOAD, !DLOAD, !TEMP, !SPRING, !VELOCITY, !ACCELERATION, !FLOAD の読み込み処理についても同様の修正を行った。

(Issue #719, solver !519)

B-6. 外部ライブラリのincludeパス設定の不具合修正

Exodus II出力対応に伴い、WITH_NETCDF=ON でビルドした場合に FrontISTR_INCLUDE_DIRS/usr/include が追加されるようになった結果、システムに古いバージョンのMUMPSがインストールされている環境で、自前でビルドした新しいMUMPSのライブラリをリンクしているにもかかわらず /usr/include の古いMUMPSヘッダがインクルードされ、SEGVが発生する問題が起きていた。Metis, MKL, MUMPS, NetCDF等のCMake Findモジュールにおいて、検出パスが /usr/include の場合は FrontISTR_INCLUDE_DIRS に追加しないように修正した。

(Issue #737, solver !534)

B-7. CI/CDパイプラインの修正

CI/CDパイプラインに関する以下の不具合を修正した。

謝辞

本リリースに対して以下のコントリビューターから貢献をいただいた。ここに感謝を申し上げる。