GithubHelp home page GithubHelp logo

powsybl-iidm4cpp's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

jmkerloch bricesd

powsybl-iidm4cpp's Issues

Improve error message in Extension.cpp

  • Do you want to request a feature or report a bug?
    Arguable

  • What is the current behavior?
    If an extension is already attached to an extendable, and we try to attach it to another extendable an exception is thrown. The message doesn't give enough information because the conversion of a stdcxx::Reference<Extendable> to a string display 1 or 0 depending on the status of the reference.
    throw PowsyblException(logging::format("Extension is already associated to the extendable %1%", m_extendable));
    Trying to replace m_extendable by m_extendable.get() doesn't compile as there is no overload for the operator<<

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • What is the expected behavior?
    For an Identifiable, it could be great to have its ID.

  • What is the motivation / use case for changing the behavior?

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.0] Make checkAndGetUniqueId static and public

  • Do you want to request a feature or report a bug?
    Feature
    http://github.com/powsybl/powsybl-core/pull/1021

  • What is the current behavior?
    The feature to automatically fix duplicate ID doesn't exist

  • What is the expected behavior?
    This feature is implemented in both Java and C++

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.0] Fix three windings transformer round trip test

  • Do you want to request a feature or report a bug?
    Bug fix
    powsybl/powsybl-core#1030

  • What is the current behavior?
    The three windings transformer round trip test case file is not the same as in Java

  • What is the expected behavior?
    The three windings transformer round trip itest case are identical

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.2] Add convenient methods in VoltageLevel.NodeBreakerView

  • Do you want to request a feature or report a bug?
    Feature

  • What is the current behavior?
    There is only one method getTerminal(int node) in VoltageLevel.NodeBreakerView which returns a Terminal associated with node if it exists, null if this node is only associated with a Switch or an InternalConnection and throws an exception if no equipment is attached to this node.

  • What is the expected behavior?
    We want a getOptionalTerminal(int node) method which returns an Optional<Terminal> with the linked Terminal if it exists or an empty Optional if the node is associated with a Switch, an InternalConnection or has no attached equipment. Furthermore, we want a hasAttachedEquipment(int node) which checks if node has equipment attached to it.

  • What is the motivation / use case for changing the behavior?
    After the change of building of node/breaker topology, no "empty" vertex is created anymore: if no equipment is attached to a node, the vertex is null, not empty. We want to prevent throwing exceptions in this case.

  • Please tell us about your environment:

    • PowSyBl Version: 3.3.0-SNAPSHOT
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)
    Linked to powsybl/powsybl-core#1235 and powsybl/powsybl-core#1233

[IIDM v1.0] Export network properties

  • Do you want to request a feature or report a bug?
    Bug
    powsybl/powsybl-core#864

  • What is the current behavior?
    The properties of the network are not exported.

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • What is the expected behavior?
    The network properties should be exported.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ implementation as close as possible.

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.0] Ensure AbstractExtension and ExtensionProviders implementation

  • Do you want to request a feature or report a bug?
    Question
    powsybl/powsybl-core#1023
    powsybl/powsybl-core#1027

  • What is the current behavior?
    N/A

  • What is the expected behavior?
    Ensure that both C++ and Java API are identifical

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.0] New three windings transformer API

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1022
    powsybl/powsybl-core#1066

  • What is the current behavior?
    The three windings transformer API is not exactly the same as in Java

  • What is the expected behavior?
    The C++ and Java API have to be identical

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.2] Change mechanism for creating and cleaning vertices in a node/breaker voltage level's graph and delete nodeCount attribute in nodeBreakerTopology XML element

  • Do you want to request a feature or report a bug?
    Both

  • What is the current behavior?
    The node count can be set in node breaker voltage level. All nodes are pre-created. When an equipment is removed, the vertex is associated to null.

  • What is the expected behavior?
    The node count should be set. It should be updated each time an equipment is attached in the voltage level. All nodes with no equipment attached should not exist or be null.

  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

Linked to PR powsybl/powsybl-core#1161

[IIDM v1.0] Ensure the implementation of entsoe extension

  • Do you want to request a feature or report a bug?
    Question
    powsybl/powsybl-core#1061

  • What is the current behavior?
    N/A

  • What is the expected behavior?
    Ensure that C++ and Java implementation are exactly the same.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.1] Migration of ActivePowerControl to the new extension design

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1165
    powsybl/powsybl-core#1191

  • What is the current behavior?
    The extension follow old IIDM design

  • What is the expected behavior?
    The extension design should follow the same design than in Java

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.1] Ensure that InternalConnection is not a subclass of Identifiable

  • Do you want to request a feature or report a bug?
    Bug
    powsybl/powsybl-core#1157

  • What is the current behavior?
    In Java, the InternalConnection was a subclass of Identifiable.

  • What is the expected behavior?
    InternalConnection is not a subclass of Identifiable

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.2] Add regulation for shunt compensators

  • Do you want to request a feature or report a bug?
    Feature

  • What is the current behavior?
    Shunt compensators can not regulate.

  • What is the expected behavior?
    Shunt compensators can regulate in voltage (with a target value, a regulation status, a target deadband and a regulating terminal).

  • What is the motivation / use case for changing the behavior?
    There are formats that model regulation for shunt compensators (e.g. CGMES) and it has an impact on calculations.

  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

Linked to PR powsybl/powsybl-core#958

[IIDM v1.0] Implement the connected/synchronous connected component

  • Do you want to request a feature or report a bug?
    Feature

  • What is the current behavior?
    The network is not able to compute the connected/synchronous components.
    The PR#1445 aims to refactor the feature, so this is the good time to add this feature to the C++ implementation

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • What is the expected behavior?
    To have a convenient method to get from a bus it's connected/synchronous component number.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.0] Fix RTC checks

  • Do you want to request a feature or report a bug?
    Bug
    powsybl/powsybl-core#1009

  • What is the current behavior?
    The ValidationUtils::checkRatioTapChangerRegulation implementation is not the same than in Java

  • What is the expected behavior?
    The C++ and Java code should be exactly the same

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.1] Support writing IIDM-XML network extensions in previous versions

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1138

  • What is the current behavior?
    The extension are always written in the up-to-date version of the serializer

  • What is the expected behavior?
    It should be possible to serialize an extension in a specific version

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

Add a convenient function to get a Terminal from its node

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1235

  • What is the current behavior?
    The getTerminal(int node) method of the NodeBreakerView throw an exception if the node doesn't exist.

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • What is the expected behavior?
    Another method should be added to get an optional of Terminal if the node doesn't exists.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ implementation as close as possible.

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

Fix the naming of CalculatedBus and MergedBus

  • Do you want to request a feature or report a bug?
    Bug
    powsybl/powsybl-core#1148

  • What is the current behavior?
    The name of the CalculatedBus and the MergedBus is the same than the ID.

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • What is the expected behavior?
    The name of the bus should be based on the name of the VoltageLevel.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ implementation as close as possible.

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.0] Add getNetwork() to Identifiable

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#947

  • What is the current behavior?
    There is no way to convenient get the network from an identifiable.

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • What is the expected behavior?
    To have a getNetwork() method for each identifiable.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ implementation as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

Improve dependencies between compilation units

  • Do you want to request a feature or report a bug?
    Arguable

  • What is the current behavior?
    Sometimes, depending on the changes, almost whole project is rebuild after a change. I think there is some troubles in the dependencies between the different compilation units, specially with the template implementations.

It's really easy to have circular dependencies, because we have a lot of bidirectional links between our classes. I think some #include statement could be replaced by a forward declaration. We have to write a coding style about headers management.

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem
    Do a complete build
    Change the implementation of a template method
    Run the compilation again

    • if the method was a classic method, in a CPP, only this CPP would be compiled
    • a lot of CPP files would be compiled
  • What is the expected behavior?
    The project have to be cleaned to be compiled faster.

  • What is the motivation / use case for changing the behavior?
    Be more productive.

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.1] voltage and angle by bus in node/breaker topology

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1170

  • What is the current behavior?
    The extension follow old IIDM design

  • What is the expected behavior?
    The extension design should follow the same design than in Java

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.0] Ensure GeneratorXml.writeSubElements implementation

  • Do you want to request a feature or report a bug?
    Question
    powsybl/powsybl-core#1081

  • What is the current behavior?
    N/A

  • What is the expected behavior?
    Ensure that both C++ and Java implementation are identical

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.2] Change behavior of targetDeadband for tap changers

  • Do you want to request a feature or report a bug?
    Hard to define

  • What is the current behavior?
    targetDeadband is an attribute which is always optional for tap changers.

  • What is the expected behavior?
    targetDeadband is a mandatory attribute for tap changers if and only if the regulation is on.

  • What is the motivation / use case for changing the behavior?
    targetDeadband is supposed to be mandatory for discrete regulations.

  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

Linked to PRs powsybl/powsybl-core#958 & powsybl/powsybl-core#1204

[IIDM v1.1] Update serialization of ThreeWindingsTransformer

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1073
    powsybl/powsybl-core#1129

  • What is the current behavior?
    N/A

  • What is the expected behavior?
    Ensure that transformer serialization is equivalent in Java and C++

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.2] Ensure that voltageLevel.getConnectables() and associated return collections of distinct elements

  • Do you want to request a feature or report a bug?
    Bug fix

  • What is the current behavior?
    voltageLevel.getConnectables() and voltageLevel.getConnectableStream() do not check if they have duplicates in their respective returned iterable and stream.

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • Create a network with a transformer or a line with both ends in the same voltage level
  • Call voltageLevel.getConnectables() or voltageLevel.getConnectableStream(). The line or the transformer will be in duplicates in the returned collections.
  • What is the expected behavior?
    The returned iterable and stream should contain distinct elements.

  • What is the motivation / use case for changing the behavior?

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)
    Done in java on powsybl/powsybl-core#1218

[IIDM v1.1] Add convenient functions to get a network (name or content) depending on the IIDM format version

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1178
    powsybl/powsybl-core#1182

  • What is the current behavior?
    There is no standard way to get a network's name or content from its short name and a version.

  • What is the expected behavior?
    The test API have access to two functions to get the network's name or content.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.1] Regulating terminal for SVC

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1072

  • What is the current behavior?
    Regulation is not supported for SVC

  • What is the expected behavior?
    Regulation is now supported for SVC

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.0] Support all XML export options

  • Do you want to request a feature or report a bug?
    Feature

  • What is the current behavior?
    There is no equivalent to the java XMLImporter/XMLExporter parameters.

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • What is the expected behavior?
    The XML import/export should be customizable, with exactly the same feature than in the Java version.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.2] Any Identifiable can be fictitious, not only switches

  • Do you want to request a feature or report a bug?
    Feature

  • What is the current behavior?
    Switches can be fictitious.

  • What is the expected behavior?
    Any identifiable can be fictitious.

  • What is the motivation / use case for changing the behavior?
    Any equipment can be the equivalent of a part of a network.

  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

Linked to PR powsybl/powsybl-core#1209

[IIDM v1.2] Refactor XMLExport to remove the multi file export feature

  • Do you want to request a feature or report a bug?
    Feature

  • What is the current behavior?
    XIIDM can be exported in several files (for base network and extensions)

  • What is the expected behavior? What is the motivation / use case for changing the behavior?
    XIIDM can be exported only in a unique file. However, configuration can be used to export only useful information.

  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

Linked to PR powsybl/powsybl-core#1215

[IIDM v1.1] Support extension versioning

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1054

  • What is the current behavior?
    Extension versioning is not supported.

  • What is the expected behavior?
    Extension versioning is now supported.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.1] New extension design

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1152

  • What is the current behavior?
    In Java, we now support two different implementation of the IIDM model (transient and persistent).

  • What is the expected behavior?
    Both Java and C++ implementation should be identical

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.1] Fix calculated bus name

  • Do you want to request a feature or report a bug?
    Bug
    powsybl/powsybl-core#1148

  • What is the current behavior?
    The algorithm to compute the bus name is not exactly the same in Java and C++.

  • What is the expected behavior?
    Both Java and C++ implementation should be equivalent

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.0] Ensure that the property support are identical

  • Do you want to request a feature or report a bug?
    Question
    http://github.com/powsybl/powsybl-core/pull/1040

  • What is the current behavior?
    N/A

  • What is the expected behavior?
    Ensure that both Java and C++ implementation are exactly the same.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.1] Allow to write IIDM-XML files in previous versions

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1129

  • What is the current behavior?
    Network files are generated in the up-to-date version of the format.

  • What is the expected behavior?
    It should be possible to serialize networks in a specific (supported) version.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

Implement SimpleAnonymizer

  • Do you want to request a feature or report a bug?
    Feature

  • What is the current behavior?
    The only anonymizer we have is the FakeAnonymizer. We should consider implementing the SimpleAnonymizer.

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • What is the expected behavior?

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ implementations as close as possible.

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

Replace std::function by template parameter

  • Do you want to request a feature or report a bug?
    Refactoring

  • What is the current behavior?
    We pass sometimes lambda expression as std::function. Sonar consider this is a bad practice, and we should pass template parameter instead. This pattern has been used in #87 and can be generalized.
    See sonar analysis : https://sonarcloud.io/project/issues?id=com.powsybl%3Apowsybl-iidm4cpp&resolved=false&rules=cpp%3AS5213&types=CODE_SMELL

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • What is the expected behavior?
    No more code smells of this type

  • What is the motivation / use case for changing the behavior?

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[Windows] Increase compilation speed

  • Do you want to request a feature or report a bug?
    Arguable

  • What is the current behavior?
    The compilation using VS compiler is really slow on windows specially because nmake doesn't support a multithread mode.

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • What is the expected behavior?
    The compilation should be as fast as possible. Some potential improvement could be to use /MP flags or change the build system to Ninja

  • What is the motivation / use case for changing the behavior?
    Be more efficient

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

boost::range::join performance issue

  • Do you want to request a feature or report a bug?
    Bug

  • What is the current behavior?
    When we iterate over all the buses from the Network bus view, the performance decrease after several voltage levels. Doing a classic for-loop offer acceptable performance.

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

// This for-loop is really slow
for (const Bus& bus : network.getBusView().getBuses()) {
    std::cout << bus.getId() << std::endl;
}

// This for-loop is fast
for (const VoltageLevel& vl : network.getVoltageLevels()) {
    for (const Bus& bus : vl.getBusView().getBuses()) {
        std::cout << bus.getId() << std::endl;
    }
}
  • What is the expected behavior?
    Iterate over the buses of the busView efficiently.

  • What is the motivation / use case for changing the behavior?
    Increase the performance.

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.2] Add regulation for shunt compensators

  • Regulation is not supported for shunt compensators
  • tapChanger.targetDeadband is not mandatory when the tap changer is regulating
  • What is the expected behavior?
  • Regulation should be supported for shunt compensators
  • tapChanger.targetDeadband should be mandatory when the tap changer is regulating (same behaviour for shunt compensators)
  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.2] Add a regulation to the shunt compensators

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#958
    powsybl/powsybl-core#1129

  • What is the current behavior?
    The shunt compensator cannot have a regulation

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • What is the expected behavior?
    To be able to configure a regulation for shunt compensators.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ implementation as close as possible.

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.0] Two windings transformer: add phaseAngleClock, only one tap changer regulating

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1012
    powsybl/powsybl-core#1024
    powsybl/powsybl-core#1041
    powsybl/powsybl-core#1052

  • What is the current behavior?
    The phaseAngleClock is not supported yet.

  • What is the expected behavior?
    The phaseAngleClock is supported

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.2] Apparent power attribute on TwoWindingsTransformer and ThreeWindingsTransformer.Leg

  • Do you want to request a feature or report a bug?
    Feature

  • What is the current behavior?
    Apparent power is not modeled for TwoWindingsTransformer and ThreeWindingsTransformer.Leg

  • What is the expected behavior? What is the motivation / use case for changing the behavior?
    It should be modeled to prevent information loss from formats modeling it (e.g. CGMES)

  • Other information
    Linked to PR powsybl/powsybl-core#1199

[IIDM v1.0] BBranch calculated connectable bus from NB view can be null

  • Do you want to request a feature or report a bug?
    Bug fix
    powsybl/powsybl-core#1008

  • What is the current behavior?
    If no connectableBus is found, an exception is thrown

  • What is the expected behavior?
    If no connectableBus is found, no exception is thrown and null is returned

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

Suppress exceptions in some cases when working with variants

  • Do you want to request a feature or report a bug?
    Bug fix
    powsybl/powsybl-core#867

  • What is the current behavior?
    The implementation of the VariantManager is not exactly the same as in Java

  • What is the expected behavior?
    The implementation of the VariantManager should be exactly the same

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM 1.2] Introduction to non linear shunt

  • Do you want to request a feature or report a bug?
    Feature

  • What is the current behavior?
    Shunts can only be linear

  • What is the expected behavior? What is the motivation / use case for changing the behavior?
    Shunts can be linear or non linear.

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)
    Linked to PR powsybl/powsybl-core#1202

[IIDM v1.1] IIDM TCK

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1125

  • What is the current behavior?
    N/A

  • What is the expected behavior?
    To create the TCK, some classes have been moved to the API. The corresponding functions in C++ should also be moved.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.1] Ensure that traversers searching a terminal do no set back to null if a terminal is found

  • Do you want to request a feature or report a bug?
    Bug
    powsybl/powsybl-core#1147

  • What is the current behavior?
    The traverser algorithm used in CalculatedBus is not exactly the same in Java and C++

  • What is the expected behavior?
    Both Java and C++ should have the same implementation.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.0] Fix implementation of TapChangerStep

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#913

  • What is the current behavior?
    The TapChangerStep doesn't have its position.

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • What is the expected behavior?
    The TapChangerStep should know it's position.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ implementation as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.1] Migration of XNode extension to the new design

  • Do you want to request a feature or report a bug?
    Feature
    powsybl/powsybl-core#1153
    powsybl/powsybl-core#1091

  • What is the current behavior?
    The XNode extension use the old design.

  • What is the expected behavior?
    The XNode extension should use the new design of extensions.

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ API as close as possible

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

[IIDM v1.0] Add a method to get the HvdcLine from a converter station

  • Do you want to request a feature or report a bug?
    Feature

  • What is the current behavior?
    There is no method to get the HvdcLine from its converter station

  • If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

  • What is the expected behavior?
    To have a convenient method to get a HvdcLine from its converter station

  • What is the motivation / use case for changing the behavior?
    Have both Java and C++ implementations as close as possible.

  • Please tell us about your environment:

    • PowSyBl Version: ...
    • OS Version: ...
  • Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, spectrum, etc)

(if a question doesn't apply, you can delete it)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.