Loading
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
- result:
並列安全化
- 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