cable_strength
AdditiveLayerRts
AdditiveLayerRts(cable_data: DataFrame)
Bases: ITensileStrength
Tensile strength model based on additive per-layer RTS contributions.
Computes RRTS as:
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
DataFrame
|
Unit-converted cable data snapshot (e.g. from
|
required |
Source code in src/mechaphlowers/core/models/cable/cable_strength.py
129 130 131 132 | |
cut_strands
property
writable
cut_strands: ndarray
Number of cut strands per layer, as an 8-element integer array.
Index 0 = layer 1, …, index 7 = layer 8. Defaults to all zeros until explicitly set.
high_safety
property
writable
high_safety: bool
Enable or disable the additional safety coefficient security mechanism.
When enabled, the effective
safety_coefficient is multiplied by 1.5, which tightens
the utilization rate limit computed by utilization_rate.
nb_strand_per_layer
property
nb_strand_per_layer: ndarray
Number of strands per layer, as an 8-element integer array.
Index 0 = layer 1, …, index 7 = layer 8. Returns zeros for layers whose column is absent or NaN in the catalog.
This value is informational. Cut strand enforcement is controlled by
MAX_ALLOWED_CUT_STRANDS: when MAX_ALLOWED_CUT_STRANDS[i] > 0,
cut_strands[i] cannot exceed that value.
rrts
property
rrts: float
Residual Rated Tensile Strength (RRTS) in N.
RRTS = rts_cable - sum(cut_strands[i] * rts_layer{i+1} for i in 0..7)
Defaults to rts_cable when no cut strands have been set (all zeros).
Warning: rrts is designed to act globally for the section. If one strand is cut on a span, the whole section gets the same reduced RRTS, even if the cut strand is not on this span.
Raises:
| Type | Description |
|---|---|
RtsDataNotAvailable
|
if |
safety_coefficient
property
safety_coefficient: float
Effective safety coefficient used in the utilization rate.
Returns the catalog safety_coefficient value, or
options.data.safety_coefficient_default when the column is absent
or NaN. If high_safety is True, the value is multiplied by
options.data.safety_security_factor.
rts_coverage
rts_coverage() -> float
Ratio of cable RTS to the sum of strand-level RTS contributions.
This method is a checker for catalog data consistency: the output should ideally be close to 1.0 for a well-documented cable, but may be lower if the catalog is missing some strand-level RTS data (NaN values are treated as 0). A very low value may indicate that the cable-level RTS is not properly documented by the catalog.
Returns:
| Name | Type | Description |
|---|---|---|
float |
float
|
|
Raises:
| Type | Description |
|---|---|
RtsDataNotAvailable
|
if |
Source code in src/mechaphlowers/core/models/cable/cable_strength.py
217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 | |
utilization_rate
utilization_rate(tension_sup_N: ndarray) -> ndarray
Utilization rate as a percentage of RTS, one value per span.
rate (%) = tension_sup_N / (RRTS * safety_coefficient) * 100
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
ndarray
|
Cable tensions in N, one value per span (e.g. tension_sup from BalanceEngine.get_data_spans()). |
required |
Returns:
| Type | Description |
|---|---|
ndarray
|
Array of utilization rates in % of RTS, same length as tension_sup_N. |
Source code in src/mechaphlowers/core/models/cable/cable_strength.py
338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 | |
ITensileStrength
Bases: ABC
Abstract interface for cable tensile strength models.
Implementations are responsible for computing the Residual Rated Tensile
Strength (RRTS) of a cable and the associated utilization rate, taking
into account optional strand damage (cut_strands) and safety margins
(high_safety).
cut_strands
abstractmethod
property
writable
cut_strands: ndarray
Number of cut strands per layer, as an 8-element integer array.
high_safety
abstractmethod
property
writable
high_safety: bool
Whether the additional safety coefficient security mechanism is enabled.
nb_strand_per_layer
abstractmethod
property
nb_strand_per_layer: ndarray
Number of strands per layer, as an 8-element integer array.
safety_coefficient
abstractmethod
property
safety_coefficient: float
Effective safety coefficient used in the utilization rate.
rts_coverage
abstractmethod
rts_coverage() -> float
Ratio of cable RTS to the sum of strand-level RTS contributions.
Source code in src/mechaphlowers/core/models/cable/cable_strength.py
55 56 57 | |
utilization_rate
abstractmethod
utilization_rate(tension_sup_N: ndarray) -> ndarray
Utilization rate as a percentage of RTS, one value per span.
Source code in src/mechaphlowers/core/models/cable/cable_strength.py
64 65 66 | |