precheck(ELEMCHECK)機能のリファクタリング・バグ修正・テスト整備

Close #749 (closed) Close #600 (closed)

precheck機能(!SOLUTION, TYPE=ELEMCHECK)のリファクタリング、バグ修正、テスト整備を行った。

変更内容

グループ情報の可視化

  • NGRP_、EGRP_(節点/要素グループの所属フラグ)をresult/visファイルに出力
  • SGRP_(面グループ構成節点のフラグ)およびSGRP_FACE_(面番号)をresult/visファイルに出力
  • 可視化ソフトでグループ定義を直接確認可能に

モジュール分割・命名統一

  • fstr_precheck.f90(約2000行)を機能単位で4ファイルに分割(analysis/precheck/配下)
  • 要素品質計算をelementInfo APIによる単一モジュールprecheck_LIB_elementsに統合
  • モジュール名・サブルーチン名をprecheck_で統一

出力ファイル名の衝突解消

  • hecmw result/visualize APIに_by_addfname版を追加し、precheck出力に_precheckサフィックスを付与
    • result: model.res.0.1 → model_precheck.res.0.0
    • vis: model_vis_psf.0001 → model_vis_precheck_psf.0000

並列安全化

  • Mesh Summaryをrank 0のみのstdout出力に変更、nn_internal allreduceで共有節点の二重カウントを解消
  • 要素タイプ別グローバル集計をallreduce(sum)で実装

バグ修正

  • 積層シェル厚みチェック: 条件反転(正常時に警告)と正規化後チェックの問題を修正(Fixes #600 (closed))
  • PRE_741のNN=8バグ(未初期化配列参照)を修正
  • vol/almax/alminの未初期化を修正

テスト整備

  • 16要素タイプのprecheckテストデータをtests/analysis/precheck/に追加(SGROUP定義含む)
  • ctest serial 66/66 PASS、ctest hybrid 58/58 PASS

Merge request reports

Loading
Loading