Skip to content

Commit

Permalink
add initial PV relay and vrt models. move supported sg and wtg models…
Browse files Browse the repository at this point in the history
… from all_supported_models.h
  • Loading branch information
changgang committed Mar 4, 2024
1 parent 3fef4e1 commit 9475378
Show file tree
Hide file tree
Showing 23 changed files with 501 additions and 104 deletions.
19 changes: 14 additions & 5 deletions code/steps/STEPS.cbp
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,11 @@
<Unit filename="header/model/pvu_models/pv_panel_model/pv_panel_models.h" />
<Unit filename="header/model/pvu_models/pv_panel_model/pvp0.h" />
<Unit filename="header/model/pvu_models/pv_panel_model/pvp0_test.h" />
<Unit filename="header/model/pvu_models/pv_relay_model/pv_relay_model.h" />
<Unit filename="header/model/pvu_models/pv_relay_model/pv_relay_model_test.h" />
<Unit filename="header/model/pvu_models/pv_relay_model/pv_relay_models.h" />
<Unit filename="header/model/pvu_models/pv_vrt_model/pv_vrt_model.h" />
<Unit filename="header/model/pvu_models/pv_vrt_model/pv_vrt_models.h" />
<Unit filename="header/model/pvu_models/pvu_model.h" />
<Unit filename="header/model/pvu_models/pvu_model_test.h" />
<Unit filename="header/model/sg_models/compensator_model/COMP.h" />
Expand Down Expand Up @@ -311,6 +316,7 @@
<Unit filename="header/model/sg_models/stabilizer_model/stabilizer_model.h" />
<Unit filename="header/model/sg_models/stabilizer_model/stabilizer_model_test.h" />
<Unit filename="header/model/sg_models/stabilizer_model/stabilizer_models.h" />
<Unit filename="header/model/sg_models/supported_sg_models.h" />
<Unit filename="header/model/sg_models/sync_generator_model/gencls.h" />
<Unit filename="header/model/sg_models/sync_generator_model/gencls_test.h" />
<Unit filename="header/model/sg_models/sync_generator_model/genrou.h" />
Expand Down Expand Up @@ -356,6 +362,7 @@
<Unit filename="header/model/vsc_hvdc_model/vsc_hvdc_network_model/VSCHVDCP0.h" />
<Unit filename="header/model/vsc_hvdc_model/vsc_hvdc_network_model/vsc_hvdc_network_model.h" />
<Unit filename="header/model/vsc_hvdc_model/vsc_hvdc_network_model/vsc_hvdc_network_models.h" />
<Unit filename="header/model/wtg_models/supported_wtg_models.h" />
<Unit filename="header/model/wtg_models/wind_speed_model/filewind.h" />
<Unit filename="header/model/wtg_models/wind_speed_model/filewind_test.h" />
<Unit filename="header/model/wtg_models/wind_speed_model/wind_speed_model.h" />
Expand Down Expand Up @@ -408,9 +415,9 @@
<Unit filename="header/model/wtg_models/wt_turbine_model/wt_turbine_model.h" />
<Unit filename="header/model/wtg_models/wt_turbine_model/wt_turbine_model_test.h" />
<Unit filename="header/model/wtg_models/wt_turbine_model/wt_turbine_models.h" />
<Unit filename="header/model/wtg_models/wt_voltage_ride_through_model/wt_voltage_ride_through_model.h" />
<Unit filename="header/model/wtg_models/wt_voltage_ride_through_model/wt_voltage_ride_through_models.h" />
<Unit filename="header/model/wtg_models/wt_voltage_ride_through_model/wtvrt3.h" />
<Unit filename="header/model/wtg_models/wt_vrt_model/wt_vrt_model.h" />
<Unit filename="header/model/wtg_models/wt_vrt_model/wt_vrt_models.h" />
<Unit filename="header/model/wtg_models/wt_vrt_model/wtvrt3.h" />
<Unit filename="header/model/wtg_models/wtg_model.h" />
<Unit filename="header/model/wtg_models/wtg_model_test.h" />
<Unit filename="header/network/jacobian_builder.h" />
Expand Down Expand Up @@ -695,6 +702,8 @@
<Unit filename="source/model/pvu_models/pv_panel_model/pv_panel_model_test.cpp" />
<Unit filename="source/model/pvu_models/pv_panel_model/pvp0.cpp" />
<Unit filename="source/model/pvu_models/pv_panel_model/pvp0_test.cpp" />
<Unit filename="source/model/pvu_models/pv_relay_model/pv_relay_model.cpp" />
<Unit filename="source/model/pvu_models/pv_vrt_model/pv_vrt_model.cpp" />
<Unit filename="source/model/pvu_models/pvu_model.cpp" />
<Unit filename="source/model/pvu_models/pvu_model_test.cpp" />
<Unit filename="source/model/sg_models/compensator_model/COMP.cpp" />
Expand Down Expand Up @@ -843,8 +852,8 @@
<Unit filename="source/model/wtg_models/wt_turbine_model/wt3t0_test.cpp" />
<Unit filename="source/model/wtg_models/wt_turbine_model/wt_turbine_model.cpp" />
<Unit filename="source/model/wtg_models/wt_turbine_model/wt_turbine_model_test.cpp" />
<Unit filename="source/model/wtg_models/wt_voltage_ride_through_model/wt_voltage_ride_through_model.cpp" />
<Unit filename="source/model/wtg_models/wt_voltage_ride_through_model/wtvrt3.cpp" />
<Unit filename="source/model/wtg_models/wt_vrt_model/wt_vrt_model.cpp" />
<Unit filename="source/model/wtg_models/wt_vrt_model/wtvrt3.cpp" />
<Unit filename="source/model/wtg_models/wtg_model.cpp" />
<Unit filename="source/model/wtg_models/wtg_model_test.cpp" />
<Unit filename="source/network/jacobian_builder.cpp" />
Expand Down
109 changes: 77 additions & 32 deletions code/steps/STEPS.depend
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@
"header/basic/constants.h"
"header/meter/meter.h"

1709443457 d:\steps\code\steps\header\device\wt_generator.h
1709511959 d:\steps\code\steps\header\device\wt_generator.h
<string>
<complex>
"header/device/source.h"
Expand All @@ -198,7 +198,7 @@
"header/model/wtg_models/wt_turbine_model/wt_turbine_model.h"
"header/model/wtg_models/wt_pitch_model/wt_pitch_model.h"
"header/model/wtg_models/wind_speed_model/wind_speed_model.h"
"header/model/wtg_models/wt_voltage_ride_through_model/wt_voltage_ride_through_model.h"
"header/model/wtg_models/wt_vrt_model/wt_vrt_model.h"
"header/model/wtg_models/wt_relay_model/wt_relay_model.h"

1709445308 d:\steps\code\steps\header\model\wtg_models\wt_generator_model\wt_generator_model.h
Expand Down Expand Up @@ -236,14 +236,16 @@
1634637238 d:\steps\code\steps\header\model\wtg_models\wt_relay_model\wt_relay_model.h
"header/model/wtg_models/wtg_model.h"

1697457172 d:\steps\code\steps\header\device\pv_unit.h
1709519047 d:\steps\code\steps\header\device\pv_unit.h
<string>
<complex>
"header/device/source.h"
"header/model/pvu_models/pv_converter_model/pv_converter_model.h"
"header/model/pvu_models/pv_panel_model/pv_panel_model.h"
"header/model/pvu_models/pv_electrical_model/pv_electrical_model.h"
"header/model/pvu_models/pv_irradiance_model/pv_irradiance_model.h"
"header/model/pvu_models/pv_vrt_model/pv_vrt_model.h"
"header/model/pvu_models/pv_relay_model/pv_relay_model.h"

1634637238 d:\steps\code\steps\header\model\pvu_models\pv_converter_model\pv_converter_model.h
"header/model/pvu_models/pvu_model.h"
Expand Down Expand Up @@ -2151,27 +2153,15 @@
"header/data_imexporter/psse_imexporter.h"
"header/model/all_supported_models.h"

1708527175 d:\steps\code\steps\header\model\all_supported_models.h
"header/model/sg_models/sync_generator_model/sync_generator_models.h"
"header/model/sg_models/compensator_model/compensator_models.h"
"header/model/sg_models/exciter_model/exciter_models.h"
"header/model/sg_models/stabilizer_model/stabilizer_models.h"
"header/model/sg_models/turbine_governor_model/turbine_governor_models.h"
"header/model/sg_models/turbine_load_controller_model/turbine_load_controller_models.h"
1709519722 d:\steps\code\steps\header\model\all_supported_models.h
"header/model/sg_models/supported_sg_models.h"
"header/model/load_model/load_models.h"
"header/model/load_relay_model/load_voltage_relay_models.h"
"header/model/load_relay_model/load_frequency_relay_models.h"
"header/model/hvdc_model/hvdc_models.h"
"header/model/vsc_hvdc_model/vsc_hvdc_network_model/vsc_hvdc_network_models.h"
"header/model/vsc_hvdc_model/vsc_hvdc_converter_model/vsc_hvdc_converter_models.h"
"header/model/wtg_models/wt_generator_model/wt_generator_models.h"
"header/model/wtg_models/wt_aerodynamic_model/wt_aerodynamic_models.h"
"header/model/wtg_models/wt_electrical_model/wt_electrical_models.h"
"header/model/wtg_models/wt_turbine_model/wt_turbine_models.h"
"header/model/wtg_models/wt_pitch_model/wt_pitch_models.h"
"header/model/wtg_models/wind_speed_model/wind_speed_models.h"
"header/model/wtg_models/wt_voltage_ride_through_model/wt_voltage_ride_through_models.h"
"header/model/wtg_models/wt_relay_model/wt_relay_models.h"
"header/model/wtg_models/supported_wtg_models.h"
"header/model/pvu_models/pv_converter_model/pv_converter_models.h"
"header/model/pvu_models/pv_panel_model/pv_panel_models.h"
"header/model/pvu_models/pv_electrical_model/pv_electrical_models.h"
Expand Down Expand Up @@ -3753,14 +3743,10 @@
<istream>
<iostream>

1697457172 source:d:\steps\code\steps\source\device\pv_unit.cpp
1709519251 source:d:\steps\code\steps\source\device\pv_unit.cpp
"header/device/pv_unit.h"
"header/basic/utility.h"
"header/steps_namespace.h"
"header/model/pvu_models/pv_converter_model/pv_converter_models.h"
"header/model/pvu_models/pv_panel_model/pv_panel_models.h"
"header/model/pvu_models/pv_electrical_model/pv_electrical_models.h"
"header/model/pvu_models/pv_irradiance_model/pv_irradiance_models.h"
<istream>
<iostream>

Expand Down Expand Up @@ -3889,18 +3875,11 @@
"header/power_system_database.h"
"header/STEPS.h"

1709443461 source:d:\steps\code\steps\source\device\wt_generator.cpp
1709519283 source:d:\steps\code\steps\source\device\wt_generator.cpp
"header/device/wt_generator.h"
"header/basic/utility.h"
"header/steps_namespace.h"
"header/STEPS.h"
"header/model/wtg_models/wt_generator_model/wt_generator_models.h"
"header/model/wtg_models/wt_aerodynamic_model/wt_aerodynamic_models.h"
"header/model/wtg_models/wt_electrical_model/wt_electrical_models.h"
"header/model/wtg_models/wt_turbine_model/wt_turbine_models.h"
"header/model/wtg_models/wt_pitch_model/wt_pitch_models.h"
"header/model/wtg_models/wind_speed_model/wind_speed_models.h"
"header/model/wtg_models/wt_relay_model/wt_relay_models.h"
<istream>
<iostream>

Expand Down Expand Up @@ -5298,7 +5277,7 @@
"header/model/wtg_models/wt_generator_model/wt3g2.h"
"header/STEPS.h"

1709445620 source:d:\steps\code\steps\source\model\wtg_models\wt_generator_model\wt_generator_model.cpp
1709511959 source:d:\steps\code\steps\source\model\wtg_models\wt_generator_model\wt_generator_model.cpp
"header/model/wtg_models/wt_generator_model/wt_generator_model.h"
"header/basic/utility.h"
"header/basic/constants.h"
Expand Down Expand Up @@ -57080,3 +57059,69 @@
"header/steps_namespace.h"
<iostream>

1709512813 source:d:\steps\code\steps\source\model\pvu_models\pv_relay_model\pv_relay_model.cpp
"header/model/pvu_models/pv_relay_model/pv_relay_model.h"
"header/basic/utility.h"
"header/STEPS.h"
<cstdio>

1709512796 d:\steps\code\steps\header\model\pvu_models\pv_relay_model\pv_relay_model.h
"header/model/pvu_models/pvu_model.h"

1709511959 d:\steps\code\steps\header\model\wtg_models\wt_vrt_model\wt_vrt_model.h
"header/model/wtg_models/wtg_model.h"
<complex>

1709511959 d:\steps\code\steps\header\model\wtg_models\wt_vrt_model\wt_vrt_models.h
"header/model/wtg_models/wt_vrt_model/wtvrt3.h"

1709511959 d:\steps\code\steps\header\model\wtg_models\wt_vrt_model\wtvrt3.h
"header/model/wtg_models/wt_vrt_model/wt_vrt_model.h"
"header/model/converter_common_models/vrt_model/lvrt_control.h"
"header/model/converter_common_models/vrt_model/hvrt_control.h"

1709512773 source:d:\steps\code\steps\source\model\pvu_models\pv_vrt_model\pv_vrt_model.cpp
"header/model/pvu_models/pv_vrt_model/pv_vrt_model.h"
"header/basic/utility.h"
"header/device/pv_unit.h"
"header/power_system_database.h"
"header/STEPS.h"

1709512769 d:\steps\code\steps\header\model\pvu_models\pv_vrt_model\pv_vrt_model.h
"header/model/pvu_models/pvu_model.h"
<complex>

1709511959 source:d:\steps\code\steps\source\model\wtg_models\wt_vrt_model\wt_vrt_model.cpp
"header/model/wtg_models/wt_vrt_model/wt_vrt_model.h"
"header/basic/utility.h"
"header/device/wt_generator.h"
"header/power_system_database.h"
"header/STEPS.h"

1709511959 source:d:\steps\code\steps\source\model\wtg_models\wt_vrt_model\wtvrt3.cpp
"header/model/wtg_models/wt_vrt_model/wtvrt3.h"
"header/device/wt_generator.h"
"header/power_system_database.h"
"header/STEPS.h"
"header/basic/utility.h"
"header/steps_namespace.h"
<iostream>

1709519594 d:\steps\code\steps\header\model\wtg_models\supported_wtg_models.h
"header/model/wtg_models/wt_generator_model/wt_generator_models.h"
"header/model/wtg_models/wt_aerodynamic_model/wt_aerodynamic_models.h"
"header/model/wtg_models/wt_electrical_model/wt_electrical_models.h"
"header/model/wtg_models/wt_turbine_model/wt_turbine_models.h"
"header/model/wtg_models/wt_pitch_model/wt_pitch_models.h"
"header/model/wtg_models/wind_speed_model/wind_speed_models.h"
"header/model/wtg_models/wt_vrt_model/wt_vrt_models.h"
"header/model/wtg_models/wt_relay_model/wt_relay_models.h"

1709519699 d:\steps\code\steps\header\model\sg_models\supported_sg_models.h
"header/model/sg_models/sync_generator_model/sync_generator_models.h"
"header/model/sg_models/compensator_model/compensator_models.h"
"header/model/sg_models/exciter_model/exciter_models.h"
"header/model/sg_models/stabilizer_model/stabilizer_models.h"
"header/model/sg_models/turbine_governor_model/turbine_governor_models.h"
"header/model/sg_models/turbine_load_controller_model/turbine_load_controller_models.h"

8 changes: 8 additions & 0 deletions code/steps/header/device/pv_unit.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
#include "header/model/pvu_models/pv_panel_model/pv_panel_model.h"
#include "header/model/pvu_models/pv_electrical_model/pv_electrical_model.h"
#include "header/model/pvu_models/pv_irradiance_model/pv_irradiance_model.h"
#include "header/model/pvu_models/pv_vrt_model/pv_vrt_model.h"
#include "header/model/pvu_models/pv_relay_model/pv_relay_model.h"

using namespace std;

Expand Down Expand Up @@ -36,11 +38,15 @@ class PV_UNIT : public SOURCE
void set_pv_panel_model(PV_PANEL_MODEL* model);
void set_pv_electrical_model(PV_ELECTRICAL_MODEL* model);
void set_pv_irradiance_model(PV_IRRADIANCE_MODEL* model);
void set_pv_vrt_model(PV_VRT_MODEL* model);
void set_pv_relay_model(PV_RELAY_MODEL* model);

PV_CONVERTER_MODEL* get_pv_converter_model() const;
PV_PANEL_MODEL* get_pv_panel_model() const;
PV_ELECTRICAL_MODEL* get_pv_electrical_model() const;
PV_IRRADIANCE_MODEL* get_pv_irradiance_model() const;
PV_VRT_MODEL* get_pv_vrt_model() const;
PV_RELAY_MODEL* get_pv_relay_model() const;

virtual void run(DYNAMIC_MODE mode);
virtual void report() const;
Expand Down Expand Up @@ -86,6 +92,8 @@ class PV_UNIT : public SOURCE
PV_PANEL_MODEL* pv_panel_model;
PV_ELECTRICAL_MODEL* pv_electrical_model;
PV_IRRADIANCE_MODEL* pv_irradiance_model;
PV_VRT_MODEL* pv_vrt_model;
PV_RELAY_MODEL* pv_relay_model;

double R1, X1, R2, X2, R0, X0, Rground, Xground;
bool sequence_parameter_import_flag;
Expand Down
8 changes: 4 additions & 4 deletions code/steps/header/device/wt_generator.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "header/model/wtg_models/wt_turbine_model/wt_turbine_model.h"
#include "header/model/wtg_models/wt_pitch_model/wt_pitch_model.h"
#include "header/model/wtg_models/wind_speed_model/wind_speed_model.h"
#include "header/model/wtg_models/wt_voltage_ride_through_model/wt_voltage_ride_through_model.h"
#include "header/model/wtg_models/wt_vrt_model/wt_vrt_model.h"
#include "header/model/wtg_models/wt_relay_model/wt_relay_model.h"

using namespace std;
Expand Down Expand Up @@ -42,7 +42,7 @@ class WT_GENERATOR : public SOURCE
void set_wt_electrical_model(WT_ELECTRICAL_MODEL* model);
void set_wt_pitch_model(WT_PITCH_MODEL* model);
void set_wind_speed_model(WIND_SPEED_MODEL* model);
void set_wt_voltage_ride_through_model(WT_VOLTAGE_RIDE_THROUGH_MODEL* model);
void set_wt_vrt_model(WT_VRT_MODEL* model);
void set_wt_relay_model(WT_RELAY_MODEL* model);

WT_GENERATOR_MODEL* get_wt_generator_model() const;
Expand All @@ -51,7 +51,7 @@ class WT_GENERATOR : public SOURCE
WT_ELECTRICAL_MODEL* get_wt_electrical_model() const;
WT_PITCH_MODEL* get_wt_pitch_model() const;
WIND_SPEED_MODEL* get_wind_speed_model() const;
WT_VOLTAGE_RIDE_THROUGH_MODEL* get_wt_voltage_ride_through_model() const;
WT_VRT_MODEL* get_wt_vrt_model() const;
WT_RELAY_MODEL* get_wt_relay_model() const;

virtual void run(DYNAMIC_MODE mode);
Expand Down Expand Up @@ -146,7 +146,7 @@ class WT_GENERATOR : public SOURCE
WT_TURBINE_MODEL* wt_turbine_model;
WT_PITCH_MODEL* wt_pitch_model;
WIND_SPEED_MODEL* wind_speed_model;
WT_VOLTAGE_RIDE_THROUGH_MODEL* wt_vrt_model;
WT_VRT_MODEL* wt_vrt_model;
WT_RELAY_MODEL* wt_relay_model;

double R1, X1_sync, X1_transient, X1_subtransient;
Expand Down
16 changes: 2 additions & 14 deletions code/steps/header/model/all_supported_models.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,7 @@
#define ALL_SUPPORTED_MODELS_H


#include "header/model/sg_models/sync_generator_model/sync_generator_models.h"
#include "header/model/sg_models/compensator_model/compensator_models.h"
#include "header/model/sg_models/exciter_model/exciter_models.h"
#include "header/model/sg_models/stabilizer_model/stabilizer_models.h"
#include "header/model/sg_models/turbine_governor_model/turbine_governor_models.h"
#include "header/model/sg_models/turbine_load_controller_model/turbine_load_controller_models.h"
#include "header/model/sg_models/supported_sg_models.h"

#include "header/model/load_model/load_models.h"
#include "header/model/load_relay_model/load_voltage_relay_models.h"
Expand All @@ -18,14 +13,7 @@
#include "header/model/vsc_hvdc_model/vsc_hvdc_network_model/vsc_hvdc_network_models.h"
#include "header/model/vsc_hvdc_model/vsc_hvdc_converter_model/vsc_hvdc_converter_models.h"

#include "header/model/wtg_models/wt_generator_model/wt_generator_models.h"
#include "header/model/wtg_models/wt_aerodynamic_model/wt_aerodynamic_models.h"
#include "header/model/wtg_models/wt_electrical_model/wt_electrical_models.h"
#include "header/model/wtg_models/wt_turbine_model/wt_turbine_models.h"
#include "header/model/wtg_models/wt_pitch_model/wt_pitch_models.h"
#include "header/model/wtg_models/wind_speed_model/wind_speed_models.h"
#include "header/model/wtg_models/wt_voltage_ride_through_model/wt_voltage_ride_through_models.h"
#include "header/model/wtg_models/wt_relay_model/wt_relay_models.h"
#include "header/model/wtg_models/supported_wtg_models.h"

#include "header/model/pvu_models/pv_converter_model/pv_converter_models.h"
#include "header/model/pvu_models/pv_panel_model/pv_panel_models.h"
Expand Down
56 changes: 56 additions & 0 deletions code/steps/header/model/pvu_models/pv_relay_model/pv_relay_model.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#ifndef PV_RELAY_MODEL_H
#define PV_RELAY_MODEL_H

#include "header/model/pvu_models/pvu_model.h"
class PV_RELAY_MODEL : public PVU_MODEL
{
/*
pv relay model:
inputs:
frequency: bus frequency
voltage: bus voltage
output:
trip pv if necessary
*/
public:
PV_RELAY_MODEL(STEPS& toolkit);
virtual ~PV_RELAY_MODEL();

virtual string get_model_type() const;
// inputs
double get_bus_frequency_in_pu() const;
//double get_bus_positive_sequence_voltage_in_pu() const;
public: // specific model level
virtual string get_model_name() const = 0;

virtual bool setup_model_with_steps_string_vector(vector<string>& data) = 0;
virtual bool setup_model_with_psse_string(string data) = 0;
virtual bool setup_model_with_bpa_string(string data) = 0;

virtual void setup_block_toolkit_and_parameters() = 0;

virtual void initialize() = 0;
virtual void run(DYNAMIC_MODE mode) = 0;

virtual void check() = 0;
virtual void clear() = 0;
virtual void report() = 0;
virtual void save() = 0;
virtual string get_standard_psse_string(bool export_internal_bus_number=false) const = 0;

virtual void prepare_model_data_table() = 0;
virtual double get_model_data_with_name(string par_name) const = 0;
virtual void set_model_data_with_name(string par_name, double value) = 0;
virtual double get_minimum_nonzero_time_constant_in_s() = 0;

virtual void prepare_model_internal_variable_table() = 0;
virtual double get_model_internal_variable_with_name(string var_name)= 0;

virtual string get_dynamic_data_in_psse_format() const = 0;
virtual string get_dynamic_data_in_bpa_format() const = 0;
virtual string get_dynamic_data_in_steps_format() const = 0;
private:
void common_constructor();
};

#endif // PV_RELAY_MODEL_H
Loading

0 comments on commit 9475378

Please sign in to comment.