Modelica.Electrical.Machines.Thermal

Library with models for connecting thermal models

Information


Thermal concept

Each machine model is equipped with a machine-specific conditional thermalPort. If useThermalPort == false, a machine-specific thermal ambient precribing constant temperatures is used inside the machine. If useThermalPort == true, a thermal model or machine-specific thermal ambient prescribing the temperatures has to be connected from outside. On the other hand, all losses are dissipated to this internal or external thermal ambient.

The machine specific thermal connector contains heatPorts for all relevant loss sources of the machine type, although some of the loss sources are not yet implemented; these heatPorts are left unconnceted inside the machine, i.e., the HeatFlowRate is zero, but they have to be connected to a constant temperature source in the internal or external thermal ambient. Simple machine-specific thermal ambients for constant temperatures (useTemperatureInputs == false) or temperatures prescribed via signal inputs (useTemperatureInputs == true) are provided in this package.

Loss sources

Up to now, only Ohmic losses in stator and rotor windings are implemented. They are modeled as linearly temperature dependent rsistors:

   ROperational = RRef * (1 + alphaRef * (TOperational - TRef))
Parameters:

The linear temperature coefficient alpha20 at 20°C = 293.15 K has to be converted to reference temperature TRef:

                        alpha20
  alphaRef = -------------------------------
              1 + alpha20 * (TRef - 293.15)

For this reason, the function convertAlpha is provided. In sub-package Constants linear temperature coefficients at 20°C for commonly used materials are defined.

Backwards compatibilty

Machine specific thermalPorts

Asynchronous induction machine with squirrel cage
Asynchronous induction machine with slipring rotor
Synchronous induction machine with permanent magnets
Synchronous induction machine with electrical excitation
Synchronous induction machine with reluctance rotor
DC machine with permanent magnets
DC machine with electrical (shunt) excitation
DC machine with serial excitation
DC machine with compound excitation (not yet implemented)
Transformers

Extends from Modelica.Icons.Package (Icon for standard packages).

Package Content

NameDescription
LinearTemperatureCoefficient20 Linear temperature coefficient with choices
Modelica.Electrical.Machines.Thermal.Constants Constants Material Constants
Modelica.Electrical.Machines.Thermal.convertAlpha convertAlpha Converts alpha from temperature 1 (default 20 degC) to temperature 2
Modelica.Electrical.Machines.Thermal.convertResistance convertResistance Converts resistance from reference temperature to an actual temperature
Modelica.Electrical.Machines.Thermal.AsynchronousInductionMachines AsynchronousInductionMachines Thermal parts of asynchronous induction machines
Modelica.Electrical.Machines.Thermal.SynchronousInductionMachines SynchronousInductionMachines Thermal parts of synchronous induction machines
Modelica.Electrical.Machines.Thermal.DCMachines DCMachines Thermal parts of DC machines
Modelica.Electrical.Machines.Thermal.ThermalAmbientTransformer ThermalAmbientTransformer Thermal ambient for transformers

Types and constants

  type LinearTemperatureCoefficient20 =
      Modelica.SIunits.LinearTemperatureCoefficient 
  "Linear temperature coefficient with choices";


Modelica.Electrical.Machines.Thermal.convertAlpha Modelica.Electrical.Machines.Thermal.convertAlpha

Converts alpha from temperature 1 (default 20 degC) to temperature 2

Information


From the temperature coefficient alpha1 at temperature T1 (default 20 degC = 293.15 K) the temperature coefficient alpha2 at temperature T2 is calculated:

                alpha1
  alpha2 = ------------------------
            1 + alpha1 * (T2 - T1)

Extends from Modelica.Icons.Function (Icon for functions).

Inputs

TypeNameDefaultDescription
LinearTemperatureCoefficientalpha1 Temperature coefficient at temperature 1 (default: 20 degC) [1/K]
TemperatureT2 Temperature 2 [K]
TemperatureT1293.15Temperature 1 (default: 20 degC) [K]

Outputs

TypeNameDescription
LinearTemperatureCoefficientalpha2Temperature coefficient at TRef [1/K]

Modelica definition

function convertAlpha 
  "Converts alpha from temperature 1 (default 20 degC) to temperature 2"
  extends Modelica.Icons.Function;
  input Modelica.SIunits.LinearTemperatureCoefficient alpha1 
    "Temperature coefficient at temperature 1 (default: 20 degC)";
  input Modelica.SIunits.Temperature T2 "Temperature 2";
  input Modelica.SIunits.Temperature T1=293.15 
    "Temperature 1 (default: 20 degC)";
  output Modelica.SIunits.LinearTemperatureCoefficient alpha2 
    "Temperature coefficient at TRef";
algorithm 
  alpha2 :=  alpha1 / (1 + alpha1*(T2 - T1));
end convertAlpha;

Modelica.Electrical.Machines.Thermal.convertResistance Modelica.Electrical.Machines.Thermal.convertResistance

Converts resistance from reference temperature to an actual temperature

Information


From the temperature coefficient alpha20 at 20 degC (equals to 293.15 K) the parameter alphaRef at TRef

                        alpha20
  alphaRef = -------------------------------
              1 + alpha20 * (TRef - 293.15)

is determined; using this value, actual resistance R with respect to the actual temperature T is calculated by

   R
  ------ = 1 + alphaRef * (T - TRef)
   RRef

where RRef is the resistance at the reference temperature TRef.

Extends from Modelica.Icons.Function (Icon for functions).

Inputs

TypeNameDefaultDescription
ResistanceRRef Resistance at TRef [Ohm]
TemperatureTRef Reference temperature [K]
LinearTemperatureCoefficientalpha20 Temperature coefficient at 20 degC [1/K]
TemperatureT Actual temperature [K]

Outputs

TypeNameDescription
ResistanceRActual resistance at T [Ohm]

Modelica definition

function convertResistance 
  "Converts resistance from reference temperature to an actual temperature"
  extends Modelica.Icons.Function;
  input Modelica.SIunits.Resistance RRef "Resistance at TRef";
  input Modelica.SIunits.Temperature TRef "Reference temperature";
  input Modelica.SIunits.LinearTemperatureCoefficient alpha20 
    "Temperature coefficient at 20 degC";
  input Modelica.SIunits.Temperature T "Actual temperature";
  output Modelica.SIunits.Resistance R "Actual resistance at T";
algorithm 
  R :=  RRef * (1 + Machines.Thermal.convertAlpha(alpha20, TRef)*(T - TRef));
end convertResistance;

Modelica.Electrical.Machines.Thermal.ThermalAmbientTransformer Modelica.Electrical.Machines.Thermal.ThermalAmbientTransformer

Thermal ambient for transformers

Modelica.Electrical.Machines.Thermal.ThermalAmbientTransformer

Information


Thermal ambient for transformers to prescribe winding temperatures either constant or via signal connectors.
Additionally, all losses = heat flows are recorded.

Parameters

TypeNameDefaultDescription
Integerm3Number of phases
BooleanuseTemperatureInputsfalseIf true, temperature inputs are used; else, temperatures are constant
TemperatureT1 Temperature of primary windings [K]
TemperatureT2 Temperature of secondary windings [K]

Connectors

TypeNameDescription
ThermalPortTransformerthermalPort 
input RealInputTPrimaryTemperature of primary windings
input RealInputTSecondaryTemperature of secondary windings

Modelica definition

model ThermalAmbientTransformer "Thermal ambient for transformers"
  parameter Integer m(min=1) = 3 "Number of phases";
  parameter Boolean useTemperatureInputs=false 
    "If true, temperature inputs are used; else, temperatures are constant";
  constant Modelica.SIunits.Temperature TDefault=293.15 "Default temperature";
  parameter Modelica.SIunits.Temperature T1(start=TDefault) 
    "Temperature of primary windings";
  parameter Modelica.SIunits.Temperature T2(start=TDefault) 
    "Temperature of secondary windings";
  output Modelica.SIunits.HeatFlowRate Q_flow1 = temperature1.port.Q_flow 
    "Heat flow rate of primary windings";
  output Modelica.SIunits.HeatFlowRate Q_flow2 = temperature2.port.Q_flow 
    "Heat flow rate of secondary windings";
  output Modelica.SIunits.HeatFlowRate Q_flowCore = temperatureCore.port.Q_flow 
    "Heat flow rate of core losses";
  output Modelica.SIunits.HeatFlowRate Q_flowTotal=Q_flow1 + Q_flow2 + Q_flowCore;
  Machines.Interfaces.ThermalPortTransformer thermalPort(final m=m);
  Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature temperature1;
  Modelica.Blocks.Sources.Constant constT1(final k=T1) if  not useTemperatureInputs;
  Modelica.Blocks.Interfaces.RealInput TPrimary if 
                                              useTemperatureInputs 
    "Temperature of primary windings";
  Modelica.Thermal.HeatTransfer.Sources.PrescribedTemperature temperature2;
  Modelica.Blocks.Sources.Constant constT2(final k=T1) if  not useTemperatureInputs;
  Modelica.Blocks.Interfaces.RealInput TSecondary if 
                                              useTemperatureInputs 
    "Temperature of secondary windings";
  Modelica.Thermal.HeatTransfer.Sources.FixedTemperature temperatureCore(final T=
        TDefault);
  Modelica.Thermal.HeatTransfer.Components.ThermalCollector
    thermalCollector1(final m=m);
  Modelica.Thermal.HeatTransfer.Components.ThermalCollector
    thermalCollector2(final m=m);
equation 
  connect(TPrimary, temperature1.T);
  connect(constT1.y, temperature1.T);
  connect(TSecondary, temperature2.T);
  connect(constT2.y, temperature2.T);
  connect(temperatureCore.port, thermalPort.heatPortCore);
  connect(thermalCollector1.port_b, temperature1.port);
  connect(thermalCollector2.port_b, temperature2.port);
  connect(thermalCollector1.port_a, thermalPort.heatPort1);
  connect(thermalCollector2.port_a, thermalPort.heatPort2);
end ThermalAmbientTransformer;

Automatically generated Fri Nov 12 16:29:04 2010.