Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions cpp/powsybl-cpp/powsybl-cpp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1583,6 +1583,7 @@ NadParameters::NadParameters(nad_parameters* src) {
edge_info_displayed = static_cast<EdgeInfoType>(src->edge_info_displayed);
voltage_level_details = (bool) src->voltage_level_details;
injections_added = (bool) src->injections_added;
max_steps = src->max_steps;
}

void SldParameters::sld_to_c_struct(sld_parameters& res) const {
Expand Down Expand Up @@ -1615,6 +1616,7 @@ void NadParameters::nad_to_c_struct(nad_parameters& res) const {
res.edge_info_displayed = (int) edge_info_displayed;
res.voltage_level_details = (unsigned char) voltage_level_details;
res.injections_added = (unsigned char) injections_added;
res.max_steps = max_steps;
}

std::shared_ptr<sld_parameters> SldParameters::to_c_struct() const {
Expand Down
1 change: 1 addition & 0 deletions cpp/powsybl-cpp/powsybl-cpp.h
Original file line number Diff line number Diff line change
Expand Up @@ -451,6 +451,7 @@ class NadParameters {
EdgeInfoType edge_info_displayed;
bool voltage_level_details;
bool injections_added;
int max_steps;
};

//=======short-circuit analysis==========
Expand Down
3 changes: 2 additions & 1 deletion cpp/pypowsybl-cpp/bindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -690,7 +690,8 @@ PYBIND11_MODULE(_pypowsybl, m) {
.def_readwrite("radius_factor", &pypowsybl::NadParameters::radius_factor)
.def_readwrite("edge_info_displayed",&pypowsybl::NadParameters::edge_info_displayed)
.def_readwrite("voltage_level_details", &pypowsybl::NadParameters::voltage_level_details)
.def_readwrite("injections_added", &pypowsybl::NadParameters::injections_added);
.def_readwrite("injections_added", &pypowsybl::NadParameters::injections_added)
.def_readwrite("max_steps", &pypowsybl::NadParameters::max_steps);

m.def("write_single_line_diagram_svg", &pypowsybl::writeSingleLineDiagramSvg, "Write single line diagram SVG",
py::arg("network"), py::arg("container_id"), py::arg("svg_file"), py::arg("metadata_file"), py::arg("sld_parameters"));
Expand Down
1 change: 1 addition & 0 deletions cpp/pypowsybl-java/powsybl-api.h
Original file line number Diff line number Diff line change
Expand Up @@ -377,6 +377,7 @@ typedef struct nad_parameters_struct {
int edge_info_displayed;
unsigned char voltage_level_details;
unsigned char injections_added;
int max_steps;
} nad_parameters;

typedef enum {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1171,6 +1171,12 @@ public interface NadParametersPointer extends PointerBase {

@CField("injections_added")
boolean isInjectionsAdded();

@CField("max_steps")
void setMaxSteps(int maxSteps);

@CField("max_steps")
int getMaxSteps();
}

@CStruct("dynamic_simulation_parameters")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -999,6 +999,7 @@ public static void copyToCNadParameters(NadParameters parameters, NadParametersP
cParameters.setEdgeInfoDisplayed(edgeInfo);
cParameters.setVoltageLevelDetails(parameters.getSvgParameters().isVoltageLevelDetails());
cParameters.setInjectionsAdded(parameters.getLayoutParameters().isInjectionsAdded());
cParameters.setMaxSteps(parameters.getLayoutParameters().getMaxSteps());
}

@CEntryPoint(name = "createNadParameters")
Expand Down Expand Up @@ -1070,6 +1071,8 @@ public static NadParameters convertNadParameters(NadParametersPointer nadParamet
.setBusLegend(nadParametersPointer.isBusLegend())
.setSubstationDescriptionDisplayed(nadParametersPointer.isSubstationDescriptionDisplayed())
.setEdgeInfoDisplayed(edgeInfo);
nadParameters.getLayoutParameters()
.setMaxSteps(nadParametersPointer.getMaxSteps());
return nadParameters;
}

Expand Down
1 change: 1 addition & 0 deletions pypowsybl/_pypowsybl.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,7 @@ class NadParameters:
edge_info_displayed: EdgeInfoType
voltage_level_details: bool
injections_added: bool
max_steps: int
def __init__(self) -> None: ...

class SlackBusResult:
Expand Down
11 changes: 10 additions & 1 deletion pypowsybl/network/impl/nad_parameters.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ def __init__(self, edge_name_displayed: bool = False, id_displayed: bool = False
current_value_precision: int = 0, voltage_value_precision: int = 1, bus_legend: bool = True,
substation_description_displayed: bool = False, layout_type: NadLayoutType = NadLayoutType.FORCE_LAYOUT,
scaling_factor: int = 150000, radius_factor: float = 150.0,
edge_info_displayed: EdgeInfoType = EdgeInfoType.ACTIVE_POWER, voltage_level_details: bool = True, injections_added: bool = False):
edge_info_displayed: EdgeInfoType = EdgeInfoType.ACTIVE_POWER, voltage_level_details: bool = True,
injections_added: bool = False, max_steps: int = 750):
self._edge_name_displayed = edge_name_displayed
self._edge_info_along_edge = edge_info_along_edge
self._id_displayed = id_displayed
Expand All @@ -33,6 +34,7 @@ def __init__(self, edge_name_displayed: bool = False, id_displayed: bool = False
self._edge_info_displayed = edge_info_displayed
self._voltage_level_details = voltage_level_details
self._injections_added = injections_added
self._max_steps = max_steps

@property
def edge_name_displayed(self) -> bool:
Expand Down Expand Up @@ -109,6 +111,11 @@ def injections_added(self) -> bool:
"""injections_added"""
return self._injections_added

@property
def max_steps(self) -> int:
"""max_steps"""
return self._max_steps

def _to_c_parameters(self) -> _pp.NadParameters:
c_parameters = _pp.NadParameters()
c_parameters.edge_name_displayed = self._edge_name_displayed
Expand All @@ -126,6 +133,7 @@ def _to_c_parameters(self) -> _pp.NadParameters:
c_parameters.edge_info_displayed = self._edge_info_displayed
c_parameters.voltage_level_details = self._voltage_level_details
c_parameters.injections_added = self._injections_added
c_parameters.max_steps = self._max_steps
return c_parameters

def __repr__(self) -> str:
Expand All @@ -145,4 +153,5 @@ def __repr__(self) -> str:
f", edge_info_displayed={self._edge_info_displayed}" \
f", voltage_level_details={self._voltage_level_details}" \
f", injections_added={self._injections_added}" \
f", max_steps={self._max_steps}" \
f")"