Difference between revisions of "Mesh generation"
| Line 12: | Line 12: | ||
With xmgredit5, you can very easily visualize CFL for the entire grid. Note, however, that CFL number is undefined when h<0. In these shallow regions, we should use |u| alone and neglect the wave celerity term (sqrt(g*h)). E.g., if we estimate |u| ~ 1m/s, with a time step of 100s, the max. dx should be 250m; with dt=50s, dx_max=125m. | With xmgredit5, you can very easily visualize CFL for the entire grid. Note, however, that CFL number is undefined when h<0. In these shallow regions, we should use |u| alone and neglect the wave celerity term (sqrt(g*h)). E.g., if we estimate |u| ~ 1m/s, with a time step of 100s, the max. dx should be 250m; with dt=50s, dx_max=125m. | ||
| + | *[[Viz CFL number in xmgredit5]] | ||
==Baratropic simulation== | ==Baratropic simulation== | ||
==baroclinic simulation== | ==baroclinic simulation== | ||
Revision as of 16:57, 28 August 2012
Beware of CFL number
You may be familiar with the CFL restriction associated with explicit (mode-splitting) modele; the CFL number, defined as
CFL=(|u|+sqrt(g*h))*dt/dx
must be <1 for given dx,dt. Here h is the local water depth, and u is the flow velocity.
Being an implicit model using Eulerian-Lagrangian method (ELM), SELFE has a somewhat opposite requirement: CFL>0.4. Therefore care must be taken in the grid generation process; otherwise numerical diffusion in ELM would ruin your results, which may manifest itself in the form of either noise or dissipation.
With xmgredit5, you can very easily visualize CFL for the entire grid. Note, however, that CFL number is undefined when h<0. In these shallow regions, we should use |u| alone and neglect the wave celerity term (sqrt(g*h)). E.g., if we estimate |u| ~ 1m/s, with a time step of 100s, the max. dx should be 250m; with dt=50s, dx_max=125m.