You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Represents a [`CableComponent`](@ref), i.e. a group of [`AbstractCablePart`](@ref) objects, with the equivalent geometric and material properties:
88
+
89
+
$(TYPEDFIELDS)
90
+
91
+
!!! info "Definition & application"
92
+
Cable components operate as containers for multiple cable parts, allowing the calculation of effective electromagnetic (EM) properties (``\\sigma, \\varepsilon, \\mu``). This is performed by transforming the physical objects within the [`CableComponent`](@ref) into one equivalent coaxial homogeneous structure comprised of one conductor and one insulator, each one represented by effective [`Material`](@ref) types stored in `conductor_props` and `insulator_props` fields.
93
+
94
+
The effective properties approach is widely adopted in EMT-type simulations, and involves locking the internal and external radii of the conductor and insulator parts, respectively, and calculating the equivalent EM properties in order to match the previously determined values of R, L, C and G [916943](@cite) [1458878](@cite).
95
+
96
+
In applications, the [`CableComponent`](@ref) type is mapped to the main cable structures described in manufacturer datasheets, e.g., core, sheath, armor and jacket.
"The conductor group containing all conductive parts."
102
+
conductor_group::ConductorGroup
103
+
"Effective properties of the equivalent coaxial conductor."
104
+
conductor_props::Material
105
+
"The insulator group containing all insulating parts."
106
+
insulator_group::InsulatorGroup
107
+
"Effective properties of the equivalent coaxial insulator."
108
+
insulator_props::Material
109
+
110
+
@doc"""
111
+
$(TYPEDSIGNATURES)
112
+
113
+
Initializes a [`CableComponent`](@ref) object based on its constituent conductor and insulator groups. The constructor performs the following sequence of steps:
114
+
115
+
1. Validate that the conductor and insulator groups have matching radii at their interface.
116
+
2. Obtain the lumped-parameter values (R, L, C, G) from the conductor and insulator groups, which are computed within their respective constructors.
117
+
3. Calculate the correction factors and equivalent electromagnetic properties of the conductor and insulator groups:
@warn"Component with ID '$(component.id)' already exists in the CableDesign and will be overwritten."
333
+
design.components[existing_idx] = component
334
+
else
335
+
# Add new component to the vector
336
+
push!(design.components, component)
337
+
end
338
+
339
+
return design
340
+
end
341
+
342
+
"""
343
+
$(TYPEDSIGNATURES)
344
+
345
+
Adds a cable component to an existing [`CableDesign`](@ref) using separate conductor and insulator groups. Performs as a convenience wrapper to construct the [`CableComponent`](@ref) object with reduced boilerplate.
346
+
347
+
# Arguments
348
+
349
+
- `design`: A [`CableDesign`](@ref) object where the component will be added.
350
+
- `component_id`: ID for the new component.
351
+
- `conductor_group`: A [`ConductorGroup`](@ref) for the component.
352
+
- `insulator_group`: An [`InsulatorGroup`](@ref) for the component.
0 commit comments