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

GravityLoad

Namespace: FEMur.Loads

重力荷重を表すクラス モデル内の全要素に対して自重を考慮した等分布荷重を適用

public sealed class GravityLoad : Load

Inheritance: System.Object → FEMur.Loads.Load → FEMur.Loads.GravityLoad

View source

Constructors​

NameSignatureSummary
GravityLoad()public GravityLoad()デフォルトコンストラクタ Z方向下向き、1.0G
GravityLoad(Vector3)public GravityLoad(Vector3 factor)重力係数ベクトルを指定するコンストラクタ
GravityLoad(double, double, double)public GravityLoad(double fx, double fy, double fz)各軸の重力係数を個別に指定するコンストラクタ
GravityLoad(GravityLoad)public GravityLoad(GravityLoad other)コピーコンストラクタ

Properties​

NameSignatureSummary
Factorpublic Vector3 Factor { get; set; }重力係数ベクトル(無次元) 各成分は重力加速度の倍率を表す 例: (0, 0, -1.0) = Z方向下向き、1.0G(9.81 m/s² = 9810 mm/s²) 実際の加速度 = Factor * 9810 [mm/s²]

Methods​

NameSignatureSummary
GetGravityAcceleration()public Vector3 GetGravityAcceleration()実際の重力加速度ベクトルを取得 [mm/s²]
GetGravityMagnitude()public double GetGravityMagnitude()重力加速度の大きさを取得 [mm/s²]
ToEquivalentElementLoad(ElementBase, List<Node>)public ElementLoad? ToEquivalentElementLoad(ElementBase element, List<Node> nodes)重力荷重を、指定要素の自重に相当する等価な等分布荷重(ElementLoad)に変換する。 この変換は「材料密度 × 断面積」による要素の自重のみを対象とする。 解析・断面力図・CM0Q補正のすべてがこの単一メソッドを使用すること(重複ロジック禁止: Issue #30)。 仕様: - 対象は梁要素(BeamElement)かつ密度・断面積が正の要素のみ。それ以外は null を返す。 - 単位長さあたり質量 massPerLength = density[kg/mm³] × A[mm²] = [kg/mm] - 等分布荷重 qGlobal[N/mm] = massPerLength × 重力加速度[mm/s²] × (1/1000) (1N = 1kg·m/s² = 1kg·1000mm/s² より [kg·mm/s²] = [N]/1000) - qGlobal を要素ローカル座標系に変換し、ローカル等分布荷重として ElementLoad を返す。 LoadToMass(荷重→質量変換による追加質量)はこの変換に含めない。 LoadToMass は節点集中力として作用するため等価要素分布荷重では表現できず、 解析の荷重組立時に別途節点へ加算される。したがって断面力図・CM0Q補正には反映されない。 シェル要素はこの等価分布荷重の経路を使わない。総質量(密度×板厚×実面積)を 形状関数の重みで節点へ直接配分する LinearStaticSolver.ApplyShellSelfWeight(private)で 処理されるため、本メソッドは対象外のまま null を返す。
ToString()public override string ToString()文字列表現

Fields​

NameSignatureSummary
GRAVITY_ACCELERATIONpublic const double GRAVITY_ACCELERATION = 9810重力加速度の定数 [mm/s²] 9.81 m/s² = 9810 mm/s²