com.powsybl.contingency.tasks.AbstractTrippingTask Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of powsybl-contingency-api Show documentation
Show all versions of powsybl-contingency-api Show documentation
An API to describe and trigger contingencies
/**
* Copyright (c) 2017, 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/.
*/
package com.powsybl.contingency.tasks;
import com.powsybl.computation.ComputationManager;
import com.powsybl.iidm.network.Network;
import com.powsybl.iidm.network.Switch;
import com.powsybl.iidm.network.Terminal;
import java.util.HashSet;
import java.util.Set;
/**
* @author Mathieu Bague
*/
public abstract class AbstractTrippingTask implements ModificationTask {
@Override
public void modify(Network network, ComputationManager computationManager) {
Set switchesToOpen = new HashSet<>();
Set terminalsToDisconnect = new HashSet<>();
traverse(network, computationManager, switchesToOpen, terminalsToDisconnect);
switchesToOpen.forEach(s -> s.setOpen(true));
terminalsToDisconnect.forEach(Terminal::disconnect);
}
public abstract void traverse(Network network, ComputationManager computationManager, Set switchesToOpen, Set terminalsToDisconnect);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy