Harmony
HARMONic stabilitY assessment of PE-penetrated power systems
Loading...
Searching...
No Matches
MMC.cpp File Reference

Implementation of Modular Multilevel Converter (MMC) state-space and MNA model. More...

#include "MMC.h"
Include dependency graph for MMC.cpp:

Functions

static Eigen::Vector3d makeOperatingInput (double V_dc, double P_dc, bool dc_voltage_control, double V_m, double theta)
 

Detailed Description

Implementation of Modular Multilevel Converter (MMC) state-space and MNA model.

Function Documentation

◆ makeOperatingInput()

static Eigen::Vector3d makeOperatingInput ( double  V_dc,
double  P_dc,
bool  dc_voltage_control,
double  V_m,
double  theta 
)
static

The state vector 'x' in MMC is ordered as follows (from end to start): [iDelta_d, iDelta_q, iSigma_d, iSigma_q, iSigma_z, vCDelta_d, vCDelta_q, vCDelta_Zd, vCDelta_Zq, vCSigma_d, vCSigma_q, vCSigma_z] where:

  • iDelta_d, iDelta_q : AC differential currents (d/q axis)
  • iSigma_d, iSigma_q : Circulating currents (d/q axis)
  • iSigma_z : Zero-sequence circulating current
  • vCDelta_d, vCDelta_q : AC capacitor voltages (d/q axis)
  • vCDelta_Zd, vCDelta_Zq : Zero-sequence capacitor voltages (d/q axis)
  • vCSigma_d, vCSigma_q : Circulating capacitor voltages (d/q axis)
  • vCSigma_z : Zero-sequence circulating capacitor voltage

Additional states (if present) are prepended for controllers, filters, PLL, and delay blocks. The index 'i' is set to (number_of_states - 12) to access the main MMC states above. Controller/filter/PLL/delay states are accessed at lower indices (i.e., x[0] ... x[i-1]).

Referenced by MMC::computeABCD(), MMC::computeABCD_analytical(), and MMC::solveEquilibrium().