Loading
整合質量・集中質量の制御
close #70 (closed)
概要
陰解法過渡応答において、集中質量行列と整合質量行列をCNTファイルから切り替えられるようにしました。
既存の !DYNAMIC 第4データ行の先頭値 idx_mas を正式な質量行列指定として使用します。
!DYNAMIC
1, 1
0.0, 2.0, 10, 0.2
0.5, 0.25
2, 1, 0.0, 0.0idx_mas=1: 集中質量行列(従来動作、デフォルト)idx_mas=2: 整合質量行列- その他の値: 入力エラー
変更内容
- 2D・3D連続体要素およびMITCシェル要素の整合質量行列に対応
- 陰解法の有効剛性行列、慣性力、質量比例Rayleigh減衰へ選択した質量行列を適用
- 整合質量式がない要素は、要素単位で集中質量へ自動フォールバック
- フォールバックした要素タイプをログへ一度だけ出力
- 運動エネルギー計算を
fstr_calc_kinetic_energyとして関数化 - 運動エネルギー計算時に要素質量行列を再計算し、\frac12v^\mathsf{T}Mv を評価
- 運動エネルギー用の全体質量行列
hecMATは保持しない - MPIでは各ランクの内部節点に対応する行だけを加算して全体集約
- 質量行列種別を共通定数
kMassLumped、kMassConsistentとして定義
対応範囲
| 解析 | idx_mas=1 |
idx_mas=2 |
|---|---|---|
| 陰解法過渡応答 | 集中質量 | 整合質量 |
| 陽解法過渡応答 | 集中質量 | エラー停止 |
| 周波数応答 | 従来動作 | エラー停止 |
| 固有値解析 | 現状維持 | 対象外 |
リスタートデータの形式および保存項目は変更していません。
フォールバック
整合質量式がない以下の要素は、自動的に集中質量を使用します。
301611641761781
例:
INFO: consistent mass is unavailable for element type 761; lumped mass is usedテスト
fistr1ビルド成功- OpenMP有効時の構文検査成功
- 新規の整合質量回帰テストを追加
- 整合質量の解析結果が参照値と一致
- 既存の集中質量W342/W361テストが成功
- Euler/Timoshenko梁要素の既存テストが成功
- 361+761混在モデルが集中質量フォールバック付きで完走
- 要素再計算版と旧全体質量行列版の運動エネルギー出力が完全一致
- 不正な
idx_mas、陽解法+整合質量、周波数応答+整合質量が明示的なエラーで停止することを確認
Edited by morita