Weeks[5:8]

In first two weeks, I worked on IMEX methods.

IMEX Methods

If the ODE (or system of ODEs) has a stiff part and non-stiff part then purely implicit method may be acceptable in this scenario as explicit methods are unacceptable for stiff problems due to the limited size of their stability regions but one could envision a situation where the imaginary part is nonlinear and the stiff part linear in this scenario, using an implicit method is the worst of both worlds we end up solving a nonlinear problem, and it isn’t one we want to solve. This type of problem can be solved using a class of methods called Implicit-Explicit methods or IMEX methods in which we pick an implicit method for the stiff part and an explicit method for non-stiff part.
To solve non-stiff and stiff part separately, We can define a problem as ​ SplitODEProblem​, in which one part ​say, f1​ will be stiff, and ​f2​ will be non-stiff.

In OrdinaryDiffEq.jl, we can define ODE Problem as SplitODEProblem like this -

prob​ = SplitODEProblem(f1, f2, u0, tspan)

I have implemented the following IMEX methods.

1. IMEX Euler

In this scheme, Forward Euler scheme is applied to non-stiff part and Backward Euler to stiff part.

2. Crank-Nicolson Admas Bashforth (CNAB)

A typical and extremely popular time integration scheme of this type is CrankNicolson (Trapezoidal rule) Adams-Bashforth often called CNAB or ABCN. This is a second-order method.

3. Crank-Nicolson Leapfrog (CNLF)

Another 2nd order popular scheme is Crank-Nicolson Leapfrog (CNLF).

Quasi-constant step size Numerical Differentiation Methods

In the other two weeks and currently, I am working on Quasi-constant step size implementation of the NDF’s in terms of backward differences.
I have added 1st order quasi-constant step size NDF method (QNDF1) and currently, working on QNDF2.