Note
Go to the end to download the full example code.
TDEM: Waveforms#
In this example, we plot the waveforms available in the TDEM module in addition to the StepOffWaveform

/home/vsts/work/1/s/examples/06-tdem/plot_fwd_tdem_waveforms.py:19: DeprecationWarning:
`off_time` keyword arg has been deprecated and will be removed in SimPEG v0.27.0, pass the ramp end time as the last positional argument.`
import matplotlib.pyplot as plt
import numpy as np
from simpeg.electromagnetics import time_domain as TDEM
from simpeg.utils import mkvc
nT = 1000
max_t = 5e-3
times = max_t * np.arange(0, nT) / float(nT)
# create the waveforms
ramp_off = TDEM.Src.RampOffWaveform(off_time=max_t)
vtem = TDEM.Src.VTEMWaveform()
trapezoid = TDEM.Src.TrapezoidWaveform(
    ramp_on=np.r_[0.0, 1.5e-3], ramp_off=max_t - np.r_[1.5e-3, 0]
)
triangular = TDEM.Src.TriangularWaveform(
    start_time=0.0, peak_time=max_t / 2, off_time=max_t
)
quarter_sine = TDEM.Src.QuarterSineRampOnWaveform(
    ramp_on=np.r_[0.0, 1.5e-3], ramp_off=max_t - np.r_[1.5e-3, 0]
)
half_sine = TDEM.Src.HalfSineWaveform(
    ramp_on=np.r_[0.0, 1.5e-3], ramp_off=max_t - np.r_[1.5e-3, 0]
)
exponential = TDEM.Src.ExponentialWaveform(
    start_time=0.0, peak_time=0.003, off_time=0.005, ramp_on_tau=5e-4
)
waveforms = dict(
    zip(
        [
            "RampOffWaveform",
            "TrapezoidWaveform",
            "QuarterSineRampOnWaveform",
            "VTEMWaveform",
            "TriangularWaveform",
            "HalfSineWaveform",
            "ExponentialWaveform",
        ],
        [ramp_off, trapezoid, quarter_sine, vtem, triangular, half_sine, exponential],
    )
)
# plot the waveforms
fig, ax = plt.subplots(4, 2, figsize=(7, 10))
ax = mkvc(ax)
for a, key in zip(ax, waveforms):
    wave = waveforms[key]
    wave_plt = [wave.eval(t) for t in times]
    a.plot(times, wave_plt)
    a.set_title(key)
    a.set_xlabel("time (s)")
# deactivate last subplot as it is empty
ax[-1].axis("off")
plt.tight_layout()
plt.show()
Total running time of the script: (0 minutes 0.741 seconds)
Estimated memory usage: 319 MB
