sfavvvdwe2d (2.0-git)
2D acoustic variable-velocity variable-density time-domain FD modeling

        sfavvvdwe2d < Fwav.rsf vel=Fvel.rsf den=Fden.rsf sou=Fsou.rsf rec=Frec.rsf > Fdat.rsf wfl=Fwfl.rsf verb=n snap=n free=n dabc=n adj=n jdata=1 jsnap=nt nqz=sf_n(az) nqx=sf_n(ax) oqz=sf_o(az) oqx=sf_o(ax)

The code uses a standard second-order stencil in time.
The coefficients of the spatial stencil are computed
by matching the transfer function of the discretized
first-derivative operator to the ideal response.
The optimized coefficients minimize dispersion
given that particular size of the stencil.

The term
ro div (1/ro grad (u))
ro : density
div : divergence op
grad : gradient op
u : wavefield

is implemented in order to obtain a positive semi-definite operator.

The code implements both the forward (adj=n) and adjoint (adj=y) modeling operator.

============= FILE DESCRIPTIONS ========================

Fdat.rsf - An RSF file containing your data in the following format:
axis 1 - Receiver location
axis 2 - Time

Fwav.rsf - An RSF file containing your VOLUME DENSITY INJECTION RATE
wavelet information. The sampling interval, origin time,
and number of time samples will be used as the defaults for the modeling code.
i.e. your wavelet needs to have the same length and parameters that you want to model with!
The first axis is the number of source locations.
The second axis is time.

Fvel.rsf - An N dimensional RSF file that contains the values for the velocity field at every point in the computational domain.

Fden.rsf - An N dimensional RSF file that contains the values for density at every point in the computational domain.

Frec.rsf - Coordinates of the receivers
axis 1 - (x,z) of the receiver
axis 2 - receiver index

Fsou.rsf - Coordinate of the sources
axis 1 - (x,y,z) of the source
axis 2 - source index

Fwfl.rsf - Output wavefield

verb=y/n - verbose flag

snap=y/n - wavefield snapshots flag

free=y/n - free surface on/off

dabc=y/n - absorbing boundary conditions on/off

jdata - data sampling

jsnap - wavefield snapshots sampling

Author: Francesco Perrone
Date: November 2013

bool adj=n [y/n]
Adjoint flag
bool dabc=n [y/n]
Absorbing BC
file den=
auxiliary input file name
bool free=n [y/n]
Free surface flag
int jdata=1
# of t steps at which to save receiver data
int jsnap=nt
# of t steps at which to save wavefield
int nqx=sf_n(ax)
Saved wfld window nx
int nqz=sf_n(az)
Saved wfld window nz
float oqx=sf_o(ax)
Saved wfld window ox
float oqz=sf_o(az)
Saved wfld window oz
file rec=
auxiliary input file name
bool snap=n [y/n]
Wavefield snapshots flag
file sou=
auxiliary input file name
file vel=
auxiliary input file name
bool verb=n [y/n]
Verbosity flag
file wfl=
auxiliary output file name