Navier Stokes runge kutta question

63 Views Asked by At

I was playing a little bit with the Runge-Kutta procedure for the Incompressible Navier-Stokes equation and came up with something strange, so I would like to know where I'm wrong or doing something I shouldn't.

Let's consider $u_i = u^n + \Delta t \sum_{j=0}^{i-1}a_{ij}F(u_j)u_j - c_i \Delta t G \phi_i $

where $F$ is the right hand side operator of the Navier-Stokes equation and $G$ is the discrete gradient operator.

So if I want to find a pressure equation, I should apply the divergence $M$ operator both sides

$Mu_i = Mu^n + \Delta t \sum_{j=0}^{i-1}a_{ij}MF(u_j)u_j - c_i \Delta t MG \phi_i $

and by employing the incompressibility constraint in the inner stages and of course for the $u^n$ (i.e. $M u^n = 0$ and $Mu_i = 0$), I get

$ MG \phi_i = \frac{1}{c_i} \sum_{j=0}^{i-1}a_{ij}MF(u_j)u_j$

Let's define $L = MG$ as the discrete laplacian operator, so that

$ L \phi_i = \frac{1}{c_i} \sum_{j=0}^{i-1}a_{ij}MF(u_j)u_j$

I know that if I solve this pressure poisson equation, I would get the $\phi_i$ lagrange multiplier that allows me to project the velocity into a divergence free field.

But since I need the gradient of the pseudo-pressure, what if I write something like

$ \phi_i = \frac{1}{c_i} \sum_{j=0}^{i-1}a_{ij}L^{-1}MF(u_j)u_j$

$ G\phi_i = \frac{1}{c_i} \sum_{j=0}^{i-1}a_{ij}GL^{-1}MF(u_j)u_j$

but

$GL^{-1}M = G(MG)^{-1}M = GG^{-1}M^{-1}M = I$

so I get that

$G\phi_i = \frac{1}{c_i} \sum_{j=0}^{i-1}a_{ij}F(u_j)u_j$

that implies that $u_i = u_n$, hence I'm not advancing in time ?? I don't know where am I wrong. Thank you guys in advance.