sfmpignfwi (2.0-git)
index
user/zhiguang/Mmpignfwi.c
Acoustic FWI using Gauss-Newton optimization

 
Synopsis
        sfmpignfwi Fvel=Fv.rsf Fwavelet=Fw.rsf output=Fdat.rsf output=Finv.rsf Ferr=Ferr.rsf Fmod=Fmod.rsf Fgrad=Fgrad.rsf function=2 verb=n nb=100 coef=0.002 acqui_type=1 ns= ds= s0= sz=3 nr=acpar->nx dr=acpar->dx r0=acpar->x0 rz=3 fhi=0.5/acpar->dt flo=0. frectx=2 frectz=2 onlygrad=n wt1=acpar->t0 wt2=acpar->t0+(acpar->nt-1)*acpar->dt woff1=acpar->r0 woff2=acpar->r0+(acpar->nr-1)*acpar->dr gain=1 waterz=51 grectx=3 grectz=3 drectx=1 drectz=1 nrepeat=1 tangent=0 sigma1=-1 sigma2=-1 v1=0. v2=10. lniter=10 niter= conv_error= nls=20 factor=10 repeat=5 err_type=0

 
Parameters
       
 
file Ferr=
auxiliary output file name
 
file Fgrad=
auxiliary output file name
 
file Fmod=
auxiliary output file name
 
file Fvel=
auxiliary input file name
 
file Fwavelet=
auxiliary input file name
 
int acqui_type=1
if 1, fixed acquisition; if 2, marine acquisition; if 3, symmetric acquisition
 
float coef=0.002
absorbing boundary coefficient
 
float conv_error=
final convergence error
 
float dr=acpar->dx
receiver interval
 
int drectx=1
smoothing kernel radius in x
 
int drectz=1
smoothing kernel radius in z
 
float ds=
shot interval
 
int err_type=0
if 0, true misfit function; if 1, both smoothing kernel and original L2 norm misfits
 
float factor=10
step length increase factor
 
float fhi=0.5/acpar->dt
high frequency in band, default is Nyquist
 
float flo=0.
low frequency in band, default is zero
 
int frectx=2
source smoothing in x
 
int frectz=2
source smoothing in z
 
int function=2
if 1, forward modeling; if 2, FWI
 
float gain=1
vertical gain power of data residual
 
int grectx=3
gradient smoothing radius in x
 
int grectz=3
gradient smoothing radius in z
 
int lniter=10
CG iteration number
 
int nb=100
boundary width
 
int niter=
iteration number
 
int nls=20
line search number
 
int nr=acpar->nx
number of receiver
 
int nrepeat=1
smoothing kernel repeat number
 
int ns=
shot number
 
bool onlygrad=n [y/n]
only calculate gradident or not
 
file output=
auxiliary output file name
 
float r0=acpar->x0
receiver origin
 
int repeat=5
after how many iterations the step length goes back to 1
 
int rz=3
receiver depth
 
float s0=
shot origin
 
float sigma1=-1
smoothing kernel radius moving step in z
 
float sigma2=-1
smoothing kernel radius moving step in x
 
int sz=3
source depth
 
int tangent=0
if 1, calculate prediction corrector
 
float v1=0.
lower limit of estimated velocity
 
float v2=10.
upper limit of estimated velocity
 
bool verb=n [y/n]
verbosity flag
 
int waterz=51
water layer depth
 
float woff1=acpar->r0
window data residual: rmin
 
float woff2=acpar->r0+(acpar->nr-1)*acpar->dr
window data residual: rmax
 
float wt1=acpar->t0
window data residual: tmin
 
float wt2=acpar->t0+(acpar->nt-1)*acpar->dt
window data residual: tmax