TapChangerAutomationSystemXmlTest.java
/**
* Copyright (c) 2023, RTE (http://www.rte-france.com/)
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
* SPDX-License-Identifier: MPL-2.0
*/
package com.powsybl.dynawo.xml;
import com.powsybl.dynawo.DynawoSimulationConstants;
import com.powsybl.dynawo.models.TransformerSide;
import com.powsybl.dynawo.models.automationsystems.TapChangerAutomationSystemBuilder;
import com.powsybl.dynawo.models.loads.LoadOneTransformerBuilder;
import com.powsybl.dynawo.models.loads.LoadTwoTransformersBuilder;
import com.powsybl.iidm.network.Bus;
import com.powsybl.iidm.network.VoltageLevel;
import com.powsybl.iidm.network.test.EurostagTutorialExample1Factory;
import org.junit.jupiter.api.Test;
import org.xml.sax.SAXException;
import java.io.IOException;
/**
* @author Laurent Issertial {@literal <laurent.issertial at rte-france.com>}
*/
class TapChangerAutomationSystemXmlTest extends AbstractDynamicModelXmlTest {
@Override
protected void setupNetwork() {
network = EurostagTutorialExample1Factory.createWithLFResults();
VoltageLevel vlload = network.getVoltageLevel("VLLOAD");
Bus nload = network.getBusBreakerView().getBus("NLOAD");
vlload.newLoad().setId("LOAD2").setBus(nload.getId()).setConnectableBus(nload.getId()).setP0(600.0).setQ0(200.0).add();
vlload.newLoad().setId("LOAD3").setBus(nload.getId()).setConnectableBus(nload.getId()).setP0(600.0).setQ0(200.0).add();
}
@Override
protected void addDynamicModels() {
dynamicModels.add(LoadOneTransformerBuilder.of(network, "LoadOneTransformer")
.staticId("LOAD")
.parameterSetId("LOT")
.build());
dynamicModels.add(LoadTwoTransformersBuilder.of(network, "LoadTwoTransformers")
.staticId("LOAD2")
.parameterSetId("LTT")
.build());
dynamicModels.add(LoadTwoTransformersBuilder.of(network, "LoadTwoTransformers")
.staticId("LOAD3")
.parameterSetId("LTT")
.build());
dynamicModels.add(TapChangerAutomationSystemBuilder.of(network)
.dynamicModelId("BBM_TC")
.parameterSetId("tc")
.staticId("LOAD")
.build());
dynamicModels.add(TapChangerAutomationSystemBuilder.of(network)
.dynamicModelId("BBM_TC2")
.parameterSetId("tc")
.staticId("LOAD2")
.side(TransformerSide.LOW_VOLTAGE)
.build());
dynamicModels.add(TapChangerAutomationSystemBuilder.of(network)
.dynamicModelId("BBM_TC3")
.parameterSetId("tc")
.staticId("LOAD3")
.side("HIGH_VOLTAGE")
.build());
}
@Test
void writeModel() throws SAXException, IOException {
DydXml.write(tmpDir, context.getSimulationDydData());
ParametersXml.write(tmpDir, context);
validate("dyd.xsd", "tap_changer_dyd.xml", tmpDir.resolve(DynawoSimulationConstants.DYD_FILENAME));
}
}