Skip to content

Bug: eps_cu1 called with fcm instead of fck in _concreteEC2_2004.py #305

@elliotmelcer

Description

@elliotmelcer

Inside of _concreteEC2_2004.py eps_cu1 is calculated by ec2_2004.eps_cu1(self.fcm), but the function eps_cu1() within _concrete_material_properties.py expects fck as an input, NOT fcm.

_concreteEC2_2004.py:

@property
    def eps_cu1(self) -> float:
        """Returns the strain at concrete failure of concrete.

        Returns:
            float: The maximum strength at failure of concrete.

        Note:
            The returned value is derived from fcm if eps_cu1 is not manually
            provided when initializing the object.
        """
        if self._eps_cu1 is None:
            return ec2_2004.eps_cu1(self.fcm)
        return self._eps_cu1

_concrete_material_properties.py:

def eps_cu1(fck: float) -> float:
    """The ultimate strain for the Sargin constitutive law.

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

    Args:
        fck (float): The characteristic compressive strength of concrete in
            MPa.

    Returns:
        float: The ultimate strain, absolute value, no unit.
    """
    fck = abs(fck)
    return (
        3.5 / 1000
        if fck < 50
        else (2.8 + 27 * ((98 - fcm(fck)) / 100) ** 4) / 1000
    )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions