simdesign.rcmrf.bdim.baselib.materials

This module provides base classes for representing materials within the BDIM layer.

class simdesign.rcmrf.bdim.baselib.materials.SteelBase(*, grade, fsyk, fsyd=None, fsym=None, Es=None, PARTIAL_FACTOR=1.0)[source]

Bases: BaseModel, ABC

Abstract base class representing a steel material.

Parameters:
  • grade (str)

  • fsyk (float)

  • fsyd (float | None)

  • fsym (float | None)

  • Es (float | None)

  • PARTIAL_FACTOR (float)

grade

Grade of the steel material.

Type:

str

fsyk

Characteristic value of steel yield strength (in MPa).

Type:

float

fsyd

Design value of steel yield strength (in MPa).

Type:

float

fsym

Mean value of steel yield strength (in MPa).

Type:

float

Es

Steel elastic youngs’ modulus (in base units, kPa), by default 200 * GPa.

Type:

float

PARTIAL_FACTOR

Partial factor for steel, by default 1.0.

Type:

float

classmethod set_fsyd(instance)[source]

If not provided, sets the design value of yield strength (fsyd).

Parameters:

instance (SteelBase)

Return type:

SteelBase

classmethod set_fsym(instance)[source]

If not provided, sets the mean value of yield strength (fsym)

Notes

Wisniewski (2007), Tables 4.10 and 4.14.

References

Wisniewski, D. (2007). Safety formats for the assessment of concrete bridges. Phd Thesis, Guimarães, University of Minho.

Parameters:

instance (SteelBase)

Return type:

SteelBase

classmethod set_youngs_modulus(instance)[source]

If not provided, sets Young’s modulus (E).

Notes

EN 1992-1-1:2004, Section 3.2.7(4).

References

Comité Européen de Normalisation, CEN (2004). Eurocode 2: Design of Concrete Structures — Part 1-1: General Rules and Rules for Buildings. European Committee for Standardization, Brussels, Belgium.

Parameters:

instance (SteelBase)

Return type:

SteelBase

class simdesign.rcmrf.bdim.baselib.materials.ConcreteBase(*, grade, fck, fcd=None, fcm=None, Ecm=None, Gcm=None, Ecd=None, Gcd=None, POISSONS_RATIO=0.2, PARTIAL_FACTOR=1.0)[source]

Bases: BaseModel, ABC

Abstract base class representing a concrete material.

Parameters:
  • grade (str)

  • fck (float)

  • fcd (float | None)

  • fcm (float | None)

  • Ecm (float | None)

  • Gcm (float | None)

  • Ecd (float | None)

  • Gcd (float | None)

  • POISSONS_RATIO (float)

  • PARTIAL_FACTOR (float)

grade

Grade of the concrete material.

Type:

str

fck

Characteristic value of the compressive strength of concrete cylinders (in MPa).

Type:

float

fcd

Design value of concrete compressive strength (in MPa).

Type:

float

fcm

Mean value of the compressive strength of concrete cylinders (in MPa).

Type:

float

Ecm

Mean value of concrete elastic youngs’ modulus (in base units, kPa).

Type:

float

Gcm

Mean value of concrete elastic shear modulus (in base units, kPa).

Type:

float

Ecd

Design value of concrete elastic youngs’ modulus (in base units, kPa).

Type:

float

Gcd

Design value of concrete elastic shear modulus (in base units, kPa).

Type:

float

PARTIAL_FACTOR

Partial factor for concrete, by default 1.0.

Type:

float

POISSONS_RATIO

Poisson’s ratio for concrete, by default 0.2.

Type:

float

classmethod set_fcd(instance)[source]

If not provided, set the design value of compressive strength (fcd).

Parameters:

instance (ConcreteBase)

Return type:

ConcreteBase

classmethod set_fcm(instance)[source]

If not provided, set the mean value of compressive strength (fcm).

Notes

EN 1992-1-1:2004, Table 3.1.

References

Comité Européen de Normalisation, CEN (2004). Eurocode 2: Design of Concrete Structures — Part 1-1: General Rules and Rules for Buildings. European Committee for Standardization, Brussels, Belgium.

Parameters:

instance (ConcreteBase)

Return type:

ConcreteBase

classmethod validate_poissons_ratio(instance)[source]

Checks if Poisson’s ratio is within a reasonable range.

Parameters:

instance (ConcreteBase)

Return type:

ConcreteBase

classmethod set_youngs_modulus(instance)[source]

If not provided, sets Young’s modulus (E).

Notes

Ecm is based on the CEB-FIP MC90, Eq. 2.1-23. This formula differs from the EN 1992-1-1:2004 expression (Ecm = 22*(fcm/10)^0.3 GPa).

Ecd is based on ACI 318-19, Section 19.2.2.1.

References

Comité Euro-International du Béton (1993). CEB-FIP Model Code 1990. Thomas Telford, London.

American Concrete Institute. (2019). Building code requirements for structural concrete (ACI 318-19). American Concrete Institute.

Parameters:

instance (ConcreteBase)

Return type:

ConcreteBase

classmethod set_shear_modulus(instance)[source]

If not provided, sets shear modulus (G).

Parameters:

instance (ConcreteBase)

Return type:

ConcreteBase

class simdesign.rcmrf.bdim.baselib.materials.MaterialDataBase(*, concrete, steel)[source]

Bases: BaseModel, ABC

Abstract base class representing materials data.

Parameters:
concrete

List of concrete materials.

Type:

List[ConcreteBase]

steel

List of steel materials.

Type:

List[SteelBase]

class simdesign.rcmrf.bdim.baselib.materials.MaterialsBase[source]

Bases: ABC

Abstract base class representing the steel and concrete materials defined for a design class.

concrete

List of concrete material instances.

Type:

List[ConcreteBase]

steel

List of steel material instances.

Type:

List[SteelBase]

_data_blueprint

Subclass representing the blueprint for materials data.

Type:

MaterialDataBase

_data_path

Path to the JSON file containing material data.

Type:

Path or str

abstractmethod get_steel(grade)[source]

Find and return the steel material instance with the specified grade.

Parameters:

grade (str) – Grade of the steel material to find.

Returns:

The steel material instance with the specified grade, if found; otherwise None.

Return type:

SteelBase or None

abstractmethod get_concrete(grade)[source]

Find and return the concrete material instance with the specified grade.

Parameters:

grade (str) – Grade of the concrete material to find.

Returns:

The concrete material instance with the specified grade, if found; otherwise None.

Return type:

ConcreteBase or None

abstractmethod get_next_concrete(concrete)[source]

Return the concrete material coming after the given.

Parameters:

concrete (ConcreteBase) – Current concrete material.

Returns:

The next concrete material instance if the given is not the final option; otherwise None.

Return type:

ConcreteBase or None

abstractmethod get_next_steel(steel)[source]

Return the steel material coming after the given.

Parameters:

steel (SteelBase) – Current steel material.

Returns:

The next steel material instance if the given is not the final option; otherwise None.

Return type:

SteelBase or None