All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.powsybl.openloadflow.network.LfNetworkStateUpdateParameters Maven / Gradle / Ivy

The newest version!
/**
 * Copyright (c) 2022, 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.openloadflow.network;

import java.util.Objects;

/**
 * @author Geoffroy Jamgotchian {@literal }
 */
public class LfNetworkStateUpdateParameters {

    private final boolean reactiveLimits;

    private final boolean writeSlackBus;

    private final boolean phaseShifterRegulationOn;

    private final boolean transformerVoltageControlOn;

    private final boolean transformerReactivePowerControlOn;

    private final boolean loadPowerFactorConstant;

    private final boolean dc;

    private final boolean breakers;

    private final ReactivePowerDispatchMode reactivePowerDispatchMode;

    private final boolean writeReferenceTerminals;

    private final ReferenceBusSelectionMode referenceBusSelectionMode;

    private boolean simulateAutomationSystems;

    public LfNetworkStateUpdateParameters(boolean reactiveLimits, boolean writeSlackBus, boolean phaseShifterRegulationOn,
                                          boolean transformerVoltageControlOn, boolean transformerReactivePowerControlOn, boolean loadPowerFactorConstant, boolean dc,
                                          boolean breakers, ReactivePowerDispatchMode reactivePowerDispatchMode,
                                          boolean writeReferenceTerminals, ReferenceBusSelectionMode referenceBusSelectionMode,
                                          boolean simulateAutomationSystems) {
        this.reactiveLimits = reactiveLimits;
        this.writeSlackBus = writeSlackBus;
        this.phaseShifterRegulationOn = phaseShifterRegulationOn;
        this.transformerVoltageControlOn = transformerVoltageControlOn;
        this.transformerReactivePowerControlOn = transformerReactivePowerControlOn;
        this.loadPowerFactorConstant = loadPowerFactorConstant;
        this.dc = dc;
        this.breakers = breakers;
        this.reactivePowerDispatchMode = Objects.requireNonNull(reactivePowerDispatchMode);
        this.writeReferenceTerminals = writeReferenceTerminals;
        this.referenceBusSelectionMode = referenceBusSelectionMode;
        this.simulateAutomationSystems = simulateAutomationSystems;
    }

    public boolean isReactiveLimits() {
        return reactiveLimits;
    }

    public boolean isWriteSlackBus() {
        return writeSlackBus;
    }

    public boolean isPhaseShifterRegulationOn() {
        return phaseShifterRegulationOn;
    }

    public boolean isTransformerVoltageControlOn() {
        return transformerVoltageControlOn;
    }

    public boolean isTransformerReactivePowerControlOn() {
        return transformerReactivePowerControlOn;
    }

    public boolean isLoadPowerFactorConstant() {
        return loadPowerFactorConstant;
    }

    public boolean isDc() {
        return dc;
    }

    public boolean isBreakers() {
        return breakers;
    }

    public boolean isWriteReferenceTerminals() {
        return writeReferenceTerminals;
    }

    public ReferenceBusSelectionMode getReferenceBusSelectionMode() {
        return referenceBusSelectionMode;
    }

    public ReactivePowerDispatchMode getReactivePowerDispatchMode() {
        return reactivePowerDispatchMode;
    }

    public boolean isSimulateAutomationSystems() {
        return simulateAutomationSystems;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy