EigenSolver
Namespace: FEMur.Solver
固有値解析ソルバー(#108)。 一般化固有値問題 K φ = λ M φ を、K_ff の疎 Cholesky 分解を用いた シフト付き(σ=0)ランチョス法(M-内積・完全再直交化・デフレーション付き再スタート)で解き、 指定次数までの低次固有モード・固有周期を抽出する。 - 剛性 K は LinearStaticSolver と同一の組立(Fixed=自由度消去、Spring=対角加算) - 質量 M は集中質量の対角行列(部材自重 + LoadToMass、並進 DOF のみ) - 単位: 質量は内部でトン(1 N = 1 t·mm/s²)→ λ = ω² [rad²/s²] がそのまま成立
public sealed class EigenSolver
Inheritance: System.Object → FEMur.Solver.EigenSolver
Properties
| Name | Signature | Summary |
|---|---|---|
NumModes | public int NumModes { get; set; } | 抽出する固有モード数(低次から) |
Tolerance | public double Tolerance { get; set; } | 収束判定の相対残差許容値 |
MaxIterations | public int MaxIterations { get; set; } | ランチョス反復の総数上限。0 なら max(3×NumModes+20, 100) を自動採用 |
EnableAutoRegularization | public bool EnableAutoRegularization { get; set; } | K が正定値でない場合に自動正則化を試みる(LinearStaticSolver と同じ代表剛性×係数) |
Progress | public IProgress<double>? Progress { get; set; } | 進捗通知先(null で通知なし)。0.0–1.0 を通知する |
CancellationToken | public CancellationToken CancellationToken { get; set; } | キャンセルトークン。進捗通知地点で中断を検査する |
Methods
| Name | Signature | Summary |
|---|---|---|
Solve(Model) | public EigenResult Solve(Model model) | — |