Skip to main content

ElementKind

Enum ElementKind 

Source
pub enum ElementKind {
    Beam,
    Shell,
    Fiber,
    MultiSpring,
    Wall,
    PanelZone,
    Brace {
        tension_only: bool,
    },
    NodalSpring,
    Isolator,
    Damper,
}

Variants§

§

Beam

§

Shell

§

Fiber

ファイバー梁要素(積分点断面のファイバー分割による分布塑性モデル)。

§

MultiSpring

マルチスプリング梁要素(端部塑性化域を軸ばね群で置換したモデル)。

§

Wall

§

PanelZone

§

Brace

一般ブレース(軸材。軸剛性のみのトラス要素。材料力学)。 剛性は軸剛性のみのトラス要素(KB=E·A/L)で評価する。 K 型ブレースの重量配分規則(LoadCfg::k_brace_rule)の適用対象。 tension_only: 引張専用ブレースか(true の場合、弾性解析では剛性を1/2に モデル化する。弾塑性解析では初期剛性は1倍。本実装既定の「引張と圧縮が 対で存在するとみなす」モデル化)。

Fields

§tension_only: bool
§

NodalSpring

節点バネ要素(ばね要素の変形と自由度。構造力学)。

部材の変形と自由度の考え方では、節点バネは θX=―(非考慮)、 θY=○, θZ=○, γY=○, γZ=○, δX=○。すなわちねじり以外の曲げ・せん断・ 軸方向の変形成分を独立なバネ剛性として持ちうる 2 節点要素。 各自由度のバネ定数は ElementData::spring に保持する(局所軸 6 成分)。

§

Isolator

免震支承材(各免震部材指針)。 2 節点要素で、水平は非線形せん断ばね(マルチシアスプリング=積層ゴム系 バイリニア、または摩擦ばね=弾性すべり支承 Qmax=μN)、鉛直は弾性軸ばね。 特性は Model::isolator_attrs に要素 ID と対で保持する。

§

Damper

制振ダンパー要素(各制振部材の力学モデル)。 2 節点の軸方向要素で、マクスウェル要素(バネ Kd と粘性ダッシュポットの直列)等で モデル化する。減衰要素の要素力は節点力として運動方程式へ与えられ、特性は Model::damper_attrs に要素 ID と対で保持する。

Implementations§

Source§

impl ElementKind

Source

pub fn requires_section_and_material(self) -> bool

剛性の算定に断面(ElementData::section)の割当が必須な要素種別か。 断面・材料の未割当を検出する検査は、必ず本判定で対象を絞ること。

材料は断面が持つSection::material)ため、部材に要るのは断面の割当 だけである。断面が材料を持たない場合も剛性を作れないので、検査は「断面が 割り当てられているか」と「その断面が材料を持つか」の 2 段になる (Model::element_material)。

必須なのは線材(梁・ファイバー梁・マルチスプリング梁・ブレース)と 面材(シェル・壁)で、断面諸元と材料定数から剛性を作るため、いずれかが 未割当だとゼロ剛性となり解析が成立しない。

一方、次の要素は断面を持たないのが正常な状態であり、未割当として 扱ってはならない。

  • 仕口パネル(PanelZone): 剛性は取り付く柱・梁の断面から求めた実効体積 Ve による。準備計算が自動生成するため、未割当として警告すると生成数だけ 警告が並び、本当に割当が漏れている部材が埋もれる。
  • 節点バネ(NodalSpring): 剛性は ElementData::spring(局所軸 6 成分)。
  • 免震支承材(Isolator)・制振ダンパー(Damper): 特性は Model::isolator_attrsModel::damper_attrs に持つ。

要素種別を追加したときに扱いを決め忘れないよう、網羅 match で書く (ワイルドカードを使わない)。

Trait Implementations§

Source§

impl Clone for ElementKind

Source§

fn clone(&self) -> ElementKind

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for ElementKind

Source§

impl Debug for ElementKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ElementKind

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for ElementKind

Source§

impl PartialEq for ElementKind

Source§

fn eq(&self, other: &ElementKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for ElementKind

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for ElementKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.