Summary for: SlotShapeBase < handle & Annotable

Class summary

SlotShapeBase Base class for slot shapes.

Like it’s cousin WindingLayoutBase, a SlotShapeBase class is intended to maximize reusability of custom code. Say you want to implement a slot with a rectangular slot wedge, and fully non-rounded slot-bottom corners, and you want to use the same shape with two different StatorBase stator templates. With a SlotShapeBase subclass, you can.

The intended functionality is as follows. The SlotShapeBase object class creates all the Surfaces associated with the slot: typically the slot-opening (and wedge if any) and the winding layer(s). Furthermore, it creates the Material and Domain objects required for the slot opening. All of the above is added to the parent geometry (e.g. Stator).

All of the above happens in the create_geometry method.

The parent geometry is then only responsible for handling everything outside the slot. To handle the airgap-facing part of the slot opening, the class contains the property airgap_surface_curves and the methods first_airgap_point and last_airgap_point , assuming counter-clockwise orientation in everything.

Typically then, a Surface would be created for the stator core. And, as the slot and the core share a part of the airgap boundary, the reduce method of the core Surface would then be called to remove the slot surfaces of the core.

Initialization: this = SlotShapeClass(parent_geometry) this = SlotShapeClass(parent_geometry, slot_dimensions)

  • slot_dimensions : a structure of some dimensions, overwriting the correspondingly-named dimensions in parent_geometry.dimensions

this = SlotShapeClass(); this.set_parent(parent_geometry, varargin)

Properties

.airgap_surface_curves - curves on the airgap surface, oriented ccw

.SlotShapeBase/all_surfaces is a property.

.SlotShapeBase/dimensions is a property.

.has_opening - Does the slot have a slot opening

this.has_opening is true if the slot shape as a slot opening (either real or all-steel virtual surface), and thus this.airgap_surface_curves is non-empty. If this.has_opening is false, then the slot does not touch the airgap at all, and all its surfaces appear as holes in the parent surface.

.SlotShapeBase/parent_geometry is a property.

Methods

Class methods are listed below. Inherited methods are not included.

.SlotShapeBase Base class for slot shapes.

Like it’s cousin WindingLayoutBase, a SlotShapeBase class is intended to maximize reusability of custom code. Say you want to implement a slot with a rectangular slot wedge, and fully non-rounded slot-bottom corners, and you want to use the same shape with two different StatorBase stator templates. With a SlotShapeBase subclass, you can.

The intended functionality is as follows. The SlotShapeBase object class creates all the Surfaces associated with the slot: typically the slot-opening (and wedge if any) and the winding layer(s). Furthermore, it creates the Material and Domain objects required for the slot opening. All of the above is added to the parent geometry (e.g. Stator).

All of the above happens in the create_geometry method.

The parent geometry is then only responsible for handling everything outside the slot. To handle the airgap-facing part of the slot opening, the class contains the property airgap_surface_curves and the methods first_airgap_point and last_airgap_point , assuming counter-clockwise orientation in everything.

Typically then, a Surface would be created for the stator core. And, as the slot and the core share a part of the airgap boundary, the reduce method of the core Surface would then be called to remove the slot surfaces of the core.

NOTE: It is assumed that no Domains are created for the winding Surfaces . By contrast, these are listed in the winding_window_surfaces property. Normally, the SlotShapeBase object would then by passed on to a WindingLayoutBase class, to handle everything that goes on inside the winding window(s).

NOTE: For now, slot shapes generally work for stators only. Documentation for SlotShapeBase/SlotShapeBase doc SlotShapeBase

.SlotShapeBase/clear_geometry is a function.

clear_geometry(this)

.SlotShapeBase/create_geometry is a function.

obj = SlotShapeBase

.SlotShapeBase/first_airgap_point is a function.

P = first_airgap_point(this)

.initialize Parse characteristic lengths and initialize

dimensions.

.SlotShapeBase/last_airgap_point is a function.

P = last_airgap_point(this)

.set_parent - Set parent geometry.

set_parent(this, parent)

  • set this.dimensions to parent.dimensions
  • call this.initialize()