Skip to content

reinforcement_configurations

structural_sections.concrete.reinforced_concrete_sections.reinforcement_configurations

Module for the representation of reinforcement configurations in reinforced concrete sections.

Classes:

structural_sections.concrete.reinforced_concrete_sections.reinforcement_configurations.ReinforcementByDistance dataclass

ReinforcementByDistance(
    diameter: MM, material: ReinforcementSteelMaterial, *, center_to_center: MM
)

Bases: ReinforcementConfiguration

Representation of a reinforcement configuration given by center-to-center distance. For example ⌀16-150, ⌀20-200, ⌀25-250, ⌀32-300, etc.

Parameters:

  • center_to_center (MM) –

    Maximum center-to-center distance between rebars [mm].

structural_sections.concrete.reinforced_concrete_sections.reinforcement_configurations.ReinforcementByDistance.area property

area: MM2_M

Area of the reinforcement configuration per meter [mm²/m].

structural_sections.concrete.reinforced_concrete_sections.reinforcement_configurations.ReinforcementByDistance.n_rebars_per_meter property

n_rebars_per_meter: DIMENSIONLESS

Number of rebars per meter [1/m].

structural_sections.concrete.reinforced_concrete_sections.reinforcement_configurations.ReinforcementByDistance.to_rebars

to_rebars(line: LineString) -> list[Rebar]

Convert the reinforcement configuration to a list of rebars.

Parameters:

  • line (LineString) –

    Representing the path of the reinforcement in the section. Start of the line defines the first rebar of the configuration, end of the line defines the last rebar.

Returns:

  • List[Rebar]

    List of Rebar objects.

Source code in blueprints/structural_sections/concrete/reinforced_concrete_sections/reinforcement_configurations.py
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
def to_rebars(self, line: LineString) -> list[Rebar]:
    """Convert the reinforcement configuration to a list of rebars.

    Parameters
    ----------
    line : LineString
        Representing the path of the reinforcement in the section.
        Start of the line defines the first rebar of the configuration, end of the line defines the last rebar.

    Returns
    -------
    List[Rebar]
        List of Rebar objects.
    """
    if line.is_closed:
        raise ValueError("Reinforcement configuration cannot be applied to closed lines. Start and end points must be different.")

    rebars = []

    # define the number of rebars based on the length of the line, minimum 1
    n_rebars = line.length / self.center_to_center
    n_rebars_applied = max(int(n_rebars), 1)  # at least one rebar

    # calculate the space between the rebars
    side_buffer = (line.length - (n_rebars_applied - 1) * self.center_to_center) / 2
    distances = np.linspace(start=side_buffer, stop=line.length - side_buffer, num=n_rebars_applied)

    # define the representative diameter of the rebar
    reinforcement_area = 0.25 * np.pi * self.diameter**2 * n_rebars
    repr_diameter = np.sqrt(reinforcement_area / (0.25 * np.pi * n_rebars_applied))

    for distance in distances:
        point = line.interpolate(distance)
        rebars.append(
            Rebar(
                diameter=repr_diameter,
                x=point.x,
                y=point.y,
                material=self.material,
            )
        )
    return rebars

structural_sections.concrete.reinforced_concrete_sections.reinforcement_configurations.ReinforcementByQuantity dataclass

ReinforcementByQuantity(
    diameter: MM, material: ReinforcementSteelMaterial, *, n: int
)

Bases: ReinforcementConfiguration

Representation of a reinforcement configuration given by quantity of rebars. For example 4⌀16, 6⌀20, 8⌀25, 10⌀32, etc.

Parameters:

  • n (int) –

    Amount of longitudinal bars.

structural_sections.concrete.reinforced_concrete_sections.reinforcement_configurations.ReinforcementByQuantity.area property

area: MM2

Area of the reinforcement configuration [mm²].

structural_sections.concrete.reinforced_concrete_sections.reinforcement_configurations.ReinforcementByQuantity.to_rebars

to_rebars(line: LineString) -> list[Rebar]

Convert the reinforcement configuration to a list of rebars.

Parameters:

  • line (LineString) –

    Representing the path of the reinforcement in the section. Start of the line defines the first rebar of the configuration, end of the line defines the last rebar.

Returns:

  • List[Rebar]

    List of Rebar objects.

Source code in blueprints/structural_sections/concrete/reinforced_concrete_sections/reinforcement_configurations.py
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
def to_rebars(self, line: LineString) -> list[Rebar]:
    """Convert the reinforcement configuration to a list of rebars.

    Parameters
    ----------
    line : LineString
        Representing the path of the reinforcement in the section.
        Start of the line defines the first rebar of the configuration, end of the line defines the last rebar.

    Returns
    -------
    List[Rebar]
        List of Rebar objects.

    """
    rebars = []

    # for closed lines, the first and last point in the line are the same
    # so to avoid placing a rebar in the same position, we need to remove one of them
    space_between_bars = line.length / self.n if line.is_closed else line.length / (self.n - 1)

    for index in range(self.n):
        distance = index * space_between_bars
        point = line.interpolate(distance)
        rebars.append(
            Rebar(
                diameter=self.diameter,
                x=point.x,
                y=point.y,
                material=ReinforcementSteelMaterial(),
            )
        )
    return rebars

structural_sections.concrete.reinforced_concrete_sections.reinforcement_configurations.ReinforcementConfiguration dataclass

ReinforcementConfiguration(diameter: MM, material: ReinforcementSteelMaterial)

Bases: ABC

Base class of all reinforcement configurations.

Parameters:

  • diameter (MM) –

    Diameter of the rebar [mm].

  • material (ReinforcementSteelMaterial) –

    Representation of the properties of reinforcement steel suitable for use with NEN-EN 1992-1-1.

structural_sections.concrete.reinforced_concrete_sections.reinforcement_configurations.ReinforcementConfiguration.area abstractmethod property

area: MM2

Each reinforcement configuration must have a resulting area.

structural_sections.concrete.reinforced_concrete_sections.reinforcement_configurations.ReinforcementConfiguration.to_rebars abstractmethod

to_rebars(line: LineString) -> list[Rebar]

Convert the reinforcement configuration to a list of rebars.

Parameters:

  • line (LineString) –

    Representing the path of the reinforcement in the section. Start of the line defines the first rebar of the configuration, end of the line defines the last rebar.

Returns:

  • List[Rebar]

    List of Rebar objects.

Source code in blueprints/structural_sections/concrete/reinforced_concrete_sections/reinforcement_configurations.py
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
@abstractmethod
def to_rebars(self, line: LineString) -> list[Rebar]:
    """Convert the reinforcement configuration to a list of rebars.

    Parameters
    ----------
    line : LineString
        Representing the path of the reinforcement in the section.
        Start of the line defines the first rebar of the configuration, end of the line defines the last rebar.

    Returns
    -------
    List[Rebar]
        List of Rebar objects.
    """