Skip to content

Commit 8f0872e

Browse files
feat(datamodel): implement RectStrands to allow for Milliken cores. Fixes #28, hail to the king, babe!
1 parent 9bdcc4f commit 8f0872e

1 file changed

Lines changed: 39 additions & 4 deletions

File tree

src/datamodel/rectstrands.jl

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,57 @@ struct RectStrandsShape{T <: REALSCALAR, U <: Int} <: AbstractShapeGeometry
2222
cross_section::T
2323
end
2424

25+
"""
26+
$(TYPEDEF)
27+
28+
Represents a concentric layer of rectangular strands with defined geometric, material, and electrical properties:
29+
30+
$(TYPEDFIELDS)
31+
"""
2532
struct RectStrands{T <: REALSCALAR, S <: RectStrandsShape} <: AbstractStrandsLayer{T}
2633
"Internal radial boundary \\[m\\]."
2734
radius_in::T
2835
"External radial boundary \\[m\\]."
2936
radius_ext::T
37+
"Material properties of the conductive strands."
3038
material_props::Material{T}
39+
"Operating temperature of the layer \\[°C\\]."
3140
temperature::T
32-
33-
# Fundamental electrical properties for ConductorGroup
41+
"Equivalent electrical resistance of the layer \\[Ω/m\\]."
3442
resistance::T
43+
"Geometric mean radius (GMR) of the layer \\[m\\]."
3544
gmr::T
36-
37-
# Shape payload, defines how resistance and gmr are computed
45+
"Shape payload defining the internal geometric layout."
3846
shape::S
3947
end
4048

49+
"""
50+
$(TYPEDSIGNATURES)
51+
52+
Constructs a [`RectStrands`](@ref) instance.
53+
54+
# Arguments
55+
56+
- `radius_in`: Internal radius of the layer \\[m\\].
57+
- `thickness`: Radial thickness of the strands \\[m\\].
58+
- `width`: Width of the individual rectangular strip \\[m\\].
59+
- `num_wires`: Number of strands in the layer \\[dimensionless\\].
60+
- `lay_ratio`: Ratio defining the lay length of the strands \\[dimensionless\\].
61+
- `material_props`: A [`Material`](@ref) object containing physical properties.
62+
- `temperature`: Operating temperature \\[°C\\].
63+
- `lay_direction`: Twisting direction (1 = unilay, -1 = contralay) \\[dimensionless\\].
64+
65+
# Returns
66+
67+
- A [`RectStrands`](@ref) object with calculated geometric and electrical properties.
68+
69+
# Examples
70+
71+
```julia
72+
material = Material(1.724e-8, 1.0, 1.0, 20.0, 0.00393)
73+
layer = $(FUNCTIONNAME)(0.01, 0.002, 0.005, 10, 12.0, material, 25.0, 1)
74+
```
75+
"""
4176
function RectStrands(
4277
radius_in::T,
4378
thickness::T,

0 commit comments

Comments
 (0)