Description: "AC system in dqo representation"

- Home > Modelica

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0

AC system in dqo representation

### Information

This package declares the functions that are used to implement the AC three-phase balanced models using the DQ0 representation.

Extends from PartialPhaseSystem (Base package of all phase systems).

### Package Content

Name | Description
--- | ---
j | Rotation(pi/2) of vector around {0,0,1} and projection on North plane
rotate | Rotate a vector of an angle Theta (anti-counterclock)
jj | Vectorized version of j
thetaRel | Return absolute angle of rotating system as offset to thetaRef
thetaRef | Return absolute angle of rotating reference system
phase | Return phase
phaseVoltages | Return phase to neutral voltages
phaseCurrents | Return phase currents
phasePowers | Return phase powers
phasePowers_vi | Return phase powers
systemVoltage | Return system voltage as function of phase voltages
systemCurrent | Return system current as function of phase currents
activePower | Return total power as function of phase powers
Inherited
phaseSystemName="UnspecifiedPhaseSystem" | Name of the phase system represented by the package
n | Number of independent voltage and current components
m | Number of reference angles
Current | Current for connector
Voltage | Voltage for connector
ReferenceAngle | Reference angle for connector
product | Multiply two vectors
divide | Divide two vectors

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0.j

Rotation(pi/2) of vector around {0,0,1} and projection on North plane

### Information

Extends from (Return vector rotated by 90 degrees).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | x[n] |  |

### Outputs

Type | Name | Description
--- | --- | ---
Real | y[n] |

### Modelica definition

redeclare function extends j "Rotation(pi/2) of vector around {0,0,1} and projection on North plane" algorithm y := cat(1, {-x[2], x[1]}, zeros(size(x,1)-2)); end j;

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0.rotate

Rotate a vector of an angle Theta (anti-counterclock)

### Information

Extends from (Rotate a vector of an angle Theta (anti-counterclock)).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | x[n] |  |
Angle | theta |  | [rad]

### Outputs

Type | Name | Description
--- | --- | ---
Real | y[n] |

### Modelica definition

redeclare function extends rotate "Rotate a vector of an angle Theta (anti-counterclock)" algorithm y[1] := cos(theta)*x[1] - sin(theta)*x[2]; y[2] := sin(theta)*x[1] + cos(theta)*x[2]; y[3] := x[3]; end rotate;

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0.jj

Vectorized version of j

### Information

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

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | xx[:, :] |  | array of voltage or current vectors

### Outputs

Type | Name | Description
--- | --- | ---
Real | yy[size(xx, 1), size(xx, 2)] | array of rotated vectors

### Modelica definition

redeclare function jj "Vectorized version of j" extends Modelica.Icons.Function; input Real[:,:] xx "array of voltage or current vectors"; output Real[size(xx,1),size(xx,2)] yy "array of rotated vectors"; algorithm yy := cat(1, {-xx[2,:], xx[1,:]}, zeros(size(xx,1)-2, size(xx,2))); end jj;

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0.thetaRel

Return absolute angle of rotating system as offset to thetaRef

### Information

Extends from (Return absolute angle of rotating system as offset to thetaRef).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Angle | theta[m] |  | [rad]

### Outputs

Type | Name | Description
--- | --- | ---
Angle | thetaRel | [rad]

### Modelica definition

redeclare function extends thetaRel "Return absolute angle of rotating system as offset to thetaRef" algorithm thetaRel := theta[1]; end thetaRel;

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0.thetaRef

Return absolute angle of rotating reference system

### Information

Extends from (Return absolute angle of rotating reference system).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Angle | theta[m] |  | [rad]

### Outputs

Type | Name | Description
--- | --- | ---
Angle | thetaRef | [rad]

### Modelica definition

redeclare function extends thetaRef "Return absolute angle of rotating reference system" algorithm thetaRef := theta[2]; end thetaRef;

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0.phase

Return phase

### Information

Extends from (Return phase).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Real | x[n] |  |

### Outputs

Type | Name | Description
--- | --- | ---
Angle | phase | [rad]

### Modelica definition

redeclare function extends phase "Return phase" algorithm phase := atan2(x[2], x[1]); end phase;

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0.phaseVoltages

Return phase to neutral voltages

### Information

Extends from (Return phase to neutral voltages).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Voltage | V |  | system voltage [V]
Angle | phi | 0 | phase angle [rad]

### Outputs

Type | Name | Description
--- | --- | ---
Voltage | v[n] | phase to neutral voltages [V]

### Modelica definition

redeclare function extends phaseVoltages "Return phase to neutral voltages" protected Voltage neutral_v = 0; algorithm v := {V*cos(phi), V*sin(phi), sqrt(3)*neutral_v}/sqrt(3); end phaseVoltages;

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0.phaseCurrents

Return phase currents

### Information

Extends from (Return phase currents).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Current | I |  | system current [A]
Angle | phi | 0 | phase angle [rad]

### Outputs

Type | Name | Description
--- | --- | ---
Current | i[n] | phase currents [A]

### Modelica definition

redeclare function extends phaseCurrents "Return phase currents" algorithm i := {I*cos(phi), I*sin(phi), 0}; end phaseCurrents;

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0.phasePowers

Return phase powers

### Information

Extends from (Return phase powers).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
ActivePower | P |  | active system power [W]
Angle | phi | 0 | phase angle [rad]

### Outputs

Type | Name | Description
--- | --- | ---
Power | p[n] | phase powers [W]

### Modelica definition

redeclare function extends phasePowers "Return phase powers" algorithm p := {P, P*tan(phi), 0}; end phasePowers;

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0.phasePowers_vi

Return phase powers

### Information

Extends from (Return phase powers).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Voltage | v[n] |  | phase voltages [V]
Current | i[n] |  | phase currents [A]

### Outputs

Type | Name | Description
--- | --- | ---
Power | p[n] | phase powers [W]

### Modelica definition

redeclare function extends phasePowers_vi "Return phase powers" algorithm p := {v[1:2]*i[1:2], -j(v[1:2])*i[1:2], v[3]*i[3]}; end phasePowers_vi;

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0.systemVoltage

Return system voltage as function of phase voltages

### Information

Extends from (Return system voltage as function of phase voltages).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Voltage | v[n] |  | [V]

### Outputs

Type | Name | Description
--- | --- | ---
Voltage | V | [V]

### Modelica definition

redeclare function extends systemVoltage "Return system voltage as function of phase voltages" algorithm V := Modelica.Fluid.Utilities.regRoot(v*v, delta= 1e-5); end systemVoltage;

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0.systemCurrent

Return system current as function of phase currents

### Information

Extends from (Return system current as function of phase currents).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Current | i[n] |  | [A]

### Outputs

Type | Name | Description
--- | --- | ---
Current | I | [A]

### Modelica definition

redeclare function extends systemCurrent "Return system current as function of phase currents" algorithm I := Modelica.Fluid.Utilities.regRoot(i*i, delta= 1e-5); end systemCurrent;

## Buildings.Electrical.PhaseSystems.ThreePhase_dq0.activePower

Return total power as function of phase powers

### Information

Extends from (Return total power as function of phase powers).

### Inputs

Type | Name | Default | Description
--- | --- | --- | ---
Voltage | v[n] |  | phase voltages [V]
Current | i[n] |  | phase currents [A]

### Outputs

Type | Name | Description
--- | --- | ---
ActivePower | P | active system power [W]

### Modelica definition

redeclare function extends activePower "Return total power as function of phase powers" algorithm P := v[1]*i[1]; end activePower;