Skip to content

Commit 3abf44a

Browse files
authored
working gradient test (#58)
damping term now compatible with older formulation. same formulation in wave.c for forward and gradient evaluation.
1 parent a87df54 commit 3abf44a

File tree

2 files changed

+9
-6
lines changed
  • simwave/kernel/backend/c_code
    • forward/constant_density/2d
    • gradient/constant_density/2d

2 files changed

+9
-6
lines changed

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

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

172172
// denominator with damp coefficient
173-
f_type denominator = (1.0 + damp[domain_offset] * dt / (2 * slowness));
174-
f_type numerator = (1.0 - damp[domain_offset] * dt / (2 * slowness));
173+
f_type denominator = (1.0 + damp[domain_offset] * dt / 2 );
174+
f_type numerator = (1.0 - damp[domain_offset] * dt / 2 );
175175

176176
value *= (dtSquared / slowness) / denominator;
177177

@@ -250,7 +250,7 @@ double forward(f_type *u, f_type *velocity, f_type *damp,
250250
f_type slowness = 1.0 / (velocity[domain_offset] * velocity[domain_offset]);
251251

252252
// denominator with damp coefficient
253-
f_type denominator = (1.0 + damp[domain_offset] * dt / (2 * slowness));
253+
f_type denominator = (1.0 + damp[domain_offset] * dt / 2 );
254254

255255
f_type value = dtSquared / slowness * kws * wavelet[wavelet_offset] / denominator;
256256

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,10 @@ 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));
154+
// f_type denominator = (1.0 + damp[domain_offset] * dt / (2 * slowness));
155+
// f_type numerator = (1.0 - damp[domain_offset] * dt / (2 * slowness));
156+
f_type denominator = (1.0 + damp[domain_offset] * dt / 2 );
157+
f_type numerator = (1.0 - damp[domain_offset] * dt / 2 );
156158

157159
value *= (dtSquared / slowness) / denominator;
158160

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

234236
// denominator with damp coefficient
235-
f_type denominator = (1.0 + damp[domain_offset] * dt / (2 * slowness));
237+
// f_type denominator = (1.0 + damp[domain_offset] * dt / (2 * slowness));
238+
f_type denominator = (1.0 + damp[domain_offset] * dt / 2 );
236239

237240
f_type value = dtSquared / slowness * kws * wavelet[wavelet_offset] / denominator;
238241

0 commit comments

Comments
 (0)