Skip to content

Commit 5ec30eb

Browse files
authored
Use the convenient formulation for 3d and variable density case too (#60)
1 parent 0a40f61 commit 5ec30eb

File tree

7 files changed

+10
-13
lines changed

7 files changed

+10
-13
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,8 @@ double forward(f_type *u, f_type *velocity, f_type *damp,
177177
f_type slowness = 1.0 / (velocity[domain_offset] * velocity[domain_offset]);
178178

179179
// denominator with damp coefficient
180-
f_type denominator = (1.0 + damp[domain_offset] * dt / (2 * slowness));
181-
f_type numerator = (1.0 - damp[domain_offset] * dt / (2 * slowness));
180+
f_type denominator = (1.0 + damp[domain_offset] * dt / 2 );
181+
f_type numerator = (1.0 - damp[domain_offset] * dt / 2 );
182182

183183
value *= (dtSquared / slowness) / denominator;
184184

@@ -272,7 +272,7 @@ double forward(f_type *u, f_type *velocity, f_type *damp,
272272
f_type slowness = 1.0 / (velocity[domain_offset] * velocity[domain_offset]);
273273

274274
// denominator with damp coefficient
275-
f_type denominator = (1.0 + damp[domain_offset] * dt / (2 * slowness));
275+
f_type denominator = (1.0 + damp[domain_offset] * dt / 2 );
276276

277277
f_type value = dtSquared / slowness * kws * wavelet[wavelet_offset] / denominator;
278278

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -192,8 +192,8 @@ double forward(f_type *u, f_type *velocity, f_type *density, f_type *damp,
192192
f_type slowness = 1.0 / (velocity[domain_offset] * velocity[domain_offset]);
193193

194194
// denominator with damp coefficient
195-
f_type denominator = (1.0 + damp[domain_offset] * dt / (2 * slowness));
196-
f_type numerator = (1.0 - damp[domain_offset] * dt / (2 * slowness));
195+
f_type denominator = (1.0 + damp[domain_offset] * dt / 2 );
196+
f_type numerator = (1.0 - damp[domain_offset] * dt / 2 );
197197

198198
value *= (dtSquared / slowness) / denominator;
199199

@@ -273,7 +273,7 @@ double forward(f_type *u, f_type *velocity, f_type *density, f_type *damp,
273273
f_type slowness = 1.0 / (velocity[domain_offset] * velocity[domain_offset]);
274274

275275
// denominator with damp coefficient
276-
f_type denominator = (1.0 + damp[domain_offset] * dt / (2 * slowness));
276+
f_type denominator = (1.0 + damp[domain_offset] * dt / 2 );
277277

278278
f_type value = dtSquared / slowness * kws * wavelet[wavelet_offset] / denominator;
279279

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,8 @@ double forward(f_type *u, f_type *velocity, f_type *density, f_type *damp,
203203
f_type slowness = 1.0 / (velocity[domain_offset] * velocity[domain_offset]);
204204

205205
// denominator with damp coefficient
206-
f_type denominator = (1.0 + damp[domain_offset] * dt / (2 * slowness));
207-
f_type numerator = (1.0 - damp[domain_offset] * dt / (2 * slowness));
206+
f_type denominator = (1.0 + damp[domain_offset] * dt / 2 );
207+
f_type numerator = (1.0 - damp[domain_offset] * dt / 2 );
208208

209209
value *= (dtSquared / slowness) / denominator;
210210

@@ -297,7 +297,7 @@ double forward(f_type *u, f_type *velocity, f_type *density, f_type *damp,
297297
f_type slowness = 1.0 / (velocity[domain_offset] * velocity[domain_offset]);
298298

299299
// denominator with damp coefficient
300-
f_type denominator = (1.0 + damp[domain_offset] * dt / (2 * slowness));
300+
f_type denominator = (1.0 + damp[domain_offset] * dt / 2 );
301301

302302
f_type value = dtSquared / slowness * kws * wavelet[wavelet_offset] / denominator;
303303

simwave/kernel/backend/c_code/gradient/constant_density/2d/wave.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,6 @@ double gradient(f_type *u, f_type *v, f_type *grad, f_type *velocity, f_type *da
151151
f_type slowness = 1.0 / (velocity[domain_offset] * velocity[domain_offset]);
152152

153153
// denominator with damp coefficient
154-
// f_type denominator = (1.0 + damp[domain_offset] * dt / (2 * slowness));
155-
// f_type numerator = (1.0 - damp[domain_offset] * dt / (2 * slowness));
156154
f_type denominator = (1.0 + damp[domain_offset] * dt / 2 );
157155
f_type numerator = (1.0 - damp[domain_offset] * dt / 2 );
158156

@@ -234,7 +232,6 @@ double gradient(f_type *u, f_type *v, f_type *grad, f_type *velocity, f_type *da
234232
f_type slowness = 1.0 / (velocity[domain_offset] * velocity[domain_offset]);
235233

236234
// denominator with damp coefficient
237-
// f_type denominator = (1.0 + damp[domain_offset] * dt / (2 * slowness));
238235
f_type denominator = (1.0 + damp[domain_offset] * dt / 2 );
239236

240237
f_type value = dtSquared / slowness * kws * wavelet[wavelet_offset] / denominator;
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

tests/test_space_model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ def test_properties(self, dimension):
3232
assert space_model.damping_length == (0.0,) * dimension * 2
3333
assert space_model.boundary_condition == ('none',) * dimension * 2
3434
assert space_model.damping_polynomial_degree == 3
35-
assert space_model.damping_alpha == 0.001
35+
assert space_model.damping_alpha == 0.002
3636

3737
@pytest.mark.parametrize(
3838
'dimension, bbox, spacing, shape', [

0 commit comments

Comments
 (0)