Skip to main content

Joint

Namespace: FEMur.Joints

要素の両端部の接合条件を定義するクラス 特定の要素(ElementId)に対して、Start端(i端)とEnd端(j端)それぞれの回転ばね、並進ばねの剛性を設定可能

public sealed class Joint : IEquatable<Joint>

Inheritance: System.Object → FEMur.Joints.Joint

Implements: System.IEquatable<FEMur.Joints.Joint>

View source

Constructors​

NameSignatureSummary
Joint()public Joint()デフォルトコンストラクタ(両端とも剛結)
Joint(LineElement, string)public Joint(LineElement element, string name = "Rigid-Rigid")要素オブジェクトを指定したコンストラクタ(Grasshopper用) ElementIdは要素から自動取得される
Joint(int, string)public Joint(int elementId, string name = "Rigid-Rigid")要素IDと名前を指定したコンストラクタ
Joint(string)public Joint(string name)名前を指定したコンストラクタ(ElementIdは未設定) 名前だけだと両端とも剛結接合になる
Joint(Joint)public Joint(Joint other)コピーコンストラクタ
Joint(LineElement, bool[], double[], double[], double[], double[])public Joint(LineElement element, bool[] isFixed, double[] startTranslationalStiffness, double[] startRotationalStiffness, double[] endTranslationalStiffness, double[] endRotationalStiffness)ばね剛性と拘束フラグを詳細に指定するコンストラクタ(要素オブジェクト指定)
Joint(int, bool[], double[], double[], double[], double[])public Joint(int elementId, bool[] isFixed, double[] startTranslationalStiffness, double[] startRotationalStiffness, double[] endTranslationalStiffness, double[] endRotationalStiffness)ばね剛性と拘束フラグを詳細に指定するコンストラクタ(要素ID指定)

Properties​

NameSignatureSummary
ElementIdpublic int ElementId { get; set; }接合条件を適用する要素のID ElementオブジェクトからElementIdが自動設定される場合もある
StartPointpublic Point3? StartPoint { get; set; }—
EndPointpublic Point3? EndPoint { get; set; }—
Elementpublic LineElement? Element { get; set; }参照する要素オブジェクト 設定時にElementIdも自動更新される
Namepublic string Name { get; set; }接合部の名前
StartTranslationalStiffnesspublic IReadOnlyList<double> StartTranslationalStiffness { get; }—
StartRotationalStiffnesspublic IReadOnlyList<double> StartRotationalStiffness { get; }—
EndTranslationalStiffnesspublic IReadOnlyList<double> EndTranslationalStiffness { get; }—
EndRotationalStiffnesspublic IReadOnlyList<double> EndRotationalStiffness { get; }—
IsFixedpublic IReadOnlyList<bool> IsFixed { get; }—

Methods​

NameSignatureSummary
CreateRigid(LineElement)public static Joint CreateRigid(LineElement element)両端とも剛結接合を作成(要素オブジェクト指定)
CreateRigid(int)public static Joint CreateRigid(int elementId)両端とも剛結接合を作成(要素ID指定)
CreatePin(LineElement)public static Joint CreatePin(LineElement element)両端ともピン接合を作成(要素オブジェクト指定)
CreatePin(int)public static Joint CreatePin(int elementId)両端ともピン接合を作成(要素ID指定)
CreatePinRigid(LineElement)public static Joint CreatePinRigid(LineElement element)Start端をピン、End端を剛結とする接合を作成(要素オブジェクト指定)
CreatePinRigid(int)public static Joint CreatePinRigid(int elementId)Start端をピン、End端を剛結とする接合を作成(要素ID指定)
CreateRigidPin(LineElement)public static Joint CreateRigidPin(LineElement element)Start端を剛結、End端をピンとする接合を作成(要素オブジェクト指定)
CreateRigidPin(int)public static Joint CreateRigidPin(int elementId)Start端を剛結、End端をピンとする接合を作成(要素ID指定)
CreateSemiRigid(LineElement, double, double, double, double, double, double)public static Joint CreateSemiRigid(LineElement element, double startRx, double startRy, double startRz, double endRx, double endRy, double endRz)半剛接合を作成(要素オブジェクト指定)
CreateSemiRigid(int, double, double, double, double, double, double)public static Joint CreateSemiRigid(int elementId, double startRx, double startRy, double startRz, double endRx, double endRy, double endRz)半剛接合を作成(要素ID指定)
SetStartTranslationalStiffness(double, double, double)public void SetStartTranslationalStiffness(double dx, double dy, double dz)Start端の並進ばね剛性を設定
SetStartRotationalStiffness(double, double, double)public void SetStartRotationalStiffness(double rx, double ry, double rz)Start端の回転ばね剛性を設定
FixStartDOF(int)public void FixStartDOF(int localDofIndex)Start端の指定された自由度を固定
ReleaseStartDOF(int)public void ReleaseStartDOF(int localDofIndex)Start端の指定された自由度を解放
SetEndTranslationalStiffness(double, double, double)public void SetEndTranslationalStiffness(double dx, double dy, double dz)End端の並進ばね剛性を設定
SetEndRotationalStiffness(double, double, double)public void SetEndRotationalStiffness(double rx, double ry, double rz)End端の回転ばね剛性を設定
FixEndDOF(int)public void FixEndDOF(int localDofIndex)End端の指定された自由度を固定
ReleaseEndDOF(int)public void ReleaseEndDOF(int localDofIndex)End端の指定された自由度を解放
GetRotationalStiffness(bool, int)public double GetRotationalStiffness(bool isStartEnd, int rotationIndex)指定された端部の回転ばね剛性を取得
GetSpringStiffness(int)public double GetSpringStiffness(int dofIndex)指定された自由度のばね剛性を取得(IsFixed は考慮しない生の設定値)
IsStartRigid()public bool IsStartRigid()Start端が剛結かどうかを判定
IsEndRigid()public bool IsEndRigid()End端が剛結かどうかを判定
IsStartPin()public bool IsStartPin()Start端がピンかどうかを判定
IsEndPin()public bool IsEndPin()End端がピンかどうかを判定
DeepCopy()public Joint DeepCopy()—
ToString()public override string ToString()Returns a string that represents the current object.
Equals(Joint?)public bool Equals(Joint? other)Indicates whether the current object is equal to another object of the same type.
Equals(object?)public override bool Equals(object? obj)Determines whether the specified object is equal to the current object.
GetHashCode()public override int GetHashCode()Serves as the default hash function.

Fields​

NameSignatureSummary
DOFS_PER_ENDpublic const int DOFS_PER_END = 6—
TOTAL_DOFSpublic const int TOTAL_DOFS = 12—