previous up next print clean
Next: The pressure operator Up: Claerbout: The adjoint of Previous: Sources for the heat

WAVE PROCESS CHAIN

We have seen how the heat flow operator H marches one step in time. Next we will find a pressure operator P and a velocity operator V. We will represent the viscous scalar wave equation by the product HVP so the adjoint will obviously be P'V'H'. The product concatenation is done by subroutine wavecat() below:
# 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



 
previous up next print clean
Next: The pressure operator Up: Claerbout: The adjoint of Previous: Sources for the heat
Stanford Exploration Project
11/12/1997