From b2aefc13a0362635c73505af80dc76b102f386ad Mon Sep 17 00:00:00 2001 From: Alyona Teyber Date: Mon, 27 Sep 2021 15:25:20 -0700 Subject: [PATCH] Fix to the powerflow/init.cpp to support units (#1012) * Fix to the init.cpp to support units * Updating the unit definitions for powerflow globals --- module/powerflow/init.cpp | 26 +++++++++++++------------- module/powerflow/powerflow.h | 2 +- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/module/powerflow/init.cpp b/module/powerflow/init.cpp index 00884bb80..d78ab0782 100644 --- a/module/powerflow/init.cpp +++ b/module/powerflow/init.cpp @@ -15,18 +15,18 @@ EXPORT CLASS *init(CALLBACKS *fntable, MODULE *module, int argc, char *argv[]) /* exported globals */ gl_global_create("powerflow::show_matrix_values",PT_bool,&show_matrix_values,NULL); - gl_global_create("powerflow::primary_voltage_ratio",PT_double,&primary_voltage_ratio,NULL); - gl_global_create("powerflow::nominal_frequency",PT_double,&nominal_frequency,NULL); + gl_global_create("powerflow::primary_voltage_ratio[pu]",PT_double,&primary_voltage_ratio,NULL); + gl_global_create("powerflow::nominal_frequency[Hz]",PT_double,&nominal_frequency,NULL); gl_global_create("powerflow::require_voltage_control", PT_bool,&require_voltage_control,NULL); gl_global_create("powerflow::geographic_degree",PT_double,&geographic_degree,NULL); - gl_global_create("powerflow::fault_impedance",PT_complex,&fault_Z,NULL); - gl_global_create("powerflow::ground_impedance",PT_complex,&ground_Z,NULL); - gl_global_create("powerflow::warning_underfrequency",PT_double,&warning_underfrequency,NULL); - gl_global_create("powerflow::warning_overfrequency",PT_double,&warning_overfrequency,NULL); - gl_global_create("powerflow::warning_undervoltage",PT_double,&warning_undervoltage,NULL); - gl_global_create("powerflow::warning_overvoltage",PT_double,&warning_overvoltage,NULL); + gl_global_create("powerflow::fault_impedance[Ohm]",PT_complex,&fault_Z,NULL); + gl_global_create("powerflow::ground_impedance[Ohm]",PT_complex,&ground_Z,NULL); + gl_global_create("powerflow::warning_underfrequency[Hz]",PT_double,&warning_underfrequency,NULL); + gl_global_create("powerflow::warning_overfrequency[Hz]",PT_double,&warning_overfrequency,NULL); + gl_global_create("powerflow::warning_undervoltage[V]",PT_double,&warning_undervoltage,NULL); + gl_global_create("powerflow::warning_overvoltage[V]",PT_double,&warning_overvoltage,NULL); gl_global_create("powerflow::warning_voltageangle",PT_double,&warning_voltageangle,NULL); - gl_global_create("powerflow::maximum_voltage_error",PT_double,&default_maximum_voltage_error,NULL); + gl_global_create("powerflow::maximum_voltage_error[V]",PT_double,&default_maximum_voltage_error,NULL); gl_global_create("powerflow::solver_method",PT_enumeration,&solver_method, PT_KEYWORD,"FBS",SM_FBS, PT_KEYWORD,"GS",SM_GS, @@ -46,8 +46,8 @@ EXPORT CLASS *init(CALLBACKS *fntable, MODULE *module, int argc, char *argv[]) gl_global_create("powerflow::NR_iteration_limit",PT_int64,&NR_iteration_limit,NULL); gl_global_create("powerflow::NR_deltamode_iteration_limit",PT_int64,&NR_delta_iteration_limit,NULL); gl_global_create("powerflow::NR_superLU_procs",PT_int32,&NR_superLU_procs,NULL); - gl_global_create("powerflow::default_maximum_voltage_error",PT_double,&default_maximum_voltage_error,NULL); - gl_global_create("powerflow::default_maximum_power_error",PT_double,&default_maximum_power_error,NULL); + gl_global_create("powerflow::default_maximum_voltage_error[pu]",PT_double,&default_maximum_voltage_error,NULL); + gl_global_create("powerflow::default_maximum_power_error[pu]",PT_double,&default_maximum_power_error,NULL); gl_global_create("powerflow::NR_admit_change",PT_bool,&NR_admit_change,NULL); gl_global_create("powerflow::enable_subsecond_models", PT_bool, &enable_subsecond_models,PT_DESCRIPTION,"Enable deltamode capabilities within the powerflow module",NULL); gl_global_create("powerflow::all_powerflow_delta", PT_bool, &all_powerflow_delta,PT_DESCRIPTION,"Forces all powerflow objects that are capable to participate in deltamode",NULL); @@ -55,9 +55,9 @@ EXPORT CLASS *init(CALLBACKS *fntable, MODULE *module, int argc, char *argv[]) gl_global_create("powerflow::current_frequency",PT_double,¤t_frequency,PT_UNITS,"Hz",PT_DESCRIPTION,"Current system-level frequency of the powerflow system",NULL); gl_global_create("powerflow::master_frequency_update",PT_bool,&master_frequency_update,PT_DESCRIPTION,"Tracking variable to see if an object has become the system frequency updater",NULL); gl_global_create("powerflow::enable_frequency_dependence",PT_bool,&enable_frequency_dependence,PT_DESCRIPTION,"Flag to enable frequency-based variations in impedance values of lines and loads",NULL); - gl_global_create("powerflow::default_resistance",PT_double,&default_resistance,NULL); + gl_global_create("powerflow::default_resistance[Ohm]",PT_double,&default_resistance,NULL); gl_global_create("powerflow::enable_inrush",PT_bool,&enable_inrush_calculations,PT_DESCRIPTION,"Flag to enable in-rush calculations for lines and transformers in deltamode",NULL); - gl_global_create("powerflow::low_voltage_impedance_level",PT_double,&impedance_conversion_low_pu,PT_DESCRIPTION,"Lower limit of voltage (in per-unit) at which all load types are converted to impedance for in-rush calculations",NULL); + gl_global_create("powerflow::low_voltage_impedance_level[pu]",PT_double,&impedance_conversion_low_pu,PT_DESCRIPTION,"Lower limit of voltage (in per-unit) at which all load types are converted to impedance for in-rush calculations",NULL); gl_global_create("powerflow::enable_mesh_fault_current",PT_bool,&enable_mesh_fault_current,PT_DESCRIPTION,"Flag to enable mesh-based fault current calculations",NULL); gl_global_create("powerflow::convergence_error_handling",PT_enumeration,&convergence_error_handling,PT_DESCRIPTION,"Flag to handle convergence error", PT_KEYWORD,"FATAL",CEH_FATAL, diff --git a/module/powerflow/powerflow.h b/module/powerflow/powerflow.h index d18abd872..5ba841a07 100644 --- a/module/powerflow/powerflow.h +++ b/module/powerflow/powerflow.h @@ -79,7 +79,7 @@ EXTERN int64 NR_delta_iteration_limit INIT(10); /**< Newton-Raphson iteration l EXTERN bool FBS_swing_set INIT(false); /**< Forward-Back Sweep swing assignment variable */ EXTERN bool show_matrix_values INIT(false); /**< flag to enable dumping matrix calculations as they occur */ EXTERN double primary_voltage_ratio INIT(60.0); /**< primary voltage ratio (@todo explain primary_voltage_ratio in powerflow (ticket #131) */ -EXTERN double nominal_frequency INIT(60.0); /**< nomimal operating frequencty */ +EXTERN double nominal_frequency INIT(60.0); /**< nomimal operating frequency */ EXTERN double warning_underfrequency INIT(55.0); /**< frequency below which a warning is posted */ EXTERN double warning_overfrequency INIT(65.0); /**< frequency above which a warning is posted */ EXTERN double warning_undervoltage INIT(0.8); /**< voltage magnitude (per unit) below which a warning is posted */