81 enum class VoltageTargetUnit { Auto, PerUnit, Absolute };
87 Logger::Level mComponentLogLevel;
91 IdentifiedObject::List mComponents;
100 GeneratorType mGeneratorType;
107 std::map<String, TopologicalNode::Ptr> mPowerflowNodes;
109 std::map<String, TopologicalPowerComp::Ptr> mPowerflowEquipment;
111 std::map<String, TopologicalTerminal::Ptr> mPowerflowTerminals;
113 Bool mUseProtectionSwitches =
false;
115 VoltageTargetUnit mExtnetVoltageTargetUnit = VoltageTargetUnit::Auto;
119 Bool mSetShuntCapacitor =
false;
121 Real mShuntCapacitorValue = -1;
123 Bool mSetShuntConductance =
false;
125 Real mShuntConductanceValue = 1e-6;
129 static Real unitValue(Real value, CIMPP::UnitMultiplier mult);
131 void processSvVoltage(CIMPP::SvVoltage *volt);
133 void processSvPowerFlow(CIMPP::SvPowerFlow *flow);
135 template <
typename VarType>
136 void processTopologicalNode(CIMPP::TopologicalNode *topNode);
138 void addFiles(
const fs::path &filename);
140 void addFiles(
const std::list<fs::path> &filenames);
150 Matrix::Index mapTopologicalNode(String mrid);
152 TopologicalPowerComp::Ptr mapComponent(BaseClass *obj);
156 TopologicalPowerComp::Ptr mapACLineSegment(CIMPP::ACLineSegment *line);
158 TopologicalPowerComp::Ptr mapPowerTransformer(CIMPP::PowerTransformer *trans);
162 TopologicalPowerComp::Ptr
163 mapSynchronousMachine(CIMPP::SynchronousMachine *machine);
168 TopologicalPowerComp::Ptr mapEnergyConsumer(CIMPP::EnergyConsumer *consumer);
170 TopologicalPowerComp::Ptr
171 mapExternalNetworkInjection(CIMPP::ExternalNetworkInjection *extnet);
173 TopologicalPowerComp::Ptr mapEquivalentShunt(CIMPP::EquivalentShunt *shunt);
175 TopologicalPowerComp::Ptr mapDisconnector(CIMPP::Disconnector *disc);
177 TopologicalPowerComp::Ptr mapBreaker(CIMPP::Breaker *cb);
181 Real determineBaseVoltageAssociatedWithEquipment(
182 CIMPP::ConductingEquipment *equipment);
187 Reader(String name, Logger::Level logLevel = Logger::Level::info,
188 Logger::Level componentLogLevel = Logger::Level::off);
194 Domain domain = Domain::DP,
195 PhaseType phase = PhaseType::Single,
196 GeneratorType genType = GeneratorType::None);
199 const std::list<fs::path> &filenames,
200 Domain domain = Domain::DP,
201 PhaseType phase = PhaseType::Single,
202 GeneratorType genType = GeneratorType::None);
205 const std::list<CPS::String> &filenamesString,
206 Domain domain = Domain::DP,
207 PhaseType phase = PhaseType::Single,
208 GeneratorType genType = GeneratorType::None);
217 void setExtnetVoltageTargetUnit(VoltageTargetUnit unit);