My code solves the incompressible Navier-Stokes equation in a conducting fluid, together with the induction equation:
$ \partial_t u + u \nabla u + 2\Omega \times u = -\nabla p + \nu \Delta u + (\nabla \times b) \times b \\ \partial_t b = \nabla \times (u \times b) + \eta \Delta b$
where $u$ and $b$ are the velocity and magnetic fields, $\eta$ and $\nu$ are diffusion constants, $p$ is the pressure, $\Omega$ the rotation rate of the reference frame. I solve this PDE system in spherical geometry using finite differences in the radial direction and spherical harmonic expansion.
Let's focus on the Navier-Stokes equation which contains the Lorentz force $(\nabla \times b) \times b$. I use a Crank-Nicholson semi-implicit scheme for the diffusive terms, while the non-linear terms $u\nabla u$ and $(\nabla \times b)\times b$ are treated explicitely:
$Au_{n+1} = Bu_{n} + NL(u_n,b_n)$
where $u_n$ and $b_n$ are respectively my velocity and magnetic field at time-step $n$, and $A$ and $B$ are matrices containing the time-step. (Note that $NL(u_n,b_n)$ actually also includes $2\Omega\times u$ for convenience, and that $\nabla p$ is eliminated by taking the curl)
I would like to adjust dynamically my time-step. For Navier-Stokes, the usual CFL criterion can be used, but what about the Lorentz force ? I can proably come up with some specific criterion, but here is my question:
Is there a way to adjust the time-step $\Delta t$ knowing only the non-linear term $NL(u_n,b_n)$ and ignoring its analytical form or physical meaning ? Some sort of generalised CFL criterion ?
I've thought about something like $NL \Delta t < c\, U$ (where $c$ is a constant). When $NL = u\nabla u \sim \frac{U^2}{\Delta x}$, it reduces to the CFL $\frac{U\Delta t}{\Delta x} < c$. Doest it makes sense ? Is there a better way to think about this ? Are there references on the subject ?