Site Tools


fdtd-openmp-gaussian-pulse

Table of Contents

Gaussian pulse (1D FDTD)

A Gaussian pulse is an excitation concentrated around a chosen time. The command-line program implements it as a source callback that adds the following value to $E_z$:

$$ g(n)=\exp\left[-\frac12\left(\frac{n-n_0}{w}\right)^2\right] $$

Here $n$ is the simulation's step counter, $n_0$ is the peak step, and $w$ is the width in steps. The amplitude at the peak is one. At one width from the peak, the value is approximately 0.607. A wider pulse changes more slowly and has a narrower frequency spectrum.

For example, --add-pulse=100,40,12 injects the pulse at cell 100, with its maximum at step 40 and a width of 12 steps. These are also the default peak and width; omitting the arguments places the source at the grid midpoint.

The callback reads the counter before it advances, after the electric update. The first step of a fresh simulation therefore injects $g(0)$. Successive runs continue the waveform from the existing counter. Changing $\Delta t$ changes the physical duration represented by the same width in steps.

fdtd-openmp-gaussian-pulse.md · Last modified: by 127.0.0.1