@@ -71,7 +71,8 @@ __global__ void UpdateDispVeloc_PML_kernel(realw* displ,
7171 const int * d_CPML_to_spec,
7272 const int * d_ibool,
7373 const realw deltatsqover2,
74- const realw deltatover2) {
74+ const realw deltatover2,
75+ const realw pml_theta) {
7576
7677 int ispec_cpml = blockIdx .x + blockIdx .y *gridDim .x ;
7778 int ijk = threadIdx .x ;
@@ -89,19 +90,17 @@ __global__ void UpdateDispVeloc_PML_kernel(realw* displ,
8990
9091 int iglob = d_ibool[ijk + NGLL3_PADDED*ispec] - 1 ;
9192
92- const realw theta = 0 .125f ; // theta = 1.0 / 8.0;
93-
9493 // updates PML displacement
9594 PML_displ[INDEX5 (NDIM,NGLLX,NGLLX,NGLLX,0 ,I,J,K,ispec_cpml)] = displ[3 *iglob]
96- + deltatover2 * (1 .0f - 2 .0f * theta ) * veloc[3 *iglob]
97- + deltatsqover2 * (1 .0f - theta ) * accel[3 *iglob];
95+ + deltatover2 * (1 .0f - 2 .0f * pml_theta ) * veloc[3 *iglob]
96+ + deltatsqover2 * (1 .0f - pml_theta ) * accel[3 *iglob];
9897
9998 PML_displ[INDEX5 (NDIM,NGLLX,NGLLX,NGLLX,1 ,I,J,K,ispec_cpml)] = displ[3 *iglob+1 ]
100- + deltatover2 * (1 .0f - 2 .0f * theta ) * veloc[3 *iglob+1 ]
101- + deltatsqover2 * (1 .0f - theta ) * accel[3 *iglob+1 ];
99+ + deltatover2 * (1 .0f - 2 .0f * pml_theta ) * veloc[3 *iglob+1 ]
100+ + deltatsqover2 * (1 .0f - pml_theta ) * accel[3 *iglob+1 ];
102101
103102 PML_displ[INDEX5 (NDIM,NGLLX,NGLLX,NGLLX,2 ,I,J,K,ispec_cpml)] = displ[3 *iglob+2 ]
104- + deltatover2 * (1 .0f - 2 .0f * theta ) * veloc[3 *iglob+2 ]
105- + deltatsqover2 * (1 .0f - theta ) * accel[3 *iglob+2 ];
103+ + deltatover2 * (1 .0f - 2 .0f * pml_theta ) * veloc[3 *iglob+2 ]
104+ + deltatsqover2 * (1 .0f - pml_theta ) * accel[3 *iglob+2 ];
106105 }
107106}
0 commit comments