forked from daniel-koehn/SAVA
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfd3dps.h
47 lines (38 loc) · 2.3 KB
/
fd3dps.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*------------------------------------------------------------------------
* fdps.h - include file for program FD3D (visco-elastic)
*
* O. Hellwig
* ---------------------------------------------------------------------*/
/* declaration of functions */
void checkfd(FILE *fp, float *** rho, float *** pi, float *** u, float *** taus, float *** taup, float *eta,
float *x, float *y, float *z);
void fd_coeff(int nx1, int nx2, int ny1, int ny2, int nz1, int nz2,
float * x, float * y, float * z, float * xp, float * yp, float * zp,
float * dx, float *dxp, float * dy, float *dyp, float * dz, float * dzp,
float *** pi, float *** u, float *** uipjk, float *** uijpk, float *** uijkp,
float *** rhoijpkp, float *** rhoipjkp, float *** rhoipjpk);
void info(FILE *fp);
void model(float *** rho, float *** pi, float *** u, float *** taus, float *** taup, float * eta,
float * x, float * y, float * z);
double pml_update_s(struct vector3d ***v, struct tensor3d ***t,
float *** pi, float *** u, float *** uipjk, float *** uijpk, float *** uijkp,
struct pml *pmlle, struct pml *pmlri,
struct pml *pmlba, struct pml *pmlfr,
struct pml *pmlto, struct pml *pmlbo,
struct vector3d *** Pv_x_l, struct vector3d *** Pv_x_r,
struct vector3d *** Pv_y_b, struct vector3d *** Pv_y_f,
struct vector3d *** Pv_z_t, struct vector3d *** Pv_z_b,
float * dx, float * dxp, float * dy, float * dyp, float * dz, float * dzp, int infoout);
void readmod(float *** rho, float *** pi, float *** u, float *** taus, float *** taup, float * eta);
double update_s_el(int nx1, int nx2, int ny1, int ny2, int nz1, int nz2,
struct vector3d ***v, struct tensor3d ***t, struct divcurl3d ***w,
float *** pi, float *** u, float *** uipjk, float *** uijpk, float *** uijkp,
float *** absorb_coeff,
float * dx, float * dxp, float * dy, float * dyp, float * dz, float * dzp, int infoout);
double update_s_ve(int nx1, int nx2, int ny1, int ny2, int nz1, int nz2,
struct vector3d ***v, struct tensor3d ***t, struct tensor3d ***r, struct divcurl3d ***w,
float *** pi, float *** u, float *** uipjk, float *** uijpk, float *** uijkp,
float *** taup, float *** taus, float *** tausipjk, float *** tausijpk, float *** tausijkp, float * eta,
float *** absorb_coeff,
float * dx, float * dxp, float * dy, float * dyp, float * dz, float * dzp, int infoout);
void write_par(FILE *fp);