Skip to main content

SectionShape

Enum SectionShape 

Source
pub enum SectionShape {
Show 17 variants SteelH { height: f64, width: f64, web_thick: f64, flange_thick: f64, }, SteelBox { height: f64, width: f64, thick: f64, corner_r: f64, }, SteelAngle { leg_a: f64, leg_b: f64, thick: f64, }, SteelChannel { height: f64, width: f64, web_thick: f64, flange_thick: f64, }, SteelTee { height: f64, width: f64, web_thick: f64, flange_thick: f64, }, SteelPipe { outer_dia: f64, thick: f64, }, SteelFlatBar { width: f64, thick: f64, }, SteelRoundBar { dia: f64, }, SteelBuiltH { height: f64, upper_width: f64, upper_thick: f64, lower_width: f64, lower_thick: f64, web_thick: f64, }, SteelLipChannel { height: f64, width: f64, lip: f64, thick: f64, }, RcRect { b: f64, d: f64, rebar: RcRebar, }, RcCircle { d: f64, rebar: RcRebar, }, SrcRect { b: f64, d: f64, rebar: RcRebar, steel_height: f64, steel_width: f64, steel_web_thick: f64, steel_flange_thick: f64, }, CftBox { height: f64, width: f64, thick: f64, }, CftPipe { outer_dia: f64, thick: f64, }, RcWall { thickness: f64, ps: f64, }, RcSlab { thickness: f64, },
}
Expand description

Parametric section shape definition.

Each variant carries the minimal parameters needed to define the geometry. Call to_section() to compute the derived section properties (A, Iy, Iz, J, …) and produce a squid_n_core::Section.

Variants§

§

SteelH

Steel H‑shape (H形鋼).

Fields

§height: f64
§width: f64
§web_thick: f64
§flange_thick: f64
§

SteelBox

Steel rectangular hollow section / box (角形鋼管).

Fields

§height: f64
§width: f64
§thick: f64
§corner_r: f64

角部外半径 r [mm](せん断有効断面積の算定に用いる)。 0 は角部を直角とみなす(未入力・溶接組立箱形相当)。

§

SteelAngle

Steel L‑angle (山形鋼).

Fields

§leg_a: f64
§leg_b: f64
§thick: f64
§

SteelChannel

Steel C‑channel (溝形鋼).

Fields

§height: f64
§width: f64
§web_thick: f64
§flange_thick: f64
§

SteelTee

Steel T‑shape (T形鋼).

Fields

§height: f64
§width: f64
§web_thick: f64
§flange_thick: f64
§

SteelPipe

Steel round pipe (鋼管).

Fields

§outer_dia: f64
§thick: f64
§

SteelFlatBar

Steel flat bar / plate (平鋼・鋼板). 中実矩形。

width: 幅 B [mm](Z 方向)、thick: 板厚 t [mm](Y 方向=せい)。 断面性能は中実矩形として算定する(配筋はない)。部材のせい/幅の向きは 局所座標(ref_vector)で与える。薄板だが幅厚比検定の対象外(板要素ではない)。

Fields

§width: f64
§thick: f64
§

SteelRoundBar

Steel solid round bar (中実丸鋼).

dia: 直径 D [mm]。断面性能は中実円として算定する。

Fields

§dia: f64
§

SteelBuiltH

Steel welded built-up H with unequal flanges (非対称組立 H 形鋼). StbSecBuild-H

上下フランジの幅・厚が異なる溶接組立断面。height: せい H(外〜外)、 upper_width/upper_thick: 上フランジ、lower_width/lower_thick: 下フランジ、 web_thick: ウェブ厚。上下フランジ+ウェブの矩形分解+平行軸で断面性能を算定する (図心は Y 方向に偏心。左右対称)。上下同一寸法なら通常の SteelH と等価。

Fields

§height: f64
§upper_width: f64
§upper_thick: f64
§lower_width: f64
§lower_thick: f64
§web_thick: f64
§

SteelLipChannel

Steel cold-formed lipped channel (リップ溝形鋼). StbSecRoll-LipC

height: せい H [mm](Y 方向)、width: フランジ幅 B [mm](Z 方向。ウェブ外面〜 フランジ先端)、lip: リップ長 C [mm](Y 方向)、thick: 板厚 t [mm](全要素一様)。 薄肉開断面としてウェブ・上下フランジ・上下リップの矩形分解で断面性能を算定する (図心は Z 方向に偏心。冷間成形材の有効断面・局部座屈は別途検討)。

Fields

§height: f64
§width: f64
§lip: f64
§thick: f64
§

RcRect

Reinforced concrete rectangle (RC 矩形).

Fields

§rebar: RcRebar
§

RcCircle

Reinforced concrete circle column (RC 円形).

Fields

§rebar: RcRebar
§

SrcRect

SRC 矩形断面(RC 矩形 + 内蔵 H 形鉄骨、SRC 規準 1987)。

内蔵鉄骨の鋼種・コンクリート強度・主筋の材質は、いずれも断面が材料として 持つ(crate::model::Sectionsteel_materialmaterialrebar_material)。

解析用断面性能(to_section)は、コンクリート断面にヤング係数比 N_S_EQ(=15、暫定既定)による鉄骨の等価換算剛性を加えて算定する。 断面積は質量算定への影響を避けるためコンクリート全断面 b·d とする。

Fields

§rebar: RcRebar
§steel_height: f64
§steel_width: f64
§steel_web_thick: f64
§steel_flange_thick: f64
§

CftBox

CFT 角形(角形鋼管 + 充填コンクリート)。

解析用断面性能は鋼管部分のみ(充填コンクリートの剛性は暫定的に無視、 剛性計算編での複合換算は今後の課題)。検定では Material.fc の 充填コンクリート強度を用いる。

Fields

§height: f64
§width: f64
§thick: f64
§

CftPipe

CFT 円形(円形鋼管 + 充填コンクリート)。扱いは CftBox と同じ。

Fields

§outer_dia: f64
§thick: f64
§

RcWall

RC 耐震壁(壁エレメント用)。

thickness: 壁板厚 [mm]、ps: 壁板の直交する各方向のせん断補強筋比の うち小さい方(小数。例 0.0025)。壁の平面寸法は要素の節点座標から得る ため形状には持たない。to_section の断面性能は名目値(壁は暫定的に 等価梁でモデル化されており、実剛性の評価は要素実装側の課題)。

Fields

§thickness: f64
§ps: f64
§

RcSlab

RC スラブ(床)。

thickness: 板厚 [mm]。スラブの平面形状は境界節点から得るため形状には 持たない。スラブは解析部材ではなく荷重を分配する面のため、断面性能 (AIAs)は幅 1 m の帯としての名目値であり、剛性計算には用いない。

配筋は持たない。スラブ配筋の設計は板厚とかぶり厚から算定しており (design_slab_oneway)、断面にも配筋を置くと入力の持ち主が二重になる。

Fields

§thickness: f64

Implementations§

Source§

impl SectionShape

Source

pub fn to_section(&self, id: SectionId, name: String) -> Section

Build a fully-populated squid_n_core::Section from the shape parameters.

id and name must be supplied by the caller; all section properties are computed automatically. 階(Section::floor)は形状から決まらないため None とし、必要な呼び出し側(ST-Bridge 取り込み・断面形状の変更)が 生成後に設定する。

Source§

impl SectionShape

Source

pub fn src_equivalent_props(&self, ec: f64, nu_c: f64) -> Option<CompositeProps>

SRC 断面の等価断面性能を、実際のヤング係数比 ns=Es/Ec から算定する (各種合成構造設計指針: An=rcAn+sAn·(ns−1)、Ie=rcIe+sIe·(ns−1)、 As=rcAs+sAs·(ngs−1)、J=cJ+(sG/cG)·sJ)。

ec/nu_c: 要素材料(コンクリート)のヤング係数・ポアソン比。 鉄骨は Es=E_STEEL・νs=0.3 とする。ngs=ns·(1+νc)/(1+νs)。 SrcRect 以外、または ec≤0 では None(呼び出し側は to_section の 既定値=N_S_EQ 固定へフォールバックする)。

Source

pub fn cft_equivalent_props( &self, es: f64, nu_s: f64, fc: f64, ) -> Option<CompositeProps>

CFT 断面(CftBox/CftPipe)の等価断面性能を鋼管基準で算定する (各種合成構造設計指針: SRC 柱に準じる累加(CFT もこれに準じる)を鋼基準の 1/n 換算で適用。J は S 柱の J=(sG/cG)·sJ+cJ を鋼基準 J=sJ+cJ/ngs に換算)。

es/nu_s: 要素材料(鋼管)のヤング係数・ポアソン比、 fc: 充填コンクリート強度(Material.fc)。 Ec は concrete_young_modulus(γ=23)・νc=0.2 とする。 CftBox/CftPipe 以外、または Ec≤0 では None(鋼管のみの既定値へ フォールバック)。

Source§

impl SectionShape

Source

pub fn cft_core_props(&self) -> Option<CftCoreProps>

CFT 断面(CftBox/CftPipe)の充填コンクリート部分の諸元。 CFT 以外の形状は None

内法寸法は 0 で下限クランプするため、板厚が過大で内法が消える断面では area が 0 になる(=充填コンクリートが効かない)。呼び出し側が 「鋼管のみへフォールバックする」か「充填ゼロのまま続行する」かを選べるよう、 ここでは None にせず 0 を返す。

Source§

impl SectionShape

Source

pub fn dimension_label(&self) -> String

形状と各寸法を表す表記(例 H-500x250x9x16BD-300x600)。

記号は ASCII のみで、断面の種別が接頭辞から一意に読み取れるようにしている。 円形は用途で記号を分ける(鋼管 P-、中実丸鋼 RB-、RC 円形 RD-)。 SRC は内蔵鉄骨の寸法まで含める(外形が同じで内蔵鉄骨だけが違う断面を 表記で見分けられるようにするため)。

Source§

impl SectionShape

Source

pub fn calc_area(&self) -> f64

Compute the cross‑sectional area [mm²].

Source

pub fn plastic_modulus_strong(&self) -> Option<f64>

鉄骨断面の塑性断面係数 Zp [mm³](強軸)。RC・SRC・CFT・不明形状は None を返す(鉄骨梁の全塑性モーメント Mp=Zp·σy の算定に用いる。材料力学)。

H・箱・パイプ・中実丸鋼は閉形式、それ以外は矩形分解から等面積軸まわりで 積分する([plastic_modulus_strips])。軸は calc_iy同一(山形鋼は図心を通る幾何軸で、主軸ではない。Ze と軸を揃えるため 意図的にこの定義を採る。主軸まわりで扱うには断面相乗モーメント Iyz を 断面データに持たせて二軸連成を解く必要がある)。

Source

pub fn calc_iy(&self) -> f64

Moment of inertia about the local y‑axis [mm⁴] (strong axis for beams).

Source

pub fn calc_iz(&self) -> f64

Moment of inertia about the local z‑axis [mm⁴] (weak axis for beams).

Source

pub fn calc_j(&self) -> f64

Torsional constant J [mm⁴].

Source

pub fn calc_axial_stiffness_area(&self) -> f64

軸剛性(EA)算定用の等価断面積 [mm²]。

SRC は各種合成構造設計指針の An = rcAn + sAn·(ns−1) に従い鉄骨の等価換算断面を累加する (ns は暫定的に N_S_EQ)。質量算定用の断面積(calc_area は コンクリート全断面)とは区別して用いること。他形状は calc_area と同値。

Source§

impl SectionShape

Source

pub fn rebar(&self) -> Option<&RcRebar>

配筋情報(主筋・せん断補強筋)を持つ形状はその参照を返す。 配筋を持たない形状(鋼断面・CFT・壁)は None

Source

pub fn is_concrete_like(&self) -> bool

コンクリート系(RC / SRC / CFT)の断面形状か。

断面耐力(曲げひび割れ \(M_c\)・曲げ降伏 \(M_y\)・せん断終局 \(Q_{su}\))の 算定にコンクリート強度 \(F_c\) を要する形状を真とする。既定履歴則の判定 (squid_n_element::factory::resolve_member_hysteresis)と、非線形解析の 入力チェック(squid_n_element::factory::nonlinear_input_issues)が共有する。

Trait Implementations§

Source§

impl Clone for SectionShape

Source§

fn clone(&self) -> SectionShape

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 SectionShape

Source§

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

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

impl<'de> Deserialize<'de> for SectionShape

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 SectionShape

Source§

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

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 SectionShape

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.