メインコンテンツまでスキップ

FEMur.Solver

TypeKindSummary
DeformationEnergyCalculatorClassひずみエネルギー(変形エネルギー)を計算するクラス
DeformationEnergyCalculator.DeformationEnergyResultClassモデル全体のひずみエネルギー結果
DeformationEnergyCalculator.ElementDeformationEnergyClass要素ごとのひずみエネルギー
EigenSolverClass固有値解析ソルバー(#108)。 一般化固有値問題 K φ = λ M φ を、K_ff の疎 Cholesky 分解を用いた シフト付き(σ=0)ランチョス法(M-内積・完全再直交化・デフレーション付き再スタート)で解き、 指定次数までの低次固有モード・固有周期を抽出する。 - 剛性 K は LinearStaticSolver と同一の組立(Fixed=自由度消去、Spring=対角加算) - 質量 M は集中質量の対角行列(部材自重 + LoadToMass、並進 DOF のみ) - 単位: 質量は内部でトン(1 N = 1 t·mm/s²)→ λ = ω² [rad²/s²] がそのまま成立
LinearStaticSolverClass線形静解析ソルバー。
NewmarkSchemeEnumNewmark-β 法のパラメータの組。
ShellDeformationEnergyCalculatorClassシェル要素のひずみエネルギーを膜・板曲げに分解して計算するクラス。 DeformationEnergyCalculator は BeamElement / TrussElement しか扱わず シェル要素を読み飛ばすため、シェル専用の計算経路として分離した。 算出手順は要素ごとに次のとおり。T は局所→全体の直交変換行列なので、 その転置が逆変換になる(DeformationEnergyCalculator の梁・トラスと同じ作法)。 uₗ = Tᵀ · u_g E_total = ½ uₗ · (K · uₗ) // drilling を含む要素剛性全体 E_membrane = ½ uₘ · (K_membrane · uₘ) // uₘ = uₗ の各節点 DOF 0,1,5(3n) E_bending = ½ u_b · (K_bending · u_b) // u_b = uₗ の各節点 DOF 2,3,4(3n) E_total − E_membrane − E_bending が drilling ペナルティの寄与になる。 drilling は物理量ではなく数値安定化の項なので、内訳としては出さず合計にのみ含める。 drilling ペナルティは面内変位(DOF 0,1)と面内回転(DOF 5)の差を罰する Hughes–Brezzi 型で 3 つの DOF にまたがるため、局所剛性を DOF で切り出して膜・曲げに分ける方法は使えない。 そのため部分剛性は ShellElement.CalcPartialStiffness から取得する。
ShellElementEnergyClassシェル要素1つ分のひずみエネルギー [N·mm]。
SolveOutcomeClass線形静解析の結果一式。
TimeHistoryMethodEnum時刻歴応答解析の解法。
TimeHistoryOutcomeClass時刻歴応答解析の結果一式。
TimeHistorySolverClass線形の時刻歴応答解析ソルバー(直接積分またはモード重ね合わせ法、Newmark-β 法)。 時刻歴用の加振(GroundMotion / TimeHistoryPointLoad / TimeHistoryLoad)を LoadCase ごとにまとめ、ケースごとに独立して解く。減衰は Damping のレイリー型 (Rayleigh / StiffnessProportional)。剛性・集中質量・剛床・境界条件は固有値解析と同じ組立を使う。