Skip to content

n winding transformer #52

@Aniketsingh17

Description

@Aniketsingh17

Describe the bug
The n winding transformer with split window, the geometry drawing is created but the FEM simulation gives error.

To Reproduce

i have attached the code

import femmt as fmt
import os

example_results_folder = os.path.join(os.path.dirname(file), "example_results")
if not os.path.exists(example_results_folder):
os.mkdir(example_results_folder)

Example for a transformer with multiple virtual winding windows.

working_directory = os.path.join(example_results_folder, "n-horizontal-split")
if not os.path.exists(working_directory):
os.mkdir(working_directory)

1. chose simulation type

geo = fmt.MagneticComponent(component_type=fmt.ComponentType.Transformer, working_directory=working_directory,
silent=False)

2. set core parameters

core_dimensions = fmt.dtos.SingleCoreDimensions(window_h=16.1e-3, window_w=(22.5-12)/2*1e-3, core_inner_diameter=12e-3)
core = fmt.Core(core_dimensions=core_dimensions, material="N95", temperature=60, frequency=100000,
# permeability_datasource="manufacturer_datasheet",
permeability_datasource=fmt.MaterialDataSource.Measurement,
permeability_datatype=fmt.MeasurementDataType.ComplexPermeability,
permeability_measurement_setup="LEA_LK",
permittivity_datasource=fmt.MaterialDataSource.Measurement,
permittivity_datatype=fmt.MeasurementDataType.ComplexPermittivity,
permittivity_measurement_setup="LEA_LK")
geo.set_core(core)

3. set air gap parameters

air_gaps = fmt.AirGaps(fmt.AirGapMethod.Percent, core)
air_gaps.add_air_gap(fmt.AirGapLegPosition.CenterLeg, 0.00016, 50)
geo.set_air_gaps(air_gaps)

4. set insulation

insulation = fmt.Insulation()
insulation.add_core_insulations(0.0008, 0.0008, 0.001, 0)

insulation.add_winding_insulations([0.0002, 0.0002, 0.0002, 0.0002, 0.0002, 0.0002, 0.0002, 0.0002, 0.0002, 0.0002], 0.0005)

iso_self = 0.0001
iso_against = 0.0002
insulation.add_winding_insulations(
[[iso_self, iso_against, iso_against, iso_against],
[iso_against, iso_self, iso_against, iso_against],
[iso_against, iso_against, iso_self, iso_against],
[iso_against, iso_against, iso_against, iso_self]])
geo.set_insulation(insulation)

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

winding_window = fmt.WindingWindow(core, insulation)

cells = winding_window.NHorizontalSplit([1/7, 2/7, 3/7, 4/7, 5/7, 6/7])

cells = winding_window.NHorizontalSplit([0.48, 0.75], vertical_split_factors=[None, 0.5, None])

6. create conductors and set parameters

winding1 = fmt.Conductor(0, fmt.Conductivity.Copper)
winding1.set_litz_round_conductor(0.85e-3 / 2, 40, 0.1e-3 / 2, None, fmt.ConductorArrangement.Square)

winding2 = fmt.Conductor(1, fmt.Conductivity.Copper)
winding2.set_litz_round_conductor(1.1e-3 / 2, 60, 0.1e-3 / 2, None, fmt.ConductorArrangement.Square)

winding3 = fmt.Conductor(2, fmt.Conductivity.Copper)
winding3.set_litz_round_conductor(0.85e-3 / 2, 40, 0.1e-3 / 2, None, fmt.ConductorArrangement.Square)

winding4 = fmt.Conductor(3, fmt.Conductivity.Copper)
winding4.set_litz_round_conductor(0.85e-3 / 2, 40, 0.1e-3 / 2, None, fmt.ConductorArrangement.Square)

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

winding_window = fmt.WindingWindow(core, insulation)

cells = winding_window.NCellsSplit(0, [1/6, 2/6, 3/6, 4/6, 5/6])

7. add conductor to vww and add winding window to MagneticComponent

cells[0].set_winding(winding1, 22, fmt.WindingType.Single)
cells[1].set_winding(winding2, 6, fmt.WindingType.Single)
cells[2].set_winding(winding3, 6, fmt.WindingType.Single)
cells[3].set_winding(winding4, 3, fmt.WindingType.Single)
geo.set_winding_windows([winding_window])

8. start simulation with given frequency, currents and phases

geo.create_model(freq=100000, pre_visualize_geometry=True)
geo.single_simulation(freq=100000, current=[1.625, 6.89, 6.89, 11.5],
phi_deg=[0, 180, 180, 180], show_fem_simulation_results=True)

Expected behavior
A single simulation output log file expected.

Screenshots
If applicable, add screenshots to help explain your problem.
image
image

Desktop (please complete the following information):

  • OS: Windows 11
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions