Package jline.solvers.fluid.handlers
Class PassageTimeODE
java.lang.Object
jline.solvers.fluid.handlers.PassageTimeODE
- All Implemented Interfaces:
org.apache.commons.math3.ode.FirstOrderDifferentialEquations
public class PassageTimeODE
extends Object
implements org.apache.commons.math3.ode.FirstOrderDifferentialEquations
-
Constructor Summary
ConstructorsConstructorDescriptionPassageTimeODE(NetworkStruct sn, Map<Station, Map<JobClass, Matrix>> mu, Map<Station, Map<JobClass, Matrix>> phi, Map<Station, Map<JobClass, MatrixCell>> proc, Matrix rt, Matrix S, SolverOptions options) PassageTimeODE(NetworkStruct sn, Map<Station, Map<JobClass, Matrix>> mu, Map<Station, Map<JobClass, Matrix>> phi, Map<Station, Map<JobClass, MatrixCell>> proc, Matrix rt, Matrix S, SolverOptions options, int numDimensions) -
Method Summary
Modifier and TypeMethodDescriptioncalculateRatesClosing(double[] x) Raw closing-method event-rate vector, mirroring MATLAB ode_rates_closing: the per-index scheduling correction gathered over the event index set and scaled by the rate base.calculateRatesClosing(double t, double[] x) Closing-method event-rate vector at timet, that iscalculateRatesClosing(double[])scaled by the time-varying rate multiplier m(t) when one is configured.voidcomputeDerivatives(double t, double[] x, double[] dxdt) Precomputed jump matrix of the closing method (dimension x numEvents).intboolean[][]Precomputed per-(station,class) enabled flags of the closing method.getKic()Precomputed per-(station,class) phase count of the closing method.Precomputed per-(station,class) starting state index of the closing method.
-
Constructor Details
-
PassageTimeODE
-
PassageTimeODE
-
-
Method Details
-
calculateRatesClosing
Raw closing-method event-rate vector, mirroring MATLAB ode_rates_closing: the per-index scheduling correction gathered over the event index set and scaled by the rate base. The returned vector has one entry per event of the (possibly immediate-eliminated) closing machinery and is left-multiplied by the jump matrix to obtain the derivative. It is exposed for the trajectory-based iteration (TBI) analyzer, which applies the row-restricted jump matrix of each cell to this full rate vector.- Parameters:
x- full fluid state (length equal to getDimension())- Returns:
- column vector of event rates (numEvents x 1)
-
calculateRatesClosing
Closing-method event-rate vector at timet, that iscalculateRatesClosing(double[])scaled by the time-varying rate multiplier m(t) when one is configured. Identical to the autonomous form otherwise.- Parameters:
t- current timex- full fluid state (length equal to getDimension())- Returns:
- column vector of event rates (numEvents x 1)
-
getAllJumps
Precomputed jump matrix of the closing method (dimension x numEvents). -
getQIndices
Precomputed per-(station,class) starting state index of the closing method. -
getKic
Precomputed per-(station,class) phase count of the closing method. -
getEnabled
public boolean[][] getEnabled()Precomputed per-(station,class) enabled flags of the closing method. -
computeDerivatives
public void computeDerivatives(double t, double[] x, double[] dxdt) throws org.apache.commons.math3.exception.MaxCountExceededException, org.apache.commons.math3.exception.DimensionMismatchException - Specified by:
computeDerivativesin interfaceorg.apache.commons.math3.ode.FirstOrderDifferentialEquations- Throws:
org.apache.commons.math3.exception.MaxCountExceededExceptionorg.apache.commons.math3.exception.DimensionMismatchException
-
getDimension
public int getDimension()- Specified by:
getDimensionin interfaceorg.apache.commons.math3.ode.FirstOrderDifferentialEquations
-