Skip to content

Commit

Permalink
reconstruct VSG by adding parent classes for building common converte…
Browse files Browse the repository at this point in the history
…r models for SOURCE.
  • Loading branch information
changgang committed Mar 11, 2024
1 parent 6d3c8c8 commit f7719e0
Show file tree
Hide file tree
Showing 17 changed files with 369 additions and 196 deletions.
21 changes: 16 additions & 5 deletions code/steps/STEPS.cbp
Original file line number Diff line number Diff line change
Expand Up @@ -185,19 +185,24 @@
<Unit filename="header/model/auxiliary_signal_model/auxiliary_signal_models.h" />
<Unit filename="header/model/bus_model/bus_frequency_model/bus_frequency_model.h" />
<Unit filename="header/model/converter_common_models/current_order_limiter_model/convcol.h" />
<Unit filename="header/model/converter_common_models/elec_model/convelec0.h" />
<Unit filename="header/model/converter_common_models/elec_model/converter_elec_model.h" />
<Unit filename="header/model/converter_common_models/lvpl_model/lvpl.h" />
<Unit filename="header/model/converter_common_models/pll_model/pll0.h" />
<Unit filename="header/model/converter_common_models/pll_model/pll_model.h" />
<Unit filename="header/model/converter_common_models/source_converter_model/gfrmc_model/gfrmc_model.h" />
<Unit filename="header/model/converter_common_models/source_converter_model/gfrmc_model/vsg_model/vsg0.h" />
<Unit filename="header/model/converter_common_models/source_converter_model/gfrmc_model/vsg_model/vsg0_test.h" />
<Unit filename="header/model/converter_common_models/source_converter_model/gfrmc_model/vsg_model/vsg_model.h" />
<Unit filename="header/model/converter_common_models/source_converter_model/gfrmc_model/vsg_model/vsg_model_test.h" />
<Unit filename="header/model/converter_common_models/source_converter_model/source_converter_model.h" />
<Unit filename="header/model/converter_common_models/vrt_model/hvrt_control.h" />
<Unit filename="header/model/converter_common_models/vrt_model/hvrt_relay.h" />
<Unit filename="header/model/converter_common_models/vrt_model/lvrt_control.h" />
<Unit filename="header/model/converter_common_models/vrt_model/lvrt_control_test.h" />
<Unit filename="header/model/converter_common_models/vrt_model/lvrt_relay.h" />
<Unit filename="header/model/converter_common_models/vrt_model/vrt_control_model.h" />
<Unit filename="header/model/converter_common_models/vrt_model/vrt_relay_model.h" />
<Unit filename="header/model/converter_common_models/vsg_model/vsg0.h" />
<Unit filename="header/model/converter_common_models/vsg_model/vsg0_test.h" />
<Unit filename="header/model/converter_common_models/vsg_model/vsg_model.h" />
<Unit filename="header/model/energy_storage_model/energy_storage_model.h" />
<Unit filename="header/model/energy_storage_model/energy_storage_model_test.h" />
<Unit filename="header/model/energy_storage_model/energy_storage_models.h" />
Expand Down Expand Up @@ -637,15 +642,21 @@
<Unit filename="source/model/converter_common_model/lvpl_model/lvpl.cpp" />
<Unit filename="source/model/converter_common_model/pll_model/pll0.cpp" />
<Unit filename="source/model/converter_common_model/pll_model/pll_model.cpp" />
<Unit filename="source/model/converter_common_model/source_converter_model/gfrmc_model/frmc_model.cpp" />
<Unit filename="source/model/converter_common_model/source_converter_model/gfrmc_model/vsg_model/vsg0.cpp" />
<Unit filename="source/model/converter_common_model/source_converter_model/gfrmc_model/vsg_model/vsg_model.cpp" />
<Unit filename="source/model/converter_common_model/source_converter_model/gfrmc_model/vsg_model/vsg_model_test.cpp">
<Option compile="0" />
<Option link="0" />
</Unit>
<Unit filename="source/model/converter_common_model/source_converter_model/source_converter_model.cpp" />
<Unit filename="source/model/converter_common_model/vrt_model/hvrt_control.cpp" />
<Unit filename="source/model/converter_common_model/vrt_model/hvrt_relay.cpp" />
<Unit filename="source/model/converter_common_model/vrt_model/lvrt_control.cpp" />
<Unit filename="source/model/converter_common_model/vrt_model/lvrt_control_test.cpp" />
<Unit filename="source/model/converter_common_model/vrt_model/lvrt_relay.cpp" />
<Unit filename="source/model/converter_common_model/vrt_model/vrt_control_model.cpp" />
<Unit filename="source/model/converter_common_model/vrt_model/vrt_relay_model.cpp" />
<Unit filename="source/model/converter_common_model/vsg_model/vsg0.cpp" />
<Unit filename="source/model/converter_common_model/vsg_model/vsg_model.cpp" />
<Unit filename="source/model/energy_storage_model/energy_storage_model.cpp" />
<Unit filename="source/model/energy_storage_model/energy_storage_model_test.cpp" />
<Unit filename="source/model/energy_storage_model/estr0.cpp" />
Expand Down
73 changes: 71 additions & 2 deletions code/steps/STEPS.depend
Original file line number Diff line number Diff line change
Expand Up @@ -2548,9 +2548,9 @@
"header/block/integral_block.h"
"header/block/first_order_block.h"

1709435899 d:\steps\code\steps\header\model\wtg_models\wt_generator_model\wt3gx.h
1710159320 d:\steps\code\steps\header\model\wtg_models\wt_generator_model\wt3gx.h
"header/model/wtg_models/wt_generator_model/wt_generator_model.h"
"header/model/converter_common_models/vsg_model/vsg0.h"
"header/model/converter_common_models/converter/gfrmc_model/vsg_model/vsg0.h"
"header/model/converter_common_models/current_order_limiter_model/convcol.h"
"header/block/integral_block.h"
"header/block/first_order_block.h"
Expand Down Expand Up @@ -6676,3 +6676,72 @@
<istream>
<iostream>

1710159894 source:d:\steps\code\steps\source\model\converter_common_model\source_converter_model\gfrmc_model\frmc_model.cpp
"header/model/converter_common_models/source_converter_model/gfrmc_model/gfrmc_model.h"
"header/basic/utility.h"
"header/power_system_database.h"
"header/STEPS.h"
<iostream>

1710158818 d:\steps\code\steps\header\model\converter_common_models\converter\gfrmc_model\gfrmc_model.h
"header/model/converter_common_models/converter/source_converter_model.h"
"header/STEPS.h"

1710159010 d:\steps\code\steps\header\model\converter_common_models\converter\source_converter_model.h
"header/STEPS.h"

1710159247 source:d:\steps\code\steps\source\model\converter_common_model\source_converter_model\gfrmc_model\vsg_model\vsg0.cpp
"header/model/converter_common_models/converter/gfrmc_model/vsg_model/vsg0.h"
"header/basic/utility.h"
"header/power_system_database.h"
"header/STEPS.h"

1710159253 d:\steps\code\steps\header\model\converter_common_models\converter\gfrmc_model\vsg_model\vsg0.h
"header/model/converter_common_models/converter/gfrmc_model/vsg_model/vsg_model.h"
"header/block/integral_block.h"

1710159177 d:\steps\code\steps\header\model\converter_common_models\converter\gfrmc_model\vsg_model\vsg_model.h
"header/model/converter_common_models/converter/gfrmc_model/gfrmc_model.h"
"header/STEPS.h"

1710159228 source:d:\steps\code\steps\source\model\converter_common_model\source_converter_model\gfrmc_model\vsg_model\vsg_model.cpp
"header/model/converter_common_models/converter/gfrmc_model/vsg_model/vsg_model.h"
"header/basic/utility.h"
"header/power_system_database.h"
"header/STEPS.h"
<iostream>

1710156713 source:d:\steps\code\steps\source\model\pvu_models\pv_panel_model\pvpnlx_test.cpp
"header/basic/test_macro.h"
"header/model/pvu_models/pv_panel_model/pvpnlx_test.h"
"header/basic/utility.h"
<cstdlib>
<cstring>
<istream>
<iostream>
<cstdio>
<cmath>

1710156657 d:\steps\code\steps\header\model\pvu_models\pv_panel_model\pvpnlx_test.h
<istream>
<cstdlib>
<cstring>
<iostream>
"header/model/pvu_models/pv_panel_model/pv_panel_model_test.h"
"header/model/pvu_models/pv_panel_model/pvpnlx.h"
"header/STEPS.h"

1710159884 source:d:\steps\code\steps\source\model\converter_common_model\source_converter_model\source_converter_model.cpp
"header/model/converter_common_models/source_converter_model/source_converter_model.h"
"header/basic/utility.h"
"header/power_system_database.h"
"header/STEPS.h"
<iostream>

1710159010 d:\steps\code\steps\header\model\converter_common_models\source_converter_model\source_converter_model.h
"header/STEPS.h"

1710159911 d:\steps\code\steps\header\model\converter_common_models\source_converter_model\gfrmc_model\gfrmc_model.h
"header/model/converter_common_models/source_converter_model/source_converter_model.h"
"header/STEPS.h"

Empty file.
Empty file.
Original file line number Diff line number Diff line change
@@ -1,23 +1,16 @@
#ifndef VSG_MODEL_H
#define VSG_MODEL_H
#ifndef GFRMC_MODEL_H
#define GFRMC_MODEL_H

#include "header/model/converter_common_models/source_converter_model/source_converter_model.h"
#include "header/STEPS.h"

class BUS;

class VSG_MODEL
class GFRMC_MODEL: public SOURCE_CONVERTER_MODEL
{
public:
VSG_MODEL(STEPS& toolkit);
~VSG_MODEL();
void set_toolkit(STEPS& toolkit);
STEPS& get_toolkit() const;

void set_bus_pointer(BUS* busptr);
void set_device_pointer(NONBUS_DEVICE* device);
NONBUS_DEVICE* get_device_pointer() const;
DEVICE_ID get_device_id() const;
string get_compound_device_name() const;
GFRMC_MODEL(STEPS& toolkit);
~GFRMC_MODEL();

void set_Pref_in_pu_based_on_mbase(double P);
void set_Qref_in_pu_based_on_mbase(double Q);
Expand Down Expand Up @@ -57,12 +50,9 @@ class VSG_MODEL
virtual double get_virtual_voltage_in_pu() const = 0;
virtual string get_standard_psse_string() const = 0;
private:
STEPS* toolkit;
BUS* busptr;
NONBUS_DEVICE* device;
double P, Pref, Q, Qref, V, Vref;
double angle0, V0;
double fbase_Hz, wbase_radps;
};

#endif // VSG_MODEL_H
#endif // GFRMC_MODEL_H
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#ifndef VSG0_H
#define VSG0_H

#include "header/model/converter_common_models/vsg_model/vsg_model.h"
#include "header/model/converter_common_models/source_converter_model/gfrmc_model/vsg_model/vsg_model.h"
#include "header/block/integral_block.h"

class VSG0 : public VSG_MODEL
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#ifndef VSG_MODEL_H
#define VSG_MODEL_H

#include "header/model/converter_common_models/source_converter_model/gfrmc_model/gfrmc_model.h"
#include "header/STEPS.h"

class BUS;

class VSG_MODEL: public GFRMC_MODEL
{
public:
VSG_MODEL(STEPS& toolkit);
~VSG_MODEL();

public:
virtual string get_model_name() const = 0;

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

virtual double get_virtual_frequency_deviation_in_Hz() const = 0;
virtual double get_virtual_angle_in_rad() const = 0;
virtual double get_virtual_voltage_in_pu() const = 0;
virtual string get_standard_psse_string() const = 0;
private:
};

#endif // VSG_MODEL_H
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

#include "header/power_system_database.h"
#include "header/STEPS.h"
#include "header/model/converter_common_models/vsg_model/vsg_model.h"
#include "header/model/converter_common_models/converter/gfrmc_model/vsg_model/vsg_model.h"
using namespace std;

class VSG_MODEL_TEST : public Test::Suite
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#ifndef SOURCE_CONVERTER_MODEL_H
#define SOURCE_CONVERTER_MODEL_H

#include "header/STEPS.h"

class BUS;

class SOURCE_CONVERTER_MODEL
{
public:
SOURCE_CONVERTER_MODEL(STEPS& toolkit);
~SOURCE_CONVERTER_MODEL();
void set_toolkit(STEPS& toolkit);
STEPS& get_toolkit() const;

void set_bus_pointer(BUS* busptr);
BUS* get_bus_pointer() const;
void set_device_pointer(NONBUS_DEVICE* device);
NONBUS_DEVICE* get_device_pointer() const;
DEVICE_ID get_device_id() const;
string get_compound_device_name() const;
public:
virtual string get_model_name() const = 0;

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

virtual double get_virtual_frequency_deviation_in_Hz() const = 0;
virtual double get_virtual_angle_in_rad() const = 0;
virtual double get_virtual_voltage_in_pu() const = 0;
virtual string get_standard_psse_string() const = 0;
private:
STEPS* toolkit;
BUS* busptr;
NONBUS_DEVICE* device;
};

#endif // SOURCE_CONVERTER_MODEL_H
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define WT3GX_H

#include "header/model/wtg_models/wt_generator_model/wt_generator_model.h"
#include "header/model/converter_common_models/vsg_model/vsg0.h"
#include "header/model/converter_common_models/converter/gfrmc_model/vsg_model/vsg0.h"
#include "header/model/converter_common_models/current_order_limiter_model/convcol.h"
#include "header/block/integral_block.h"
#include "header/block/first_order_block.h"
Expand Down
Loading

0 comments on commit f7719e0

Please sign in to comment.