Skip to main content

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

View source

Properties​

NameSignatureSummary
NumModespublic int NumModes { get; set; }抽出する固有モード数(低次から)
Tolerancepublic double Tolerance { get; set; }収束判定の相対残差許容値
MaxIterationspublic int MaxIterations { get; set; }ランチョス反復の総数上限。0 なら max(3×NumModes+20, 100) を自動採用
EnableAutoRegularizationpublic bool EnableAutoRegularization { get; set; }K が正定値でない場合に自動正則化を試みる(LinearStaticSolver と同じ代表剛性×係数)
Progresspublic IProgress<double>? Progress { get; set; }進捗通知先(null で通知なし)。0.0–1.0 を通知する
CancellationTokenpublic CancellationToken CancellationToken { get; set; }キャンセルトークン。進捗通知地点で中断を検査する

Methods​

NameSignatureSummary
Solve(Model)public EigenResult Solve(Model model)—