Harmony
HARMONic stabilitY assessment of PE-penetrated power systems
Loading...
Searching...
No Matches
CertificateSpec Struct Reference

Frequency-domain certificate evaluation settings. More...

#include <Certificate_spec.h>

Collaboration diagram for CertificateSpec:

Public Attributes

double f_min_Hz = 1.0
 
double f_max_Hz = 1000.0
 
int n_points = 80
 
bool ac_dq_block = true
 Use 2×2 AC dq block of MMC Y when available.
 
double phase_limit_deg = 90.0
 Max |arg| allowed (deg) for eigen / NR phase.
 
double passivity_eps = 0.0
 Require λ_min(Her Y) ≥ eps (excess passivity).
 
double shift_delta = 0.0
 Shifted passivity: test Her(Y + δ I).
 
bool require_passivity = true
 
bool require_phase = true
 Eigenphase |arg λ(Y)| gate (heuristic).
 
bool require_shifted = false
 Also enforce shifted passivity when δ ≠ 0.
 
bool require_nr_phase = false
 Numerical-range small-phase (proper phase cert).
 
bool require_nr_zero_outside = false
 Require 0 ∉ W(Y).
 
bool require_small_gain = false
 Require σ_max(Y) ≤ gain_limit.
 
bool require_dw = false
 Require NR phase + 0∉W + (optional) small-gain.
 
bool require_sector = false
 Loop-shifted sector [sector_alpha, sector_beta].
 
double gain_limit = 1.0
 Small-gain threshold on σ_max(Y).
 
double sector_alpha = -1.0
 Sector lower bound (loop shift).
 
double sector_beta = 1.0
 Sector upper bound (loop shift).
 
int nr_theta = 120
 Angular samples for ∂W(Y) / DW shell.
 
int dw_sphere = 16
 Extra C^2 sphere density for DW fill.
 
std::string label = "device"
 

Detailed Description

Frequency-domain certificate evaluation settings.

Member Data Documentation

◆ ac_dq_block

bool CertificateSpec::ac_dq_block = true

Use 2×2 AC dq block of MMC Y when available.

Referenced by example_certificate_figures(), sweepDeviceCertificate(), and sweepDeviceCertificate().

◆ dw_sphere

int CertificateSpec::dw_sphere = 16

Extra C^2 sphere density for DW fill.

Referenced by plot_certificate_dw_shell().

◆ f_max_Hz

◆ f_min_Hz

◆ gain_limit

double CertificateSpec::gain_limit = 1.0

Small-gain threshold on σ_max(Y).

Referenced by finalizeCertificateSweep(), and plot_certificate_dw_shell().

◆ label

std::string CertificateSpec::label = "device"

Referenced by evaluateDeviceGate().

◆ n_points

◆ nr_theta

int CertificateSpec::nr_theta = 120

Angular samples for ∂W(Y) / DW shell.

Referenced by plot_certificate_dw_shell().

◆ passivity_eps

double CertificateSpec::passivity_eps = 0.0

Require λ_min(Her Y) ≥ eps (excess passivity).

Referenced by finalizeCertificateSweep(), and plot_certificate_dw_shell().

◆ phase_limit_deg

double CertificateSpec::phase_limit_deg = 90.0

Max |arg| allowed (deg) for eigen / NR phase.

Referenced by example_certificate_figures(), finalizeCertificateSweep(), plot_certificate_dw_shell(), and sweepDeviceCertificate().

◆ require_dw

bool CertificateSpec::require_dw = false

Require NR phase + 0∉W + (optional) small-gain.

Referenced by evaluateDeviceGate(), and sweepPassesSpec().

◆ require_nr_phase

bool CertificateSpec::require_nr_phase = false

Numerical-range small-phase (proper phase cert).

Referenced by evaluateDeviceGate(), and sweepPassesSpec().

◆ require_nr_zero_outside

bool CertificateSpec::require_nr_zero_outside = false

Require 0 ∉ W(Y).

Referenced by evaluateDeviceGate(), and sweepPassesSpec().

◆ require_passivity

bool CertificateSpec::require_passivity = true

◆ require_phase

bool CertificateSpec::require_phase = true

Eigenphase |arg λ(Y)| gate (heuristic).

Referenced by compareLocalVsSystem(), evaluateDeviceGate(), example_certificate_figures(), and sweepPassesSpec().

◆ require_sector

bool CertificateSpec::require_sector = false

Loop-shifted sector [sector_alpha, sector_beta].

Referenced by evaluateDeviceGate(), and sweepPassesSpec().

◆ require_shifted

bool CertificateSpec::require_shifted = false

Also enforce shifted passivity when δ ≠ 0.

Referenced by evaluateDeviceGate(), and sweepPassesSpec().

◆ require_small_gain

bool CertificateSpec::require_small_gain = false

Require σ_max(Y) ≤ gain_limit.

Referenced by evaluateDeviceGate(), and sweepPassesSpec().

◆ sector_alpha

double CertificateSpec::sector_alpha = -1.0

Sector lower bound (loop shift).

◆ sector_beta

double CertificateSpec::sector_beta = 1.0

Sector upper bound (loop shift).

◆ shift_delta

double CertificateSpec::shift_delta = 0.0

Shifted passivity: test Her(Y + δ I).

Referenced by finalizeCertificateSweep().


The documentation for this struct was generated from the following file: