Skip to content

Commit e731d0a

Browse files
committed
fix variable density implementation
1 parent 60cadef commit e731d0a

File tree

2 files changed

+9
-9
lines changed
  • simwave/kernel/backend/c_code/forward/variable_density

2 files changed

+9
-9
lines changed

simwave/kernel/backend/c_code/forward/variable_density/2d/wave.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@ double forward(f_type *u, f_type *velocity, f_type *density, f_type *damp,
5353

5454
#ifdef GPU_OPENMP
5555

56-
// select the device
56+
// select the device
5757
#ifdef DEVICEID
5858
omp_set_default_device(DEVICEID);
5959
#endif
60-
60+
6161
size_t shot_record_size = wavelet_size * num_receivers;
6262
size_t u_size = num_snapshots * domain_size;
6363

@@ -145,8 +145,8 @@ double forward(f_type *u, f_type *velocity, f_type *density, f_type *damp,
145145

146146
value += sd_pressure_x/dxSquared + sd_pressure_z/dzSquared;
147147

148-
f_type term_x = (fd_pressure_x * fd_density_x) / (2 * dxSquared);
149-
f_type term_z = (fd_pressure_z * fd_density_z) / (2 * dzSquared);
148+
f_type term_x = (fd_pressure_x * fd_density_x) / (4 * dxSquared);
149+
f_type term_z = (fd_pressure_z * fd_density_z) / (4 * dzSquared);
150150

151151
value -= (term_x + term_z) / density[domain_offset];
152152

simwave/kernel/backend/c_code/forward/variable_density/3d/wave.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ double forward(f_type *u, f_type *velocity, f_type *density, f_type *damp,
5454

5555
#ifdef GPU_OPENMP
5656

57-
// select the device
57+
// select the device
5858
#ifdef DEVICEID
5959
omp_set_default_device(DEVICEID);
6060
#endif
61-
61+
6262
size_t shot_record_size = wavelet_size * num_receivers;
6363
size_t u_size = num_snapshots * domain_size;
6464

@@ -155,9 +155,9 @@ double forward(f_type *u, f_type *velocity, f_type *density, f_type *damp,
155155

156156
value += sd_pressure_y/dySquared + sd_pressure_x/dxSquared + sd_pressure_z/dzSquared;
157157

158-
f_type term_y = (fd_pressure_y * fd_density_y) / (2 * dySquared);
159-
f_type term_x = (fd_pressure_x * fd_density_x) / (2 * dxSquared);
160-
f_type term_z = (fd_pressure_z * fd_density_z) / (2 * dzSquared);
158+
f_type term_y = (fd_pressure_y * fd_density_y) / (4 * dySquared);
159+
f_type term_x = (fd_pressure_x * fd_density_x) / (4 * dxSquared);
160+
f_type term_z = (fd_pressure_z * fd_density_z) / (4 * dzSquared);
161161

162162
value -= (term_y + term_x + term_z) / density[domain_offset];
163163

0 commit comments

Comments
 (0)