Journal article
Mathematical balancing of flux gradient and source terms prior to using Roe's approximate Riemann solver
- Abstract:
- An algebraic technique is presented for balancing flux gradients and source terms when applying Roe's approximate Riemann solver in finite volume schemes. The numerical imbalance is eradicated by reformulating the governing matrix hyperbolic system of conservation laws in terms of deviations away from an unforced but separately specified equilibrium state. Thus, balancing is achieved by the incorporation of this extra physical information and bypasses conventional numerical treatments of the imbalance. The technique is first applied to the shallow water equations. Simulations of benchmark flows including wind-induced flow in a two-dimensional basin, transcritical flow in a one-dimensional channel and wave propagation over a two-dimensional hump are in close agreement with analytical solutions and predictions by alternative numerical schemes. The technique is then applied to a more complicated coupled pair of equation sets, the hyperbolic period- and depth-averaged ray-type wave conservation and modified shallow water equations that describe wave current interaction in the nearshore zone at the coast. Reasonable agreement is obtained with laboratory measurements of wave diffraction behind a submerged elliptical shoal [Coastal Engrg. 6 (1982) 255] and of wave-induced nearshore currents at a half-sinusoidal beach [Wave-induced nearshore currents, Ph.D. Thesis, Liverpool University, UK, 1981]. © 2003 Elsevier B.V. All rights reserved.
- Publication status:
- Published
Actions
Authors
- Journal:
- JOURNAL OF COMPUTATIONAL PHYSICS More from this journal
- Volume:
- 192
- Issue:
- 2
- Pages:
- 422-451
- Publication date:
- 2003-12-10
- DOI:
- ISSN:
-
0021-9991
- Keywords:
- Pubs id:
-
pubs:63207
- UUID:
-
uuid:0f7dd9f8-cd9c-417a-a34e-ceeb850dde8f
- Local pid:
-
pubs:63207
- Source identifiers:
-
63207
- Deposit date:
-
2013-11-17
Terms of use
- Copyright date:
- 2003
If you are the owner of this record, you can report an update to it here: Report update to this record