static public Solution Solve(DAEEDescription equations, DAEESolver solver) { List <double[]> values = new List <double[]>(); List <double> time = new List <double>(); XZVectorPair xz = new XZVectorPair { X = Vector <double> .Build.Dense(equations.InitialValuesX), Z = Vector <double> .Build.Dense(equations.InitialValuesZ) }; DAEEAnalytic system = new DAEEAnalytic(equations); values.Add(xz.ToArray()); time.Add(equations.T0); for (double t = 0.0; t < equations.Time;) { double ti = t + equations.T0; t += solver.step; xz = solver.IntegrateStep(system, xz, ti); values.Add(xz.ToArray()); double tnext = t + equations.T0; time.Add(tnext); } string[] variables = equations.VariableNames; return(new Solution(values, time, variables)); }
public override XZVectorPair IntegrateStep(DAEDISystem system, XZVectorPair xz, double t) { throw new NotImplementedException(); }
public abstract XZVectorPair IntegrateStep(DAEDISystem system, XZVectorPair xz, double t);