Source code for streng.ppp.sections.concrete.reinforcement.areas

"""

    .. uml::

        class areas <<(M,#FF7700)>> {
        .. functions ..
        As()
        As_distributed()
        As_for_ω()
        As_layer()
        As1_for_ω1ρ1()
        As2_for_ω2ρ2()
        }

"""

import numpy as np


[docs]def As(dia): return np.pi * dia**2 / 4
[docs]def As_distributed(dia, s): """ Area reinforcement for 1.0m length Args: dia (float): Bar diameter s (float): Distance between bars Returns: float: """ return As(dia) * 1.0 / s
[docs]def As_layer(n, dia): """ Args: n (list or integer): dia (np.array or float): Returns: float: """ if isinstance(n, list): return sum(np.array(n) * np.array(dia)**2 * np.pi/4) else: return n * dia**2 * np.pi/4
[docs]def As_for_ω(ω, b, d, fc, fy, N): """ Args: ω (float): b (float): Section width d (float): Section effective depth fc (float): Concrete compressive strength fy (float): Reinforcement steel yield strength N (float): Axial force Returns: float: """ return ω * b * d * fc / fy + N / fy
[docs]def As1_for_ω1ρ1(ω1, ρ1, b, d, fc, fy, N): return ω1 * ρ1 * b * d * fc / fy + N / fy
[docs]def As2_for_ω2ρ2(ω2, ρ2, b, d, fc, fy): return ω2 * ρ2 * b * d * fc / fy