Interface EquationTerm
-
- All Superinterfaces:
Evaluable
- All Known Implementing Classes:
AbstractClosedBranchAcFlowEquationTerm
,AbstractClosedBranchDcFlowEquationTerm
,AbstractEquationTerm
,AbstractNamedEquationTerm
,ClosedBranchSide1ActiveFlowEquationTerm
,ClosedBranchSide1CurrentMagnitudeEquationTerm
,ClosedBranchSide1DcFlowEquationTerm
,ClosedBranchSide1ReactiveFlowEquationTerm
,ClosedBranchSide2ActiveFlowEquationTerm
,ClosedBranchSide2CurrentMagnitudeEquationTerm
,ClosedBranchSide2DcFlowEquationTerm
,ClosedBranchSide2ReactiveFlowEquationTerm
,EquationTerm.MultiplyByScalarEquationTerm
,EquationTerm.VariableEquationTerm
,OpenBranchSide1ActiveFlowEquationTerm
,OpenBranchSide1CurrentMagnitudeEquationTerm
,OpenBranchSide1ReactiveFlowEquationTerm
,OpenBranchSide2ActiveFlowEquationTerm
,OpenBranchSide2CurrentMagnitudeEquationTerm
,OpenBranchSide2ReactiveFlowEquationTerm
,ShuntCompensatorReactiveFlowEquationTerm
public interface EquationTerm extends Evaluable
An equation term, i.e part of the equation sum.- Author:
- Geoffroy Jamgotchian
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
EquationTerm.MultiplyByScalarEquationTerm
static class
EquationTerm.VariableEquationTerm
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description double
calculateSensi(com.powsybl.math.matrix.DenseMatrix x, int column)
static EquationTerm.VariableEquationTerm
createVariableTerm(LfElement element, VariableType variableType, VariableSet variableSet)
static EquationTerm.VariableEquationTerm
createVariableTerm(LfElement element, VariableType variableType, VariableSet variableSet, double initialValue)
double
der(Variable variable)
Get partial derivative.double
eval()
Evaluate equation term.int
getElementNum()
ElementType
getElementType()
Equation
getEquation()
List<Variable>
getVariables()
Get the list of variable this equation term depends on.boolean
hasRhs()
Checkrhs()
can return a value different from zero.boolean
isActive()
static EquationTerm
multiply(EquationTerm term, double scalar)
double
rhs()
Get part of the partial derivative that has to be moved to right hand side.void
setActive(boolean active)
void
setEquation(Equation equation)
void
update(double[] x)
Update equation term usingx
variable values.void
write(Writer writer)
-
-
-
Method Detail
-
multiply
static EquationTerm multiply(EquationTerm term, double scalar)
-
createVariableTerm
static EquationTerm.VariableEquationTerm createVariableTerm(LfElement element, VariableType variableType, VariableSet variableSet)
-
createVariableTerm
static EquationTerm.VariableEquationTerm createVariableTerm(LfElement element, VariableType variableType, VariableSet variableSet, double initialValue)
-
getEquation
Equation getEquation()
-
setEquation
void setEquation(Equation equation)
-
isActive
boolean isActive()
-
setActive
void setActive(boolean active)
-
getElementType
ElementType getElementType()
-
getElementNum
int getElementNum()
-
getVariables
List<Variable> getVariables()
Get the list of variable this equation term depends on.- Returns:
- the list of variable this equation term depends on.
-
update
void update(double[] x)
Update equation term usingx
variable values.- Parameters:
x
- variables values vector
-
eval
double eval()
Evaluate equation term.
-
der
double der(Variable 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
-
-