Skip to main content

WallPlate

Struct WallPlate 

Source
pub struct WallPlate {
    pub id: WallPlateId,
    pub shape: WallPlateShape,
    pub section: Option<SectionId>,
    pub opening_area: f64,
    pub opening_weight: f64,
    pub openings: Vec<WallOpening>,
    pub loads: Vec<AreaLoad>,
    pub slit: WallSlit,
}
Expand description

壁版。柱・梁が囲む鉛直構面内の版、または主架構・床領域に取り付く版 (パラペット・腰壁・垂れ壁・自立壁)ごとに 1 つ。

Fields§

§id: WallPlateId

壁版 ID(Model::wall_plates の配列インデックスと一致すること)。

§shape: WallPlateShape§section: Option<SectionId>

断面(板厚・材料・開口低減の解決元)。None は未割当(自重 0。解析前 チェックが止める。モジュール doc 参照)。

§opening_area: f64

開口面積の合計 [mm²](super::WallAttr::opening_area の後継)。 openings(個別開口)が非空の場合はそちらの面積和を優先し、本フィールドは 無視される(WallPlate::total_opening_area 参照)。

§opening_weight: f64

開口部(サッシ等)の重量 [N](super::WallAttr::opening_weight の後継)。 開口面積控除後の自重に加算する。

§openings: Vec<WallOpening>

個別開口の寸法リスト(super::WallOpening)。自重控除・開口周比・ 耐震壁検定の開口供給に使う。構造壁でない壁版(n倍法・重量のみ)でも、 自重控除には意味を持つため共通で持たせる。非空の場合は面積評価を 優先する(opening_area へのフォールバック規約は WallAttr と同じ)。

§loads: Vec<AreaLoad>

仕上げ・増打ち等の面荷重(super::AreaLoad)。版自身の躯体自重は 含まない(躯体は section から求める)。モジュール doc 参照。

§slit: WallSlit

耐震スリット(辺ごとの縁切り)。WallSlit 参照。

Implementations§

Source§

impl WallPlate

Source

pub fn is_attached(&self) -> bool

取り付く壁版か。

Source

pub fn has_quad_boundary(&self) -> bool

柱・梁で囲まれた壁版(Enclosed)の境界が、壁エレメント(壁柱+剛梁変換に よる4節点24自由度モデル。docs/calc_basis/04_要素剛性/05_壁エレメントモデル.md 参照)を組み立てられる形か。境界がちょうど4節点のときだけ true

5節点以上(T字取り付き等。他の梁・壁が境界の辺の途中に接続することで 生じる)や3節点以下は要素を生成しない(Q6=C)。壁エレメントは下辺2節点・ 上辺2節点を前提とした剛体変換の定式化であり、任意の多角形へ一般化する ことは定式化そのものを崩すため行わない(実データによる検証ができないまま 「按分」等で無理に4節点へ落とし込むと、根拠不明な近似を耐力評価へ持ち込む ことになる。dev_docs/handoff/床領域・壁領域の再設計_申し送り.md §9 参照)。 取り付く壁版(Attached)は境界を持たないため常に false

解析要素生成(squid_n_load::wall_expand)・解析前診断 (squid-n-solver::precheck)・ST-Bridge 取り込み(squid-n-io)が 判定を共有する(重複実装の統合)。

Source

pub fn column_face_nodes(&self, model: &Model) -> Option<[NodeId; 2]>

柱際スリット WallSlit::column_face の添字に対応する境界節点。

柱際の鉛直辺は、境界のうち標高の低い 2 節点(下辺)から立ち上がる。 そこで下辺の 2 節点を境界の並び順で返し、column_face[0] を 1 つ目、[1] を 2 つ目の柱際に対応させる。

添字の対応規則はここ 1 か所に置く。 剛性算入 (squid_n_element::wall::misc_wall)が袖壁を辺ごとに評価するとき、および GUI が どちらのスリットかを節点番号で示すときに、同じ並びを見る必要があるためである。

境界が 4 節点でない壁版・取り付く壁版・節点を引けない壁版は None

Source

pub fn boundary_nodes(&self) -> Option<&[NodeId]>

境界の節点列。柱・梁が囲む壁版のみ(取り付く壁版は自由端に節点を 持たないため None)。

Source

pub fn boundary_coords(&self, model: &Model) -> Option<Vec<[f64; 3]>>

境界多角形の座標列 [mm](4 点)。取り付く壁版は取付き先と張り出し量 (鉛直上向きの高さ)から算出する。節点が引けない、または壁の取付き先として 使わない組み合わせ(RegionAnchor::Point)の場合は None

Source

pub fn boundary_coords_with( &self, model: &Model, coord_of: impl Fn(NodeId) -> Option<[f64; 3]>, ) -> Option<Vec<[f64; 3]>>

境界多角形の座標列 [mm] を、節点座標の引き方を差し替えて求める。

WallPlate::boundary_coords はモデルの節点座標をそのまま使うが、変形図・ モード形・時刻歴は変形後の節点座標で描く必要がある。形状の組み立て方 (取付き線の内挿・鉛直上向きへの立ち上げ)は同じなので、座標の引き方だけを 差し替えられるようにして実装を 1 つに保つ(床側の super::Slab::boundary_coords_with と同じ規約)。 model は立ち上がり高さの解決(Model::wall_plate_extentextentNone の壁は階高いっぱい)にだけ使う。階レベルは変形しないので、変形後の 座標を渡す呼び出しでも元の model を渡してよい。

Source

pub fn area(&self, model: &Model) -> f64

壁版の面積 [mm²]。囲まれた壁版は crate::geom::polygon::area_3d(ニューエル)。 取り付く壁版は底辺長 × ∫|立ち上がり高さ|(crate::geom::abs_lerp_integral)。 4 点多角形にすると、両端で高さが符号反転する壁は自己交差(蝶ネクタイ)になり、 Newell の面積が打ち消されて 0 近くになる(自重が黙って消える危険側)。 座標が引けない場合は 0。

Source

pub fn total_opening_area(&self) -> f64

開口の合計面積 [mm²]。個別開口 openings が非空ならその面積和、 空なら opening_area を返す(WallAttr::total_opening_area と同じ規約。 全消費側はこのメソッドを経由すること)。

Source

pub fn finish_intensity(&self) -> f64

仕上げ・増打ち等の面荷重強度 [N/mm²](loads の合算)。 版自身の躯体自重は含まないsuper::SlabPlate::finish_intensity と同じ規約)。

Trait Implementations§

Source§

impl Clone for WallPlate

Source§

fn clone(&self) -> WallPlate

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 Debug for WallPlate

Source§

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

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

impl<'de> Deserialize<'de> for WallPlate

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 PartialEq for WallPlate

Source§

fn eq(&self, other: &WallPlate) -> 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 WallPlate

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 WallPlate

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.