This package contains basic analog electrical multiphase components.
Name | Description |
---|---|
Star | Star-connection |
Delta | Delta (polygon) connection |
PlugToPin_p | Connect one (positive) Pin to a Plug Connector |
PlugToPin_n | Connect one (negative) Pin to a Plug connector |
Resistor | Ideal linear electrical resistors |
Conductor | Ideal linear electrical conductors |
Capacitor | Ideal linear electrical capacitors |
Inductor | Ideal linear electrical inductors |
SaturatingInductor | Simple model of inductors with saturation |
Transformer | Multiphase Transformer |
VariableResistor | Ideal linear electrical resistors with variable resistance |
VariableConductor | Ideal linear electrical conductors with variable conductance |
VariableCapacitor | Ideal linear electrical capacitors with variable capacitance |
VariableInductor | Ideal linear electrical inductors with variable inductance |
Connects all pins of plug_p to pin_n, thus establishing a so-called star-connection.
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
model Star "Star-connection" parameter Integer m(final min=1) = 3 "number of phases"; Interfaces.PositivePlug plug_p( final m=m); Modelica.Electrical.Analog.Interfaces.NegativePin pin_n; equation for j in 1:m loop connect(plug_p.pin[j],pin_n); end for; end Star;
Connects in a cyclic way plug_n.pin[j] to plug_p.pin[j+1], thus establishing a so-called delta (or polygon) connection when used in parallel to another component.
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
model Delta "Delta (polygon) connection" parameter Integer m(final min=2) = 3 "number of phases"; Interfaces.PositivePlug plug_p( final m=m); Interfaces.NegativePlug plug_n( final m=m); equation for j in 1:m loop if j<m then connect(plug_n.pin[j],plug_p.pin [j+1]); else connect(plug_n.pin[j],plug_p.pin [1]); end if; end for; end Delta;
Connects pin k of plug_p to pin_p, leaving the other pins of plug_p unconnected.
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
k | 1 | phase index |
model PlugToPin_p "Connect one (positive) Pin to a Plug Connector" parameter Integer m(final min=1) = 3 "number of phases"; parameter Integer k( final min=1, final max=m) = 1 "phase index"; Interfaces.PositivePlug plug_p( final m=m); Modelica.Electrical.Analog.Interfaces.PositivePin pin_p; equation pin_p.v = plug_p.pin[k].v; for j in 1:m loop plug_p.pin[j].i = if j == k then -pin_p.i else 0; end for; end PlugToPin_p;
Connects pin k of plug_n to pin_n, leaving the other pins of plug_n unconnected.
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
k | 1 | phase index |
model PlugToPin_n "Connect one (negative) Pin to a Plug connector" parameter Integer m(final min=1) = 3 "number of phases"; parameter Integer k( final min=1, final max=m) = 1 "phase index"; Interfaces.NegativePlug plug_n( final m=m); Modelica.Electrical.Analog.Interfaces.NegativePin pin_n; equation pin_n.v = plug_n.pin[k].v; for j in 1:m loop plug_n.pin[j].i = if j == k then -pin_n.i else 0; end for; end PlugToPin_n;
Contains m resistors (Modelica.Electrical.Analog.Basic.Resistor)
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
R[m] | fill(1, m) | Resistance [Ohm] |
model Resistor "Ideal linear electrical resistors" extends Interfaces.TwoPlug; parameter Modelica.SIunits.Resistance R[ m]=fill(1, m) "Resistance"; Modelica.Electrical.Analog.Basic.Resistor resistor[ m](final R=R); equation connect(resistor.p, plug_p.pin); connect(resistor.n, plug_n.pin); end Resistor;
Contains m conductors (Modelica.Electrical.Analog.Basic.Conductor)
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
G[m] | fill(1, m) | Conductance [Ohm] |
model Conductor "Ideal linear electrical conductors" extends Interfaces.TwoPlug; parameter Modelica.SIunits.Resistance G[ m]=fill(1, m) "Conductance"; Modelica.Electrical.Analog.Basic.Conductor conductor[ m](final G=G); equation connect(plug_p.pin, conductor.p); connect(plug_n.pin, conductor.n); end Conductor;
Contains m capacitors (Modelica.Electrical.Analog.Basic.Capacitor)
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
C[m] | fill(1, m) | Capacitance [F] |
model Capacitor "Ideal linear electrical capacitors" extends Interfaces.TwoPlug; parameter Modelica.SIunits.Capacitance C[ m]=fill(1, m) "Capacitance"; Modelica.Electrical.Analog.Basic.Capacitor capacitor[ m](final C=C); equation connect(capacitor.p, plug_p.pin); connect(capacitor.n, plug_n.pin); end Capacitor;
Contains m inductors (Modelica.Electrical.Analog.Basic.Inductor)
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
L[m] | fill(1, m) | Inductance [H] |
model Inductor "Ideal linear electrical inductors" extends Interfaces.TwoPlug; parameter Modelica.SIunits.Inductance L[ m]=fill(1, m) "Inductance"; Modelica.Electrical.Analog.Basic.Inductor inductor[ m](final L=L); equation connect(inductor.p, plug_p.pin); connect(inductor.n, plug_n.pin); end Inductor;
Contains m saturating inductors (Modelica.Electrical.Analog.Basic.SaturatingInductor)
Attention!!!
Each element of the array of saturatingInductors is only dependent on the current flowing through this element.
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
Inom[m] | fill(1, m) | Nominal current [A] |
Lnom[m] | fill(1, m) | Nominal inductance at Nominal current [H] |
Lzer[m] | {2*Lnom[j] for j in 1:m} | Inductance near current=0 [H] |
Linf[m] | {Lnom[j]/2 for j in 1:m} | Inductance at large currents [H] |
model SaturatingInductor "Simple model of inductors with saturation" extends Interfaces.TwoPlug; parameter Modelica.SIunits.Current Inom[ m]=fill(1,m) "Nominal current"; parameter Modelica.SIunits.Inductance Lnom[ m]=fill(1,m) "Nominal inductance at Nominal current"; parameter Modelica.SIunits.Inductance Lzer[ m]={2*Lnom[j] for j in 1:m} "Inductance near current=0"; parameter Modelica.SIunits.Inductance Linf[ m]={Lnom[j]/2 for j in 1:m} "Inductance at large currents"; Modelica.Electrical.Analog.Basic.SaturatingInductor saturatingInductor[ m]( final Inom=Inom, final Lnom=Lnom, final Lzer=Lzer, final Linf=Linf); equation connect(saturatingInductor.p, plug_p.pin); connect(saturatingInductor.n, plug_n.pin); end SaturatingInductor;
Contains m transformers (Modelica.Electrical.Analog.Basic.Transformer)
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
L1[m] | fill(1, m) | Primary inductance [H] |
L2[m] | fill(1, m) | Secondary inductance [H] |
M[m] | fill(1, m) | Coupling inductance [H] |
model Transformer "Multiphase Transformer" extends Interfaces.FourPlug; parameter Modelica.SIunits.Inductance L1[ m]=fill(1, m) "Primary inductance"; parameter Modelica.SIunits.Inductance L2[ m]=fill(1, m) "Secondary inductance"; parameter Modelica.SIunits.Inductance M[ m]=fill(1, m) "Coupling inductance"; Modelica.Electrical.Analog.Basic.Transformer transformer[ m]( final L1=L1, final L2=L2, final M=M); equation connect(plug_p1.pin, transformer.p1); connect(plug_p2.pin, transformer.p2); connect(plug_n1.pin, transformer.n1); connect(plug_n2.pin, transformer.n2); end Transformer;
Contains m variable resistors (Modelica.Electrical.Analog.Basic.VariableResistor)
Attention!!!
It is recomended that none of the R_Port signals should not cross the zero value.
Otherwise depending on the surrounding circuit the probability of singularities is high.
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
model VariableResistor "Ideal linear electrical resistors with variable resistance" extends Interfaces.TwoPlug; Modelica.Blocks.Interfaces.InPort R_Port( final n=m); Modelica.Electrical.Analog.Basic.VariableResistor variableResistor[ m]; equation variableResistor.R_Port.signal[1]=R_Port.signal; connect(variableResistor.p, plug_p.pin); connect(variableResistor.n, plug_n.pin); end VariableResistor;
Contains m variable conductors (Modelica.Electrical.Analog.Basic.VariableConductor)
Attention!!!
It is recomended that none of the G_Port signals should not cross the zero value.
Otherwise depending on the surrounding circuit the probability of singularities is high.
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
model VariableConductor "Ideal linear electrical conductors with variable conductance" extends Interfaces.TwoPlug; Modelica.Blocks.Interfaces.InPort G_Port( final n=m); Modelica.Electrical.Analog.Basic.VariableConductor variableConductor[ m]; equation variableConductor.G_Port.signal[1]=G_Port.signal; connect(variableConductor.p, plug_p.pin); connect(variableConductor.n, plug_n.pin); end VariableConductor;
Contains m variable capacitors (Modelica.Electrical.Analog.Basic.VariableCapacitor)
It is required that each C_Port.signal ≥ 0, otherwise an
assertion is raised. To avoid a variable index system,
C = Cmin, if 0 ≤ C_Port.signal < Cmin, where
Cmin is a parameter with default value Modelica.Constants.eps.
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
Cmin[m] | fill(Modelica.Constants.eps,... | [F] |
model VariableCapacitor "Ideal linear electrical capacitors with variable capacitance" extends Interfaces.TwoPlug; parameter Modelica.SIunits.Capacitance Cmin[ m]=fill(Modelica.Constants.eps,m); Modelica.Blocks.Interfaces.InPort C_Port( final n=m); Modelica.Electrical.Analog.Basic.VariableCapacitor variableCapacitor[ m](final Cmin = Cmin); equation variableCapacitor.C_Port.signal[1]=C_Port.signal; connect(variableCapacitor.p, plug_p.pin); connect(variableCapacitor.n, plug_n.pin); end VariableCapacitor;
Contains m variable inductors (Modelica.Electrical.Analog.Basic.VariableInductor)
It is required that each L_Port.signal ≥ 0, otherwise an
assertion is raised. To avoid a variable index system,
L = Lmin, if 0 ≤ L_Port.signal < Lmin, where
Lmin is a parameter with default value Modelica.Constants.eps.
Name | Default | Description |
---|---|---|
m | 3 | number of phases |
Lmin[m] | fill(Modelica.Constants.eps,... | [H] |
model VariableInductor "Ideal linear electrical inductors with variable inductance" extends Interfaces.TwoPlug; parameter Modelica.SIunits.Inductance Lmin[ m]=fill(Modelica.Constants.eps,m); Modelica.Blocks.Interfaces.InPort L_Port( final n=m); Modelica.Electrical.Analog.Basic.VariableInductor variableInductor[ m](final Lmin = Lmin); equation variableInductor.L_Port.signal[1]=L_Port.signal; connect(variableInductor.p, plug_p.pin); connect(variableInductor.n, plug_n.pin); end VariableInductor;