calc_helical_params
"""
function CircStrands(
r_in::T,
radius_wire::T,
num_wires::U,
lay_ratio::T,
material_props::Material{T},
temperature::T,
lay_direction::U,
) where {T <: REALSCALAR, U <: Int}
rho = material_props.rho
T0 = material_props.T0
alpha = material_props.alpha
r_ex = num_wires == 1 ? radius_wire : r_in + 2 * radius_wire # TODO: The resolved outer radius for stranded cores should account for compression. See rectstrands.jl for an example of area-preserving expansion.
mean_diameter, pitch_length, overlength = calc_helical_params(
r_in,
r_ex,
lay_ratio,
)
cross_section = num_wires * (π * radius_wire^2)
R_wire =
calc_tubular_resistance(0.0, radius_wire, rho, alpha, T0, temperature) *
overlength
R_all_wires = R_wire / num_wires
gmr = calc_circstrands_gmr(
r_in + radius_wire,
num_wires,
radius_wire,
material_props.mu_r,
)
Initialize object
return CircStrands(
r_in,
r_ex,
radius_wire,
num_wires,
lay_ratio,
mean_diameter,
pitch_length,
lay_direction,
material_props,
temperature,
cross_section,
R_all_wires,
gmr,
)
end
LineCableModels.jl/src/datamodel/circstrands.jl
Lines 86 to 87 in 2502c78
See also
MaterialConductorGroupcalc_tubular_resistancecalc_circstrands_gmrcalc_helical_params"""
function CircStrands(
r_in::T,
radius_wire::T,
num_wires::U,
lay_ratio::T,
material_props::Material{T},
temperature::T,
lay_direction::U,
) where {T <: REALSCALAR, U <: Int}
rho = material_props.rho
T0 = material_props.T0
alpha = material_props.alpha
r_ex = num_wires == 1 ? radius_wire : r_in + 2 * radius_wire # TODO: The resolved outer radius for stranded cores should account for compression. See rectstrands.jl for an example of area-preserving expansion.
Issue URL: The resolved outer radius for stranded cores should account for compression. See rectstrands.jl for an example of area-preserving expansion. #32
mean_diameter, pitch_length, overlength = calc_helical_params(
r_in,
r_ex,
lay_ratio,
)
cross_section = num_wires * (π * radius_wire^2)
R_wire =
calc_tubular_resistance(0.0, radius_wire, rho, alpha, T0, temperature) *
overlength
R_all_wires = R_wire / num_wires
gmr = calc_circstrands_gmr(
r_in + radius_wire,
num_wires,
radius_wire,
material_props.mu_r,
)
Initialize object
return CircStrands(
r_in,
r_ex,
radius_wire,
num_wires,
lay_ratio,
mean_diameter,
pitch_length,
lay_direction,
material_props,
temperature,
cross_section,
R_all_wires,
gmr,
)
end
const _REQ_CIRCSTRANDS = (:r_in, :radius_wire, :num_wires, :lay_ratio, :material_props)