Exemple #1
0
        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));
        }
Exemple #2
0
 public override XZVectorPair IntegrateStep(DAEDISystem system, XZVectorPair xz, double t)
 {
     throw new NotImplementedException();
 }
Exemple #3
0
 public abstract XZVectorPair IntegrateStep(DAEDISystem system, XZVectorPair xz, double t);