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

com.powsybl.openrao.raoapi.parameters.extensions.LoopFlowParametersExtension Maven / Gradle / Ivy

There is a newer version: 6.2.1
Show newest version
/*
 * 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/.
 */
package com.powsybl.openrao.raoapi.parameters.extensions;

import com.powsybl.openrao.raoapi.parameters.ParametersUtil;
import com.powsybl.openrao.raoapi.parameters.RaoParameters;
import com.powsybl.commons.extensions.AbstractExtension;
import com.powsybl.iidm.network.Country;

import java.util.*;

import static com.powsybl.openrao.raoapi.RaoParametersCommons.*;

/**
 * Extension : loopFlow parameters for RAO
 *
 * @author Godelaine de Montmorillon {@literal }
 */
public class LoopFlowParametersExtension extends AbstractExtension {
    static final double DEFAULT_ACCEPTABLE_INCREASE = 0.0;
    static final PtdfApproximation DEFAULT_PTDF_APPROXIMATION = PtdfApproximation.FIXED_PTDF;
    static final double DEFAULT_CONSTRAINT_ADJUSTMENT_COEFFICIENT = 0.0;
    static final double DEFAULT_VIOLATION_COST = 0.0;
    static final Set DEFAULT_COUNTRIES = new HashSet<>(); //Empty by default
    private double acceptableIncrease = DEFAULT_ACCEPTABLE_INCREASE;
    private PtdfApproximation ptdfApproximation = DEFAULT_PTDF_APPROXIMATION;

    private double constraintAdjustmentCoefficient = DEFAULT_CONSTRAINT_ADJUSTMENT_COEFFICIENT;
    private double violationCost = DEFAULT_VIOLATION_COST;
    private Set countries = DEFAULT_COUNTRIES;

    // Getters and setters
    public double getAcceptableIncrease() {
        return acceptableIncrease;
    }

    public void setAcceptableIncrease(double acceptableIncrease) {
        this.acceptableIncrease = acceptableIncrease;
    }

    public PtdfApproximation getPtdfApproximation() {
        return ptdfApproximation;
    }

    public void setPtdfApproximation(PtdfApproximation ptdfApproximation) {
        this.ptdfApproximation = ptdfApproximation;
    }

    public double getConstraintAdjustmentCoefficient() {
        return constraintAdjustmentCoefficient;
    }

    public void setConstraintAdjustmentCoefficient(double constraintAdjustmentCoefficient) {
        this.constraintAdjustmentCoefficient = constraintAdjustmentCoefficient;
    }

    public double getViolationCost() {
        return violationCost;
    }

    public void setViolationCost(double violationCost) {
        this.violationCost = violationCost;
    }

    public Set getCountries() {
        return countries;
    }

    public void setCountries(Set countries) {
        this.countries = countries;
    }

    public void setCountries(List countryStrings) {
        this.countries = ParametersUtil.convertToCountrySet(countryStrings);
    }

    @Override
    public String getName() {
        return LOOP_FLOW_PARAMETERS;
    }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy