Skip to content

Releases: OlegJakushkin/CSharpOdeLibrary

CSharpOdeLibrary v1.0

09 Mar 07:00
Compare
Choose a tag to compare

Simple C# ODE Solver Library (Wrapper around Boost.OdeInt).

####Release build 1.0 using static Boost 1.54 Ode library, compiled for .net 3.5

Allows you to solve ODE systems (also for _complex numbers_) like this:

var lorenz = new LambdaOde
{
    From = 0,
    To = 25,
    Step = 0.1,
    InitialConditions = new StateType(new[] { 10, 1.0, 1.0 }),
    OdeObserver = (x, t) => Console.WriteLine("{0} : {1} : {2}", x[0], x[1], x[2]),
    OdeSystem =
    (x, dxdt, t) => {
        const double sigma = 10.0;
        const double r = 28.0;
        const double b = 8.0 / 3.0;
        dxdt[0] = sigma * (x[1] - x[0]);
        dxdt[1] = r * x[0] - x[1] - x[0] * x[2];
        dxdt[2] = -b * x[2] + x[0] * x[1];
    }
};

Steppers:

  • RungeKuttaDopri5,
  • Euler,
  • ModifiedMidpoint,
  • RungeKutta4,
  • RungeKuttaCashKarp54,
  • RungeKuttaFehlberg78,
  • ControlledRungeKutta,
  • BulirschStoer,
  • BulirschStoerDenseOut

Integrate Function Types:

  • Adaptive,
  • Const

Generation Function Types

  • Dense,
  • Controlled