Class LoadFortescuePowerEquationTerm

All Implemented Interfaces:
EquationTerm<AcVariableType,AcEquationType>, Evaluable

public class LoadFortescuePowerEquationTerm extends AbstractElementEquationTerm<LfBus,AcVariableType,AcEquationType>
Author:
Jean-Baptiste Heyberger <jbheyberger at gmail.com>
  • Field Details

  • Constructor Details

  • Method Details

    • ph

      public double ph(Fortescue.SequenceType g)
    • v

      public double v(Fortescue.SequenceType g)
    • pq

      public static double pq(LfBus bus, ComplexPart complexPart, Fortescue.SequenceType sequenceType, double vZero, double phZero, double vPositive, double phPositive, double vNegative, double phNegative)
      We use the formula with complex matrices: [So] [Vo 0 0] [1/Va 0 0] [Sa] [Sd] = [0 Vd 0]. 1/3 . [F] . [0 1/Vb 0] . [Sb] [Si] [0 0 Vi] [0 0 1/Vc] [Sc] <------------------------------> term (Ifortescue)* <-------------------------------------------> term Sfortescue
    • dpq

      public static double dpq(LfBus bus, ComplexPart complexPart, Fortescue.SequenceType sequenceType, Variable<AcVariableType> derVariable, double vo, double pho, double vd, double phd, double vi, double phi)
      We derivate the PQ formula with complex matrices: [So] [dVo/dx 0 0] [1/Va 0 0] [Sa] [Vo 0 0] [Sa 0 0] [1/Va 0 0] [1/Va 0 0] [dV0/dx] d( [Sd] )/dx = 1/3 . [0 dVd/dx 0] . [F] . [0 1/Vb 0] . [Sb] + [0 Vd 0] . [F] .(-1/3). [0 Sb 0] . [0 1/Vb 0] . [0 1/Vb 0] . [F] . [dVd/dx] [Si] [0 0 dVi/dx] [0 0 1/Vc] [Sc] [0 0 Vi] [0 0 Sc] [0 0 1/Vc] [0 0 1/Vc] [dVi/dx] <--------------------------------------------> <-----------------------------------------------------------------------> term T1 term (dIfortescue)* <-----------------------------------------------------------------------------------> term T2
    • eval

      public double eval()
      Description copied from interface: EquationTerm
      Evaluate equation term.
      Returns:
      value of the equation term
    • der

      public double der(Variable<AcVariableType> variable)
      Description copied from interface: EquationTerm
      Get partial derivative.
      Parameters:
      variable - the variable the partial derivative is with respect to
      Returns:
      value of the partial derivative
    • getName

      public String getName()
      Specified by:
      getName in class AbstractNamedEquationTerm<AcVariableType,AcEquationType>
    • getVariables

      public List<Variable<AcVariableType>> getVariables()
      Description copied from interface: EquationTerm
      Get the list of variable this equation term depends on.
      Returns:
      the list of variable this equation term depends on.
    • createInvVabcSquare

      public static com.powsybl.math.matrix.DenseMatrix createInvVabcSquare(LfBus bus, double vAx, double vAy, double vBx, double vBy, double vCx, double vCy)
    • createCartesianMatrix

      public static com.powsybl.math.matrix.DenseMatrix createCartesianMatrix(double m1x, double m1y, double m2x, double m2y, double m3x, double m3y, boolean isVector)
      if this is a vector we build: m = [m1x;m1y;m2x;m2y;m3x;m3y] equivalent in complex to [m1;m2;m3] if not, this is a 6x6 square matrix expected: [m1x -m1y 0 0 0 0 ] [m1y m1x 0 0 0 0 ] [ 0 0 m2x -m2y 0 0 ] [m1 0 0] m = [ 0 0 m2y m2x 0 0 ] equivalent in complex to [ 0 m2 0] [ 0 0 0 0 m3x -m3y] [ 0 0 m3] [ 0 0 0 0 m3y m3x]