From e4901b3cf4f54733068c6ec0e944b1f511728f06 Mon Sep 17 00:00:00 2001 From: JanThorbecke <j.w.thorbecke@tudelft.nl> Date: Mon, 9 Aug 2021 10:31:50 +0200 Subject: [PATCH] bug for modeling multiple shots, introduced by negative time plane-wave implementation --- fdelmodc/fdelmodc.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/fdelmodc/fdelmodc.c b/fdelmodc/fdelmodc.c index 045022a..ab3e0d8 100644 --- a/fdelmodc/fdelmodc.c +++ b/fdelmodc/fdelmodc.c @@ -699,6 +699,20 @@ shared (shot, bnd, mod, src, wav, rec, ixsrc, izsrc, it, src_nwav, verbose) beam_vx, beam_vz, beam_txx, beam_tzz, beam_txz, beam_p, beam_pp, beam_ss, verbose); + /* set receiver arrays to zero for next shot */ + size = rec.n*rec.nt; + if (rec.type.vz) memset(rec_vz,0,size*sizeof(float)); + if (rec.type.vx) memset(rec_vx,0,size*sizeof(float)); + if (rec.type.p) memset(rec_p ,0,size*sizeof(float)); + if (rec.type.txx) memset(rec_txx ,0,size*sizeof(float)); + if (rec.type.tzz) memset(rec_tzz ,0,size*sizeof(float)); + if (rec.type.txz) memset(rec_txz ,0,size*sizeof(float)); + if (rec.type.pp) memset(rec_pp ,0,size*sizeof(float)); + if (rec.type.ss) memset(rec_ss ,0,size*sizeof(float)); + if (rec.type.ud) { + memset(rec_udvz,0,mod.nax*rec.nt*sizeof(float)); + memset(rec_udp ,0,mod.nax*rec.nt*sizeof(float)); + } } /* end of loop over number of shots */ -- GitLab