Finite Volume Method Philip Mocz
Goals Construct a robust, 2nd order FV method for the Euler equation (Navier-Stokes without the viscous term) Simulate the Kelvin Helmholtz Instability!
FV formulation State vector (conservative variables) Equation of state:
Conservative Form State vector Flux
Integrate Now a surface integral, by Gauss’ Theorem Integrated state vector
Discretize i j Flux across face Fij
Conservative Property Flux is anti-symmetric Question: what are the fluid variables that are conserved?
Computing the Flux Don’t just average the flux of 2 sides, use Upwind Flux (i.e., add an advective term, which creates some numerical diffusion for stability) We will use the local Rusanov Flux Can also solve this exactly, called the Riemann Problem Fastest propagation speed in the system
Conservative <--> Primitive forms Primitive state vector: W = (rho, vx, vy, P)’; Euler equations in primitive form Question: why is this not conservative form?
Making the scheme 2nd order Gradient estimation
Slope limiting Detect local minima and flatten them! Question: are there negative side effects?
2nd order flux computation Extrapolate primitive variables in space and ½ time step before calculating the flux Left and right states at the interface face cell center L R
That’s it! Now let’s look at some code, the implementation details will take a while to digest