Harmony
HARMONic stabilitY assessment of PE-penetrated power systems
Loading...
Searching...
No Matches
PnP_library.h
Go to the documentation of this file.
1#ifndef PNP_LIBRARY_H
2#define PNP_LIBRARY_H
3
9#include "Device_gate.h"
10
11#include <string>
12#include <vector>
13
16 std::string device_id;
17 std::string device_type;
18 bool allow = false;
19 double worst_passivity = 0.0;
20 double worst_phase_deg = 0.0;
21 double worst_shifted = 0.0;
22 double phase_limit_deg = 90.0;
23 double f_min_Hz = 1.0;
24 double f_max_Hz = 1000.0;
25 std::string notes;
26};
27
35public:
36 void clear();
37 void add(const PnPDeviceRecord& rec);
38 void addFromGate(const DeviceGateResult& gate, const std::string& device_type = "");
39
40 const std::vector<PnPDeviceRecord>& records() const { return records_; }
41 std::size_t size() const { return records_.size(); }
42
44 const PnPDeviceRecord* find(const std::string& device_id) const;
45
47 bool isAllowed(const std::string& device_id) const;
48
49 void saveJson(const std::string& path) const;
50 void loadJson(const std::string& path);
51 void saveCsv(const std::string& path) const;
52
54 void printSummary() const;
55
56private:
57 std::vector<PnPDeviceRecord> records_;
58};
59
60#endif // PNP_LIBRARY_H
Workflow 1 — local device gate before interconnect / PnP.
In-memory / JSON-backed library of device gate results.
Definition PnP_library.h:34
const PnPDeviceRecord * find(const std::string &device_id) const
Lookup by id; returns nullptr if missing.
Definition PnP_library.cpp:46
const std::vector< PnPDeviceRecord > & records() const
Definition PnP_library.h:40
void printSummary() const
Count of allow / block entries.
Definition PnP_library.cpp:120
std::size_t size() const
Definition PnP_library.h:41
void clear()
Definition PnP_library.cpp:12
void addFromGate(const DeviceGateResult &gate, const std::string &device_type="")
Definition PnP_library.cpp:28
void saveJson(const std::string &path) const
Definition PnP_library.cpp:61
bool isAllowed(const std::string &device_id) const
True if id exists and allow==true.
Definition PnP_library.cpp:55
void add(const PnPDeviceRecord &rec)
Definition PnP_library.cpp:17
void saveCsv(const std::string &path) const
Definition PnP_library.cpp:109
void loadJson(const std::string &path)
Definition PnP_library.cpp:84
Verdict of a device-level certificate gate.
Definition Device_gate.h:17
One catalog entry for a certified (or rejected) device.
Definition PnP_library.h:15
std::string notes
Definition PnP_library.h:25
double worst_passivity
Definition PnP_library.h:19
std::string device_id
Definition PnP_library.h:16
double phase_limit_deg
Definition PnP_library.h:22
double worst_phase_deg
Definition PnP_library.h:20
double worst_shifted
Definition PnP_library.h:21
double f_min_Hz
Definition PnP_library.h:23
std::string device_type
e.g. "MMC_GFM", "MMC_GFL"
Definition PnP_library.h:17
double f_max_Hz
Definition PnP_library.h:24
bool allow
Definition PnP_library.h:18