sfavvvdwe3d (2.0-git)
index
user/fperrone/Mavvvdwe3d.c
3D acoustic variable-velocity variable-density time-domain FD modeling

 
Synopsis
        sfavvvdwe3d < 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) nqy=sf_n(ay) oqz=sf_o(az) oqx=sf_o(ax) oqy=sf_o(ay)

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))
where
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

 
Parameters
       
 
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 nqy=sf_n(ay)
Saved wfld window ny
 
int nqz=sf_n(az)
Saved wfld window nz
 
float oqx=sf_o(ax)
Saved wfld window ox
 
float oqy=sf_o(ay)
Saved wfld window oy
 
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