-
- All Superinterfaces:
Evaluable
- All Known Implementing Classes:
AbstractAsymmetricalClosedBranchCoupledFlowEquationTerm
,AbstractClosedBranchAcFlowEquationTerm
,AbstractClosedBranchDcFlowEquationTerm
,AbstractElementEquationTerm
,AbstractEquationTerm
,AbstractHvdcAcEmulationFlowEquationTerm
,AbstractNamedEquationTerm
,AbstractShuntCompensatorEquationTerm
,AbstractShuntFortescueCurrentEquationTerm
,AbstractShuntFortescueEquationTerm
,AsymmetricalClosedBranchCoupledCurrentEquationTerm
,AsymmetricalClosedBranchCoupledPowerEquationTerm
,ClosedBranchI1xFlowEquationTerm
,ClosedBranchI1yFlowEquationTerm
,ClosedBranchI2xFlowEquationTerm
,ClosedBranchI2yFlowEquationTerm
,ClosedBranchSide1ActiveFlowEquationTerm
,ClosedBranchSide1CurrentMagnitudeEquationTerm
,ClosedBranchSide1DcFlowEquationTerm
,ClosedBranchSide1ReactiveFlowEquationTerm
,ClosedBranchSide2ActiveFlowEquationTerm
,ClosedBranchSide2CurrentMagnitudeEquationTerm
,ClosedBranchSide2DcFlowEquationTerm
,ClosedBranchSide2ReactiveFlowEquationTerm
,EquationTerm.MultiplyByScalarEquationTerm
,HvdcAcEmulationSide1ActiveFlowEquationTerm
,HvdcAcEmulationSide2ActiveFlowEquationTerm
,LoadFortescuePowerEquationTerm
,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
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description double
calculateSensi(com.powsybl.math.matrix.DenseMatrix x, int column)
double
der(Variable<V> variable)
Get partial derivative.double
eval()
Evaluate equation term.List<EquationTerm<V,E>>
getChildren()
int
getElementNum()
ElementType
getElementType()
Equation<V,E>
getEquation()
List<Variable<V>>
getVariables()
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
setStateVector(StateVector sv)
Set state vector to use for term evaluation.void
write(Writer writer)
-
-
-
Method Detail
-
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()
-
isActive
boolean isActive()
-
setActive
void setActive(boolean active)
-
setSelf
void setSelf(EquationTerm<V,E> self)
-
getElementType
ElementType getElementType()
-
getElementNum
int getElementNum()
-
getVariables
List<Variable<V>> getVariables()
Get the list of variable this equation term depends on.- Returns:
- the list of variable this equation term depends on.
-
setStateVector
void setStateVector(StateVector sv)
Set state vector to use for term evaluation.- Parameters:
sv
- the state vector
-
eval
double eval()
Evaluate equation term.
-
der
double der(Variable<V> variable)
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
void write(Writer writer) throws IOException
- Throws:
IOException
-
multiply
default EquationTerm<V,E> multiply(DoubleSupplier scalarSupplier)
-
multiply
default EquationTerm<V,E> multiply(double scalar)
-
minus
default EquationTerm<V,E> minus()
-
-