soft4pes.model.machine.induction_machine#

Induction machine model. The machine operates at a constant electrical angular rotor speed.

Classes#

InductionMachine

Induction machine model operating at a constant electrical angular rotor speed.

Module Contents#

class soft4pes.model.machine.induction_machine.InductionMachine(par, conv, base, psiS_mag_ref, T_ref_init)[source]#

Bases: soft4pes.model.common.system_model.SystemModel

Induction machine model operating at a constant electrical angular rotor speed. The state of the system is the stator current and rotor flux in the alpha-beta frame, i.e., [iS_alpha, iS_beta, psiR_alpha, psiR_beta]^T. The machine is modelled with rotor flux alignment. The system input is the converter three-phase switch position or modulating signal. The initial state of the model is based on the stator flux magnitude reference and torque reference.

Parameters:
  • par (InductionMachineParameters) – Induction machine parameters in p.u.

  • conv (converter object) – Converter object.

  • base (base value object) – Base values.

  • psiS_mag_ref (float) – Stator flux magnitude reference [p.u.].

  • T_ref_init (float) – Initial torque reference [p.u.].

data[source]#

Namespace for storing simulation data.

Type:

SimpleNamespace

par[source]#

Induction machine parameters in p.u.

Type:

InductionMachineParameters

conv[source]#

Converter object.

Type:

converter object

base[source]#

Base values.

Type:

base value object

x#

Current state of the machine [p.u.].

Type:

1 x 4 ndarray of floats

psiR_mag_ref[source]#

Rotor flux magnitude reference [p.u.].

Type:

float

wr#

Electrical angular rotor speed [p.u.].

Type:

float

cont_state_space[source]#

The continuous-time state-space model of the system.

Type:

SimpleNamespace

state_map[source]#

A dictionary mapping states to elements of the state vector.

Type:

dict

set_initial_state(**kwargs)[source]#

Calculates the initial state of the machine based on the torque reference and stator flux magnitude reference.

Parameters:
  • psiS_mag_ref (float) – The stator flux magnitude reference [p.u.].

  • T_ref_init (float) – The initial torque reference [p.u.].

get_steady_state_psir(psiS_mag_ref, T_ref)[source]#

Calculates the steady-state rotor flux and rotor speed.

Parameters:
  • psiS_mag_ref (float) – The stator flux magnitude reference [p.u.].

  • T_ref (float) – The torque reference [p.u.].

Returns:

  • psiR_dq (1 x 2 ndarray) – The steady-state rotor flux in the dq frame [p.u.].

  • wr (float) – The steady-state (electrical angular) rotor speed [p.u.].

calc_stator_current(psiR_dq, T_ref)[source]#

Calculate the steady-state stator current.

Parameters:
  • psiR_dq (1 x 2 ndarray) – The rotor flux in the dq frame [p.u.].

  • T_ref (float) – The torque reference [p.u.].

Returns:

The stator current in the dq frame [p.u.].

Return type:

1 x 2 ndarray

get_continuous_state_space()[source]#

Calculate the continuous-time state-space model of the system.

Returns:

A SimpleNamespace object containing matrices F and G of the continuous-time state-space model.

Return type:

SimpleNamespace

get_next_state(matrices, u_abc, kTs)[source]#

Calculate the next state of the system.

Parameters:
  • u_abc (1 x 3 ndarray of floats) – Converter three-phase switch position or modulating signal.

  • matrices (SimpleNamespace) – A SimpleNamespace object containing the state-space model matrices.

  • kTs (float) – Current discrete time instant [s].

Returns:

The next state of the system.

Return type:

1 x 4 ndarray of floats

get_measurements(kTs)[source]#

Update the measurement data of the system.

Parameters:

kTs (float) – Current discrete time instant [s].

Returns:

A SimpleNamespace object containing the machine torque.

Return type:

SimpleNamespace