In finite-difference methods a seismic source can be implemented using either initial wavefield values or body forces. However, body forces can only be specified at finite-difference nodes, and, if using initial values, a source cannot be located close to a reflecting boundary or interface in the model. Hence, difficulties can exist with these schemes when the region surrounding a source is heterogeneous or when a source either is positioned between nodes or is arbitrarily close to a free surface.
A completely general solution to these problems can be obtained by using Kaiser windowed sinc functions to define a small region around the true source location that contains several nodal body forces. Both monopole and dipole point sources can be defined, enabling many source types to be implemented in either acoustic or elastic media. Such a function can also be used to arbitrarily locate receivers. If the number of finite-difference nodes per wavelength is four or more (and with a source region half-width of only four nodes) this scheme results in insignificant phase errors and in amplitude errors of no more than 0.1%. Numerical examples for sources located less than one node from either a free surface or an image source demonstrate that the scheme can be used successfully for any surface–source or multisource configuration.