# 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