Skip to main content

SurfaceLoad

Namespace: FEMur.Loads

シェル要素へ直接載荷する等分布面荷重 [N/mm²]。 FloorLoad とは別機能。FloorLoad は床領域の面圧を境界梁の線分布荷重へ 「分配」する擬似荷重で、面要素を必要としない(#118)。こちらは面要素そのものに載る。 両者は共存する。 対象要素は面の重心座標(Centroid)で解決するため、GH では ShellElement に渡したものと同じ Mesh を渡す必要がある。

public sealed class SurfaceLoad : Load

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

View source

Constructors​

NameSignatureSummary
SurfaceLoad()public SurfaceLoad()—
SurfaceLoad(int, Vector3, bool, string)public SurfaceLoad(int elementId, Vector3 pressure, bool local = false, string loadCase = "DL")—
SurfaceLoad(Point3, Vector3, bool, string)public SurfaceLoad(Point3 centroid, Vector3 pressure, bool local = false, string loadCase = "DL")—
SurfaceLoad(SurfaceLoad)public SurfaceLoad(SurfaceLoad other)—

Properties​

NameSignatureSummary
ElementIdpublic int ElementId { get; set; }対象要素のID。未解決は −1(Model 構築時に Centroid から解決される)
Centroidpublic Point3? Centroid { get; set; }対象面の重心座標。要素ID解決に使う
Pressurepublic Vector3 Pressure { get; set; }面圧ベクトル [N/mm²]。Local=false なら全体座標系、true なら要素ローカル系
Localpublic bool Local { get; set; }true のとき Pressure を要素ローカル軸 [ex, ey, ez] で解釈する

Methods​

NameSignatureSummary
ResolveGlobalPressure(double[], double[], double[])public Vector3 ResolveGlobalPressure(double[] ex, double[] ey, double[] ez)面圧を全体座標系のベクトルとして解決する。Local が true の場合、 引数の要素ローカル軸 [ex, ey, ez](各軸は全体座標系での成分、長さ3)で Pressure を解釈し、全体座標系へ変換して返す。 Local が false の場合は軸を使わず Pressure をそのまま返す。 TryGetLocalCoordinateSystem の出力形式(double[3])を そのまま受け取れるようにしている。FEMur.GH のプレビュー描画など、internal な SurfaceLoadCalculator / ShellLocalFrame を経由できない呼び出し元向けの公開窓口であり、 SurfaceLoadCalculator.ResolveGlobalPressure は本メソッドへ委譲することで変換ロジックを ここへ一本化している(同じ物理計算を複数箇所に実装しない)。 軸が null または要素数が3でない場合は変換できない。呼び出し元が GH の描画パスであり、 例外でプレビュー全体を止めるべきではないため、例外は投げずに Pressure を そのまま返す(「変換できない=無変換」という安全側の既定動作)。
ToString()public override string ToString()Returns a string that represents the current object.