ZipLoadModelImpl.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.iidm.network.impl;
import com.powsybl.iidm.network.Validable;
import com.powsybl.iidm.network.ValidationException;
import com.powsybl.iidm.network.ZipLoadModel;
/**
* @author Geoffroy Jamgotchian {@literal <geoffroy.jamgotchian at rte-france.com>}
*/
public class ZipLoadModelImpl extends AbstractLoadModelImpl implements ZipLoadModel {
private double c0p;
private double c1p;
private double c2p;
private double c0q;
private double c1q;
private double c2q;
public ZipLoadModelImpl(double c0p, double c1p, double c2p, double c0q, double c1q, double c2q) {
this.c0p = c0p;
this.c1p = c1p;
this.c2p = c2p;
this.c0q = c0q;
this.c1q = c1q;
this.c2q = c2q;
}
static double checkCoefficient(Validable validable, double coefficient) {
if (Double.isNaN(coefficient)) {
throw new ValidationException(validable, "Invalid zip load model coefficient: " + coefficient);
}
return coefficient;
}
@Override
public double getC0p() {
return c0p;
}
@Override
public ZipLoadModelImpl setC0p(double c0p) {
this.c0p = checkCoefficient(load, c0p);
return this;
}
@Override
public double getC1p() {
return c1p;
}
@Override
public ZipLoadModelImpl setC1p(double c1p) {
this.c1p = checkCoefficient(load, c1p);
return this;
}
@Override
public double getC2p() {
return c2p;
}
@Override
public ZipLoadModelImpl setC2p(double c2p) {
this.c2p = checkCoefficient(load, c2p);
return this;
}
@Override
public double getC0q() {
return c0q;
}
@Override
public ZipLoadModelImpl setC0q(double c0q) {
this.c0q = checkCoefficient(load, c0q);
return this;
}
@Override
public double getC1q() {
return c1q;
}
@Override
public ZipLoadModelImpl setC1q(double c1q) {
this.c1q = checkCoefficient(load, c1q);
return this;
}
@Override
public double getC2q() {
return c2q;
}
@Override
public ZipLoadModelImpl setC2q(double c2q) {
this.c2q = checkCoefficient(load, c2q);
return this;
}
}