sfmpipfwi (2.0-git)
index
user/jsun/Mmpipfwi.c
Visco-acoustic Forward Modeling, FWI, and RTM based on SLS model

 
Synopsis
        sfmpipfwi Fvel=Fv.rsf Fq=Fq.rsf Fwavelet=Fw.rsf output=Fdat.rsf output=Finv.rsf Fgrad=Fgrad.rsf output=Fimg.rsf Fsrc=Fsrc.rsf Fmwt=Fmwt.rsf media=1 function=2 verb=n nb=100 coef=0.003 acqui_type=1 ns= ds= s0= sz=5 nr=acpar->nx dr=acpar->dx r0=acpar->x0 rz=1 f0= interval=1 fhi=0.5/acpar->dt flo=0. onlygrad=n wt1=acpar->t0 wt2=acpar->t0+(acpar->nt-1)*acpar->dt woff1=acpar->r0 woff2=acpar->r0+(acpar->nr-1)*acpar->dr oreo=n waterz=51 grectx=3 grectz=3 niter= conv_error= c1=1e-4 c2=0.9 v1=0. v2=10. onlygrad=n wt1=acpar->t0 wt2=acpar->t0+(acpar->nt-1)*acpar->dt woff1=acpar->r0 woff2=acpar->r0+(acpar->nr-1)*acpar->dr oreo=n waterz=0 waterzb=0 grectx=3 grectz=3 niter= repeat=1 conv_error= c1=1e-4 c2=0.9 v1=0. v2=10.

 
Parameters
       
 
file Fgrad=
auxiliary output file name
 
file Fmwt=
auxiliary output file name
 
file Fq=
auxiliary input file name
 
file Fsrc=
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 c1=1e-4

 
float c2=0.9

 
float coef=0.003
absorbing boundary coefficient
 
float conv_error=
final convergence error
 
float dr=acpar->dx
receiver interval
 
float ds=
shot interval
 
float f0=
reference frequency
 
float fhi=0.5/acpar->dt

 
float flo=0.

 
int function=2
if 1, forward modeling; if 2, FWI; if 3, RTM
 
int grectx=3
gradient smoothing radius in x
 
int grectz=3
gradient smoothing radius in z
 
int interval=1
wavefield storing interval
 
int media=1
if 1, acoustic media; if 2, visco-acoustic media
 
int nb=100
boundary width
 
int niter=
iteration number
 
int nr=acpar->nx
number of receiver
 
int ns=
shot number
 
bool onlygrad=n [y/n]
only want gradident
 
bool oreo=n [y/n]
keep oreo or keep cream
 
file output=
auxiliary output file name
 
float r0=acpar->x0
receiver origin
 
int repeat=1
repeat resetting alpha
 
int rz=1
receiver depth
 
float s0=
shot origin
 
int sz=5
source depth
 
float v1=0.

 
float v2=10.

 
bool verb=n [y/n]
verbosity flag
 
int waterz=0
water layer depth
 
int waterzb=0
water layer depth from bottom up
 
float woff1=acpar->r0

 
float woff2=acpar->r0+(acpar->nr-1)*acpar->dr

 
float wt1=acpar->t0

 
float wt2=acpar->t0+(acpar->nt-1)*acpar->dt