Hi,

i'm trying to get a fundamental understanding of the k-space equation implementation and i have a question about the discrete particle velocity equation (2.17b) of the k-Wave User Manual. I do understand the equation except for the last term "dt*S_F" that includes the Force Source Term. I simulated the acoustic wave propagation with kspaceFirstOrder3D using a transducer object as source and sensor input. I took a close look to the implementation of the discrete equations and finally got to the point where the transducer input signal (defined as a velocity signal) is added to the calculated particle velocity of the next simulation time step.

The Implementation of equation 2.17b is split into two parts: First the particle velocity components (ux_sgx and uy_sgy) of the staggered grid are calculated based on the momentum conservation function:

ux_sgx = bsxfun(@times, pml_x_sgx, ...

bsxfun(@times, pml_x_sgx, ux_sgx) ...

- dt./ rho0_sgx .* real(ifft2( bsxfun(@times, ddx_k_shift_pos, kappa .* p_k) )) ...

);

(uy_sgy in an analogous manner)

This corresponds to the first part of equation 2.17b. After that the input signal is added (after beamforming and apodization modification of the signal):

ux_sgx(u_source_index) = ux_sgx(u_source_index) + transducer_transmit_apodization.*transducer_input_signal(delay_mask);

My question is:

Why is the Fource Source Term in equation 2.17b multiplied by the simulationstep dt? This factor isn't used in the implementation and i actually see no reason for this factor... Furthermore the Fource Source Term S_Fx is described further in equation (2.18):

S_Fx = source.ux*2c0/dx; (where source.ux is the transducer input signal)

This equation isn't implemented either?

I hope you guys understand my questions and can help me with that problem. Maybe i just have a wrong view on the subject right now