Eurocode 8 - Chapter 3 - seismic_action

raw functions

In [1]:
from streng.codes.eurocodes.ec8.raw.ch3.seismic_action import spectra

spectra

αg

In [2]:
print(spectra.αg.__doc__)


    Args:
        αgR (float): reference peak ground acceleration on type A ground
        γI: (float): importance factor

    Returns:
        float: design ground acceleration on type A ground


In [3]:
αg = spectra.αg(αgR=0.24,
                γI=1.20)
print(f'αg = {αg}g')
αg = 0.288g

S

In [4]:
print(spectra.S.__doc__)


    Args:
        ground_type (str): Ground type (A, B, C, D or E)
        spectrum_type (int): Spectrum type 1 or 2

    Returns:
        float: soil factor


In [5]:
S = spectra.S(ground_type='B',
             spectrum_type=1)
print(f'S = {S}')
S = 1.2

TB

In [6]:
print(spectra.TB.__doc__)


    Args:
        ground_type (str): Ground type (A, B, C, D or E)
        spectrum_type (int): Spectrum type 1 or 2

    Returns:
        float: The lower limit of the period of the constant spectral acceleration branch


In [7]:
TB = spectra.TB(ground_type='B',
             spectrum_type=1)
print(f'TB = {TB}')
TB = 0.15

TC

In [8]:
print(spectra.TC.__doc__)


    Args:
        ground_type (str): Ground type (A, B, C, D or E)
        spectrum_type (int): Spectrum type 1 or 2

    Returns:
        float: The upper limit of the period of the constant spectral acceleration branch


In [9]:
TC = spectra.TC(ground_type='B',
             spectrum_type=1)
print(f'TC = {TC}')
TC = 0.5

TD

In [10]:
print(spectra.TD.__doc__)


    Args:
        ground_type (str): Ground type (A, B, C, D or E)
        spectrum_type (int): Spectrum type 1 or 2

    Returns:
        float: The value defining the beginning of the constant displacement response range of the spectrum


In [11]:
TD = spectra.TD(ground_type='B',
             spectrum_type=1)
print(f'TD = {TD}')
TD = 2.0

Se

In [12]:
print(spectra.Se.__doc__)


    Args:
        T (float): The vibration period of a linear single-degree-of-freedom system
        αg (float): The design ground acceleration on type A ground (ag = γI*agR)
        S (float): The soil factor
        TB (float): The lower limit of the period of the constant spectral acceleration branch
        TC (float): The upper limit of the period of the constant spectral acceleration branch
        TD (float): The value defining the beginning of the constant displacement response range of the spectrum
        η (float): The damping correction factor with a reference value of η = 1 for 5% viscous damping

    Returns:
        float: The elastic acceleration response spectrum. Given using the expressions:

        .. math::
            :nowrap:

            \begin{eqnarray}
                0 \le T \le T_B \rightarrow & S_e(T) & = α_g\cdot S \cdot (1+\dfrac{T}{T_B}\cdot(η\cdot 2.5 -1)) \\
                T_B \le T \le T_C \rightarrow & S_e(T) & = α_g\cdot S \cdot η\cdot 2.5 \\
                T_C \le T \le T_D \rightarrow & S_e(T) & = α_g\cdot S \cdot η\cdot 2.5\cdot \dfrac{T_C}{T} \\
                T_D \le T \le 4s \rightarrow & S_e(T) & = α_g\cdot S \cdot η\cdot 2.5\cdot \dfrac{T_C\cdot T_D}{T^2}
            \end{eqnarray}


In [13]:
Se = spectra.Se(T=0.50,
               αg = 0.24,
               S=1.20,
               TB=0.15,
               TC=0.50,
               TD=2.0,
               η=1.0)
print(f'Se = {Se}g')
Se = 0.72g

SDe

In [14]:
print(spectra.SDe.__doc__)


    Args:
        T (float): The vibration period of a linear single-degree-of-freedom system
        Se (float):The elastic acceleration response spectrum

    Returns:
        float: The elastic displacement response spectrum. Given using the expression:

        .. math::
            S_{De}=S_e(T)\cdot(\dfrac{T}{2π})^2


In [15]:
Sde = spectra.SDe(T=0.5,
                 Se=0.72*9.81)
print(f'Sde = {Sde:.3f}m')
Sde = 0.045m

dg

In [16]:
print(spectra.dg.__doc__)


    Args:
        αg (float): The design ground acceleration on type A ground (ag = γI*agR)
        S (float): The soil factor
        TC (float): The upper limit of the period of the constant spectral acceleration branch
        TD (float): The value defining the beginning of the constant displacement response range of the spectrum

    Returns:
        float: Design ground displacement. Given using the expression:

         .. math::
            d_{g}=0.025\cdot α_g \cdot S \cdot T_C  \cdot T_D


In [17]:
dg = spectra.dg(αg=0.24,
               S=1.20,
               TC=0.50,
               TD=2.0)
print(f'dg = {dg:.4f}g')
dg = 0.0072g

Sd

In [18]:
print(spectra.Sd.__doc__)


    Args:
        T (float): The vibration period of a linear single-degree-of-freedom system
        αg (float): The design ground acceleration on type A ground (ag = γI*agR)
        S (float): The soil factor
        TB (float): The lower limit of the period of the constant spectral acceleration branch
        TC (float): The upper limit of the period of the constant spectral acceleration branch
        TD (float): The value defining the beginning of the constant displacement response range of the spectrum
        q (float): The behaviour factor
        β (float): The lower bound factor for the horizontal design spectrum. Recommended value for β is 0.2

    Returns:
        float: Design spectrum for elastic analysis. Given using the expressions:

        .. math::
            :nowrap:

            \begin{eqnarray}
                0 \le T \le T_B \rightarrow & S_d(T) & = α_g\cdot S \cdot (\dfrac{2}{3}+\dfrac{T}{T_B}\cdot(\dfrac{2.5}{q} - \dfrac{2}{3})) \\
                T_B \le T \le T_C \rightarrow & S_d(T) & = α_g\cdot S \cdot \dfrac{2.5}{q} \\
                T_C \le T \le T_D \rightarrow & S_d(T) & = α_g\cdot S \cdot \dfrac{2.5}{q} \cdot \dfrac{T_C}{T} \ge β \cdot α_g \\
                T_D \le T \le 4s \rightarrow & S_d(T) & = α_g\cdot S \cdot \dfrac{2.5}{q} \cdot \dfrac{T_C\cdot T_D}{T^2} \ge β \cdot α_g
            \end{eqnarray}


In [19]:
Sd = spectra.Sd(T=0.50,
               αg = 0.24,
               S=1.20,
               TB=0.15,
               TC=0.50,
               TD=2.0,
               q=3.9,
               β=0.20)
print(f'Sd = {Sd:.3f}g')
Sd = 0.185g

η

In [20]:
print(spectra.η.__doc__)


    Args:
        ξ (float): the viscous damping ratio of the structure[%]

    Returns:
        float: The value of the damping correction factor. Given using the expressions:

        .. math::
            η = \sqrt{\dfrac{10}{5+ξ}} \ge 0.55

In [26]:
η_5 = spectra.η(5)
print(f'η(5%) = {η_5:.2f}')

η_7 = spectra.η(7)
print(f'η(7%) = {η_7:.2f}')
η(5%) = 1.00
η(7%) = 0.91