Base material classes

Base material class

class structuralcodes.core.base.Material(density: float, name: str | None = None)[source]

Abstract base class for materials.

update_attributes(updated_attributes: Dict) None[source]

Function for updating the attributes specified in the input dictionary.

Parameters:

updated_attributes (dict) – the dictionary of parameters to be updated (not found parameters are skipped with a warning)

property constitutive_law

Returns the ConstitutiveLaw of the object.

property name

Returns the name of the material.

property density

Returns the density of the material in kg/m3.

Base concrete class

class structuralcodes.materials.concrete.Concrete(fck: float, name: str | None = None, density: float = 2400, gamma_c: float | None = None, existing: bool | None = False)[source]

The abstract concrete material.

property fck: float

Returns fck in MPa.

property constitutive_law: ConstitutiveLaw

Returns the constitutive law object.

abstract property gamma_c: float

Each concrete should implement its own getter for the partial factor in order to interact with the globally set national annex.

Base reinforcement steel class

class structuralcodes.materials.reinforcement.Reinforcement(fyk: float, Es: float, density: float, ftk: float, epsuk: float, gamma_s: float | None = None, name: str | None = None)[source]

The abstract reinforcement material.

property fyk: float

Returns fyk in MPa.

property Es: float

Returns Es in MPa.

property ftk: float

Returns ftk in MPa.

property epsuk: float

Returns epsuk.

property epsyk: float

Returns characteristic yield strain epsyk.

property epsyd: float

Return the design yield strain.

property constitutive_law: ConstitutiveLaw

Returns the constitutive law object.

Base constitutive law class

class structuralcodes.core.base.ConstitutiveLaw(name: str | None = None)[source]

Abstract base class for constitutive laws.

property name

Returns the name of the constitutive law.

preprocess_strains_with_limits(eps: ArrayLike) ArrayLike[source]

Preprocess strain arrays setting those strains sufficiently near to ultimate strain limits to exactly ultimate strain limit.

get_secant(eps: float) float[source]

Method to return the secant at a given strain level.