wiki:u/erica/GudonovMethodEuler

Version 9 (modified by Erica Kaminski, 12 years ago) ( diff )

Big Picture

  1. Define a piece-wise function of initial data; do this by computing cell averages: U(i,n) = (1/delta_x)*Integral[u(x,tn)]dx evaluated over the entire cell (i.e. over flanking intercell boundaries)
  1. Solve the IVP for the original conservation law, but with modified (discretized) initial data to get the solution for the next time level
  1. This produces local Riemann Problems (RPs), centered on intercell boundaries.
  1. Solve these local RP's, and use solution to compute fluxes

The method

In conservative form, the Godunov method is written:

where F(i-½) is the numerical flux, which = F(u(i+½, 0)) (i.e. the physical flux evaluated using the solution to local RP)

where delta_t is constrained by the delta_t ⇐ delta_x/max[S(n)] ← here s(n) is a given wave speed. note this allows a wave to travel a full delta_x in a time-step

we don't worry about wave-wave interaction based on linearity — that is, assume wave interactions do not lead to wave accelerations

we can specify the time constraint as follows, delta_t = cfl*delta_x/max[s(n)], if we let 0<cfl⇐1. a cfl = 1 gives the most efficient time marching scheme (the largest time steps). max[s(n)] finds the max speed on the entire domain.

u(i, n+1) = average over the cell

Attachments (14)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.