CGMES_3_0_0
Loading...
Searching...
No Matches
Terminal.hpp
1#ifndef Terminal_H
2#define Terminal_H
3/*
4Generated from the CGMES files via cimgen: https://github.com/sogno-platform/cimgen
5*/
6
7#include <list>
8#include <map>
9#include <string>
10#include <unordered_map>
11
12#include "ACDCTerminal.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
16
17#include "PhaseCode.hpp"
18
19namespace CIMPP
20{
21 class ACDCConverter;
24 class ConnectivityNode;
25 class MutualCoupling;
28 class SvPowerFlow;
29 class TieFlow;
30 class TopologicalNode;
31 class TransformerEnd;
32
34 class Terminal : public ACDCTerminal
35 {
36 public:
37 /* constructor initialising all attributes to null */
38 Terminal();
39 ~Terminal() override;
40
42 std::list<CIMPP::AuxiliaryEquipment*> AuxiliaryEquipment;
43
46
49
51 std::list<CIMPP::ACDCConverter*> ConverterDCSides;
52
54 std::list<CIMPP::MutualCoupling*> HasFirstMutualCoupling;
55
57 std::list<CIMPP::MutualCoupling*> HasSecondMutualCoupling;
58
60 std::list<CIMPP::RegulatingControl*> RegulatingControl;
61
63 std::list<CIMPP::RemoteInputSignal*> RemoteInputSignal;
64
67
69 std::list<CIMPP::TieFlow*> TieFlow;
70
73
75 std::list<CIMPP::TransformerEnd*> TransformerEnd;
76
79
80 static const char debugName[];
81 const char* debugString() const override;
82
83 const std::list<std::string>& getAttributeNames() const override;
84
85 const std::string& getClassNamespaceUrl() const override;
86 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
87
88 const std::list<CGMESProfile>& getPossibleProfiles() const override;
89 const CGMESProfile& getRecommendedProfile() const override;
90 const std::list<CGMESProfile>& getPossibleAttributeProfiles(const std::string& attrName) const override;
91 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes() const override;
92
93 static void addConstructToMap(std::unordered_map<std::string, BaseClass* (*)()>& factory_map);
94 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
95 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
96 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
97 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map) const override;
98 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
99
100 bool isAssignableFrom(BaseClass* otherObject) const override;
101 static const BaseClassDefiner declare();
102
103 protected:
104 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
105 };
106
107 BaseClass* Terminal_factory();
108}
109#endif
Definition BaseClass.hpp:22
A unit with valves for three phases, together with unit control equipment, essential protective and s...
Definition ACDCConverter.hpp:33
AuxiliaryEquipment describe equipment that is not performing any primary functions but support for th...
Definition AuxiliaryEquipment.hpp:24
Definition BaseClassDefiner.hpp:12
The parts of the AC power system that are designed to carry current or that are conductively connecte...
Definition ConductingEquipment.hpp:26
Connectivity nodes are points where terminals of AC conducting equipment are connected together with ...
Definition ConnectivityNode.hpp:27
This class represents the zero sequence line mutual coupling.
Definition MutualCoupling.hpp:29
An unordered enumeration of phase identifiers. Allows designation of phases for both transmission and...
Definition PhaseCode.hpp:14
Specifies a set of equipment that works together to control a power system quantity such as voltage o...
Definition RegulatingControl.hpp:30
Supports connection to a terminal associated with a remote bus from which an input signal of a specif...
Definition RemoteInputSignal.hpp:33
State variable for power flow. Load convention is used for flow direction. This means flow out from t...
Definition SvPowerFlow.hpp:26
std::list< CIMPP::MutualCoupling * > HasFirstMutualCoupling
All converters` DC sides linked to this point of common coupling terminal. Default: {}...
Definition Terminal.hpp:54
std::list< CIMPP::RemoteInputSignal * > RemoteInputSignal
Input signal coming from this terminal. Default: {}.
Definition Terminal.hpp:63
CIMPP::TopologicalNode * TopologicalNode
The topological node associated with the terminal. This can be used as an alternative to the connecti...
Definition Terminal.hpp:72
CIMPP::ConnectivityNode * ConnectivityNode
The connectivity node to which this terminal connects with zero impedance. Default: nullptr.
Definition Terminal.hpp:48
CIMPP::PhaseCode phases
Represents the normal network phasing condition. If the attribute is missing, three phases (ABC) shal...
Definition Terminal.hpp:78
std::list< CIMPP::RegulatingControl * > RegulatingControl
The controls regulating this terminal. Default: {}.
Definition Terminal.hpp:60
CIMPP::SvPowerFlow * SvPowerFlow
The power flow state variable associated with the terminal. Default: nullptr.
Definition Terminal.hpp:66
std::list< CIMPP::TransformerEnd * > TransformerEnd
All transformer ends connected at this terminal. Default: {}.
Definition Terminal.hpp:75
std::list< CIMPP::MutualCoupling * > HasSecondMutualCoupling
Mutual couplings with the branch associated as the first branch. Default: {}.
Definition Terminal.hpp:57
CIMPP::ConductingEquipment * ConductingEquipment
The conducting equipment of the terminal. Conducting equipment have terminals that may be connected t...
Definition Terminal.hpp:45
std::list< CIMPP::AuxiliaryEquipment * > AuxiliaryEquipment
The auxiliary equipment connected to the terminal. Default: {}.
Definition Terminal.hpp:42
std::list< CIMPP::TieFlow * > TieFlow
The control area tie flows to which this terminal associates. Default: {}.
Definition Terminal.hpp:69
Defines the structure (in terms of location and direction) of the net interchange constraint for a co...
Definition TieFlow.hpp:26
For a detailed substation model a topological node is a set of connectivity nodes that,...
Definition TopologicalNode.hpp:31
A conducting connection point of a power transformer. It corresponds to a physical transformer windin...
Definition TransformerEnd.hpp:31