# Wave operator by concatenation of pressure, velocity, and heat-flow equations
#
subroutine wavecat( adj, add, sigma,kappa,ru,rv, q,nx,ny, r )
integer adj, add, nx,ny
real sigma, kappa(nx,ny),ru(nx,ny),rv(nx,ny), q(nx,ny,3), r(nx,ny,3)
temporary real s(nx,ny,3), t(nx,ny,3)
call adjnull( adj, add, q,nx*ny*3, r,nx*ny*3)
if( adj == 0) {
call pressure ( 0, 0, kappa, q, nx,ny, s )
call velocity ( 0, 0, ru,rv, s, nx,ny, t )
call viscosity( 0, 1, sigma, t, nx,ny, r )
} else {
call viscosity( 1, 0, sigma, t, nx,ny, r )
call velocity ( 1, 0, ru,rv, s, nx,ny, t )
call pressure ( 1, 1, kappa, q, nx,ny, s )
}
return; end