IGW: Difference between revisions

From Fluids Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
IGW is Kevin's model.
IGW is Kevin's model.


== The basics ==
The Internal Gravity Wave (IGW) model is a non-parallelized code written in C. It
ToDo: Write a description of the model here.
solves the two-dimensional incompressible Euler or Navier-Stokes equations using a
second-order finite volume projection method (Bell, Collela and Glaz 1989, Bell and
Marcus 1991, Lamb 1994, 2007). The code uses terrain following coordinates. Effects
of the Earth’s rotation can be included in which case the velocity in the third (y)
direction is included however the flow is independent of y.
 
The code was developed to investigate stratified flow phenomena in the ocean,
particularly the interaction with bathymetry. The code can initialize simulations
with internal solitary wave solutions of the DJL equation (e.g., to study shoaling
solitary waves) and simulate internal wave generation by tidal flow over bathymetry
(ridges or shelfs). Variable resolutions in both the horizontal and vertical may be
used.
 
The model uses an adaptive time step based on a CFL condition. A direct solver is
used for the projection operation. The code generally makes use of the Boussinesq
approximation, though there is a non-Boussinesq option. If the Boussinesq
approximation is made the projection operator is independent of time. Hence an LU
decomposition of the projection matrix is computed and stored once at the beginning
of the run. Several options for the solver are available depending on what
scientific libraries are available. If the Boussinesq approximation is not made then
the projection operator depends on the time-evolving density field. The projection
matrix now has to be computed every time step, greatly increasing the expense, so a
different solver may be more appropriate.


== MATLAB routines ==
== MATLAB routines ==


* [[Media:igwread.m‎|igwread.m]], a routine for loading IGW's binary outputs.
* [[Media:igwread.m‎|igwread.m]], a routine for loading IGW's binary outputs.
* [[Media:igwparams.m‎|igwparams.m]], a routine for loading the parameters that IGW writes to startup_graphics.

Latest revision as of 13:39, 27 May 2016

IGW is Kevin's model.

The Internal Gravity Wave (IGW) model is a non-parallelized code written in C. It solves the two-dimensional incompressible Euler or Navier-Stokes equations using a second-order finite volume projection method (Bell, Collela and Glaz 1989, Bell and Marcus 1991, Lamb 1994, 2007). The code uses terrain following coordinates. Effects of the Earth’s rotation can be included in which case the velocity in the third (y) direction is included however the flow is independent of y.

The code was developed to investigate stratified flow phenomena in the ocean, particularly the interaction with bathymetry. The code can initialize simulations with internal solitary wave solutions of the DJL equation (e.g., to study shoaling solitary waves) and simulate internal wave generation by tidal flow over bathymetry (ridges or shelfs). Variable resolutions in both the horizontal and vertical may be used.

The model uses an adaptive time step based on a CFL condition. A direct solver is used for the projection operation. The code generally makes use of the Boussinesq approximation, though there is a non-Boussinesq option. If the Boussinesq approximation is made the projection operator is independent of time. Hence an LU decomposition of the projection matrix is computed and stored once at the beginning of the run. Several options for the solver are available depending on what scientific libraries are available. If the Boussinesq approximation is not made then the projection operator depends on the time-evolving density field. The projection matrix now has to be computed every time step, greatly increasing the expense, so a different solver may be more appropriate.

MATLAB routines

  • igwread.m, a routine for loading IGW's binary outputs.
  • igwparams.m, a routine for loading the parameters that IGW writes to startup_graphics.