Skip to content

Commit 7e0e096

Browse files
authored
Merge pull request #151 from upb-lea/electrostatic_solver
removing the flags of turns and layer insulations. Correcting a mista…
2 parents 7d5eea1 + dd0721d commit 7e0e096

27 files changed

Lines changed: 108 additions & 176 deletions

femmt/component.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3609,7 +3609,8 @@ def write_electro_magnetic_parameter_pro(self):
36093609

36103610
# relative permittivity
36113611
# Turn insulation is not implemented yet for RectangularSolid
3612-
if self.windings[winding_number].conductor_type == ConductorType.RectangularSolid:
3612+
# Or if the turn insulation is not drawn
3613+
if self.windings[winding_number].conductor_type == ConductorType.RectangularSolid or not self.insulation.turn_ins:
36133614
text_file.write(f"er_turns_insulation_{winding_number + 1} = 1.0;\n")
36143615
else:
36153616
text_file.write(f"er_turns_insulation_{winding_number + 1} = {self.insulation.er_turn_insulation[winding_number]};\n")

femmt/drawing.py

Lines changed: 79 additions & 60 deletions
Large diffs are not rendered by default.

femmt/examples/advanced_inductor_air_gap_sweep.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,6 @@ def basic_example_sweep(onelab_folder: str | None = None, show_visual_outputs: b
6565
insulation = fmt.Insulation()
6666
insulation.add_core_insulations(0.001, 0.001, 0.004, 0.001)
6767
insulation.add_winding_insulations([[0.0005]], per_layer_of_turns=False)
68-
insulation.add_turn_insulation([0.25e-5], add_turn_insulations=False)
69-
insulation.add_insulation_between_layers(add_insulation_material=False, thickness=0.0005)
7068
geo.set_insulation(insulation)
7169

7270
winding_window = fmt.WindingWindow(core, insulation)

femmt/examples/advanced_inductor_sweep.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,6 @@ def advanced_example_inductor_sweep(onelab_folder: str = None, show_visual_outpu
6464
insulation = fmt.Insulation(flag_insulation=False)
6565
insulation.add_core_insulations(0.001, 0.014, 0.006, 0.001)
6666
insulation.add_winding_insulations([[0.0005]], per_layer_of_turns=False)
67-
insulation.add_turn_insulation([0.25e-5], add_turn_insulations=False)
68-
insulation.add_insulation_between_layers(add_insulation_material=False, thickness=0.0005)
6967
geo.set_insulation(insulation)
7068

7169
# 5. create winding window and virtual winding windows (vww)

femmt/examples/basic_inductor.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,6 @@ def example_thermal_simulation(show_thermal_visual_outputs: bool = True, flag_in
149149
insulation = fmt.Insulation(flag_insulation=True)
150150
insulation.add_core_insulations(0.001, 0.001, 0.003, 0.001)
151151
insulation.add_winding_insulations([[0.0005, 0.0005]], per_layer_of_turns=False)
152-
# When "add_turn_insulation" is false, this function has no effect
153-
insulation.add_turn_insulation([0.25e-5], add_turn_insulations=False)
154-
# When "add_insulation_material" is false, the material will be air by default. For now this function makes difference when the winding scheme is square and
155-
# litz wire.
156-
insulation.add_insulation_between_layers(add_insulation_material=False, thickness=0.0005)
157152
geo.set_insulation(insulation)
158153

159154
# 5. create winding window and virtual winding windows (vww)

femmt/examples/basic_inductor_electrostatic.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,12 @@ def basic_example_inductor_electrostatic(onelab_folder: str = None, show_visual_
8282
insulation.add_core_insulations(0.2e-3, 0.2e-3, 0.2e-3, 0.2e-3, dielectric_constant=bobbin_material["dielectric_constant"])
8383
# This is the insulation of the turn itself
8484
turn_insulation_material = fmt.insulation_materials_database()["wire_insulation"]["plastic_insulation"]["Plenum Polyvinyl Chloride (Plenum PVC)"]
85-
insulation.add_turn_insulation([0.2e-3], dielectric_constant=[turn_insulation_material["dielectric_constant"]], add_turn_insulations=True)
85+
insulation.add_turn_insulation([0.2e-3], dielectric_constant=[turn_insulation_material["dielectric_constant"]])
8686
# This is an air between turns if needed
8787
insulation.add_winding_insulations([[1e-3, 1e-3]], per_layer_of_turns=True)
8888
# Kapton material is added between every layer of turns
8989
layer_insulation = fmt.insulation_materials_database()["film_insulation"]["Kapton"]
90-
insulation.add_insulation_between_layers(add_insulation_material=True, thickness=0.6e-3, dielectric_constant=layer_insulation["dielectric_constant"])
90+
insulation.add_insulation_between_layers(thickness=0.6e-3, dielectric_constant=layer_insulation["dielectric_constant"])
9191
geo.set_insulation(insulation)
9292

9393
# 5. create winding window and virtual winding windows (vww)
@@ -96,7 +96,7 @@ def basic_example_inductor_electrostatic(onelab_folder: str = None, show_visual_
9696

9797
# 6. create conductor and set parameters: use solid wires
9898
winding = fmt.Conductor(0, fmt.Conductivity.Copper, winding_material_temperature=45)
99-
winding.set_solid_round_conductor(conductor_radius=1.1506e-3, conductor_arrangement=fmt.ConductorArrangement.Square)
99+
winding.set_solid_round_conductor(conductor_radius=1.1506e-3, conductor_arrangement=fmt.ConductorArrangement.Hexagonal)
100100
winding.parallel = False # set True to make the windings parallel, currently only for solid conductors
101101
# 7. add conductor to vww and add winding window to MagneticComponent
102102
vww.set_winding(winding, 7, None, fmt.Align.ToEdges, placing_strategy=fmt.ConductorDistribution.VerticalUpward_HorizontalRightward,

femmt/examples/basic_inductor_excitation_sweep.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,6 @@ def basic_example_inductor_excitation_sweep(onelab_folder: str = None, show_visu
8080
insulation = fmt.Insulation()
8181
insulation.add_core_insulations(0.001, 0.001, 0.004, 0.001)
8282
insulation.add_winding_insulations([[0.0005]], per_layer_of_turns=False)
83-
insulation.add_turn_insulation([0.25e-5], add_turn_insulations=False)
84-
insulation.add_insulation_between_layers(add_insulation_material=False, thickness=0.0005)
8583
geo.set_insulation(insulation)
8684

8785
# 5. create winding window and virtual winding windows (vww)

femmt/examples/basic_split_windings.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,6 @@ def setup_simulation(working_directory, horizontal_split_factors, vertical_split
7474
[iso_against, iso_against, iso_against, iso_against, iso_self, iso_against, iso_against],
7575
[iso_against, iso_against, iso_against, iso_against, iso_against, iso_self, iso_against],
7676
[iso_against, iso_against, iso_against, iso_against, iso_against, iso_against, iso_self]], per_layer_of_turns=False)
77-
insulation.add_turn_insulation([0.25e-5, 0.25e-5, 0.25e-5, 0.25e-5, 0.25e-5, 0.25e-5, 0.25e-5], add_turn_insulations=False)
78-
insulation.add_insulation_between_layers(add_insulation_material=False, thickness=0.0001)
7977
geo.set_insulation(insulation)
8078

8179
winding_window = fmt.WindingWindow(core, insulation)

femmt/examples/basic_transformer.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,8 @@ def example_thermal_simulation(show_thermal_visual_outputs: bool = True, flag_in
126126
# 4. set insulation
127127
insulation = fmt.Insulation(flag_insulation=True)
128128
insulation.add_core_insulations(0.001, 0.001, 0.002, 0.001)
129-
insulation.add_turn_insulation([0.25e-5, 0.25e-5], add_turn_insulations=False)
130129
insulation.add_winding_insulations([[0.0002, 0.001],
131130
[0.001, 0.0002]], per_layer_of_turns=False)
132-
insulation.add_insulation_between_layers(add_insulation_material=False, thickness=0.0002)
133131
geo.set_insulation(insulation)
134132

135133
# 5. create winding window and virtual winding windows (vww)

femmt/examples/basic_transformer_5_windings.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,6 @@ def example_thermal_simulation(show_thermal_visual_outputs: bool = True, flag_in
139139
[iso_against, iso_against, iso_self, iso_against, iso_against],
140140
[iso_against, iso_against, iso_self, iso_against, iso_against],
141141
[iso_against, iso_against, iso_against, iso_against, iso_self]], per_layer_of_turns=False)
142-
insulation.add_turn_insulation([0.25e-5, 0.25e-5, 0.25e-5, 0.25e-5, 0.25e-5, 0.25e-5], add_turn_insulations=False)
143-
insulation.add_insulation_between_layers(add_insulation_material=False, thickness=0.0001)
144142
geo.set_insulation(insulation)
145143

146144
# 5. create winding window and virtual winding windows (vww)

0 commit comments

Comments
 (0)