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.

Variables:
  • grade (str) – Grade of the steel material.

  • fsyk (float) – Characteristic value of steel yield strength (in MPa).

  • fsyd (float) – Design value of steel yield strength (in MPa).

  • fsym (float) – Mean value of steel yield strength (in MPa).

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

  • PARTIAL_FACTOR (float) – Partial factor for steel, by default 1.0.

Parameters:
  • grade (str)

  • fsyk (float)

  • fsyd (float | None)

  • fsym (float | None)

  • Es (float | None)

  • PARTIAL_FACTOR (float)

grade: str
fsyk: float
fsyd: float | None
fsym: float | None
Es: float | None
PARTIAL_FACTOR: 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.

Variables:
  • grade (str) – Grade of the concrete material.

  • fck (float) – Characteristic value of the compressive strength of concrete cylinders (in MPa).

  • fcd (float) – Design value of concrete compressive strength (in MPa).

  • fcm (float) – Mean value of the compressive strength of concrete cylinders (in MPa).

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

  • Gcm (float) – Mean value of concrete elastic shear modulus (in base units, kPa).

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

  • Gcd (float) – Design value of concrete elastic shear modulus (in base units, kPa).

  • PARTIAL_FACTOR (float) – Partial factor for concrete, by default 1.0.

  • POISSONS_RATIO (float) – Poisson’s ratio for concrete, by default 0.2.

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: 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
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.

Variables:
  • concrete (List[ConcreteBase]) – List of concrete materials.

  • steel (List[SteelBase]) – List of steel materials.

Parameters:
concrete: List[ConcreteBase]
steel: 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.

Variables:
  • concrete (List[ConcreteBase]) – List of concrete material instances.

  • steel (List[SteelBase]) – List of steel material instances.

  • _data_blueprint (MaterialDataBase) – Subclass representing the blueprint for materials data.

  • _data_path (Path or str) – Path to the JSON file containing material data.

concrete: List[ConcreteBase]
steel: List[SteelBase]
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