- All Superinterfaces:
Evaluable
- All Known Implementing Classes:
AbstractAsymmetricalClosedBranchCoupledFlowEquationTerm
,AbstractClosedBranchAcFlowEquationTerm
,AbstractClosedBranchDcFlowEquationTerm
,AbstractElementEquationTerm
,AbstractEquationTerm
,AbstractHvdcAcEmulationFlowEquationTerm
,AbstractLoadModelEquationTerm
,AbstractNamedEquationTerm
,AbstractShuntCompensatorEquationTerm
,AbstractShuntFortescueCurrentEquationTerm
,AbstractShuntFortescueEquationTerm
,AsymmetricalClosedBranchCoupledCurrentEquationTerm
,AsymmetricalClosedBranchCoupledPowerEquationTerm
,ClosedBranchI1xFlowEquationTerm
,ClosedBranchI1yFlowEquationTerm
,ClosedBranchI2xFlowEquationTerm
,ClosedBranchI2yFlowEquationTerm
,ClosedBranchSide1ActiveFlowEquationTerm
,ClosedBranchSide1CurrentMagnitudeEquationTerm
,ClosedBranchSide1DcFlowEquationTerm
,ClosedBranchSide1ReactiveFlowEquationTerm
,ClosedBranchSide2ActiveFlowEquationTerm
,ClosedBranchSide2CurrentMagnitudeEquationTerm
,ClosedBranchSide2DcFlowEquationTerm
,ClosedBranchSide2ReactiveFlowEquationTerm
,EquationTerm.MultiplyByScalarEquationTerm
,HvdcAcEmulationSide1ActiveFlowEquationTerm
,HvdcAcEmulationSide2ActiveFlowEquationTerm
,LoadFortescuePowerEquationTerm
,LoadModelActiveFlowEquationTerm
,LoadModelReactiveFlowEquationTerm
,OpenBranchSide1ActiveFlowEquationTerm
,OpenBranchSide1CurrentMagnitudeEquationTerm
,OpenBranchSide1ReactiveFlowEquationTerm
,OpenBranchSide2ActiveFlowEquationTerm
,OpenBranchSide2CurrentMagnitudeEquationTerm
,OpenBranchSide2ReactiveFlowEquationTerm
,ShuntCompensatorActiveFlowEquationTerm
,ShuntCompensatorReactiveFlowEquationTerm
,ShuntFortescueIxEquationTerm
,ShuntFortescueIyEquationTerm
,VariableEquationTerm
,VoltageMagnitudeInitializer.InitVmBusEquationTerm
public interface EquationTerm<V extends Enum<V> & Quantity,E extends Enum<E> & Quantity>
extends Evaluable
An equation term, i.e part of the equation sum.
- Author:
- Geoffroy Jamgotchian <geoffroy.jamgotchian at rte-france.com>
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptiondouble
calculateSensi
(com.powsybl.math.matrix.DenseMatrix x, int column) double
Get partial derivative.double
eval()
Evaluate equation term.default double
eval
(StateVector sv) Evaluate the equation term with an alternative state vector.List<EquationTerm<V,
E>> int
Get the list of variable this equation term depends on.boolean
hasRhs()
Checkrhs()
can return a value different from zero.boolean
isActive()
default EquationTerm<V,
E> minus()
default EquationTerm<V,
E> multiply
(double scalar) static <V extends Enum<V> & Quantity,
E extends Enum<E> & Quantity>
EquationTerm<V,E> multiply
(EquationTerm<V, E> term, double scalar) static <V extends Enum<V> & Quantity,
E extends Enum<E> & Quantity>
EquationTerm<V,E> multiply
(EquationTerm<V, E> term, DoubleSupplier scalarSupplier) default EquationTerm<V,
E> multiply
(DoubleSupplier scalarSupplier) double
rhs()
Get part of the partial derivative that has to be moved to right hand side.void
setActive
(boolean active) void
setEquation
(Equation<V, E> equation) void
setSelf
(EquationTerm<V, E> self) void
Set state vector to use for term evaluation.void
-
Method Details
-
multiply
static <V extends Enum<V> & Quantity,E extends Enum<E> & Quantity> EquationTerm<V,E> multiply(EquationTerm<V, E> term, DoubleSupplier scalarSupplier) -
multiply
static <V extends Enum<V> & Quantity,E extends Enum<E> & Quantity> EquationTerm<V,E> multiply(EquationTerm<V, E> term, double scalar) -
getChildren
List<EquationTerm<V,E>> getChildren() -
getEquation
-
setEquation
-
isActive
boolean isActive() -
setActive
void setActive(boolean active) -
setSelf
-
getElementType
ElementType getElementType() -
getElementNum
int getElementNum() -
getVariables
Get the list of variable this equation term depends on.- Returns:
- the list of variable this equation term depends on.
-
setStateVector
Set state vector to use for term evaluation.- Parameters:
sv
- the state vector
-
eval
double eval()Evaluate equation term. -
eval
Evaluate the equation term with an alternative state vector.- Returns:
- value of the equation term
-
der
Get partial derivative.- Parameters:
variable
- the variable the partial derivative is with respect to- Returns:
- value of the partial derivative
-
hasRhs
boolean hasRhs()Checkrhs()
can return a value different from zero.- Returns:
- true if
rhs()
can return a value different from zero, false otherwise
-
rhs
double rhs()Get part of the partial derivative that has to be moved to right hand side.- Returns:
- value of part of the partial derivative that has to be moved to right hand side
-
calculateSensi
double calculateSensi(com.powsybl.math.matrix.DenseMatrix x, int column) -
write
- Throws:
IOException
-
multiply
-
multiply
-
minus
-