- from PR 677
- commits from lheagy
- review from sgkang, rowanc1
tl; dr
- inductive source bug fix for permeable targets
- solve the magnetostatic problem for inductive sources that have initial fields
- new waveforms: trapezoid, quarter-sine ramp on
Bug Fix: TDEM Inductive sources + permeable targets
How we initially calculated the source term for inductive sources when the model includes permeability was incorrect (I found this by comparing a magnetostatic solution with a late on-time solution. The late on-time solution matched the case where no permeable material was included), this pr fixes that for the E-B formulation.
![image](https://user-images.githubusercontent.com/6361812/36635793-138d3408-1970-11e8-9811-c5c926d0338c.png)
In addition, we now have the option to solve the magnetostatic problem for initial fields when permeable material is included, so a shut-off waveform can be used when permeable materials are in the domain
There is now a test to ensure that inductive sources are treating permeability properly
New Waveforms
- `TrapezoidWaveform` and `QuarterSineRampOnWaveform`
python
offTime=10
quarter_sine = TDEM.Src.QuarterSineRampOnWaveform(ramp_on=np.r_[0., 3], ramp_off=offTime - np.r_[1., 0] )
trapezoid = TDEM.Src.TrapezoidWaveform(ramp_on=np.r_[0., 3], ramp_off=offTime - np.r_[1., 0] )
nT = 1000
time = 10.*np.arange(nT)/nT
quarter_sine_plt = np.r_[[quarter_sine.eval(t) for t in time]]
trapezoid_plt = np.r_[[trapezoid.eval(t) for t in time]]
fig, ax = plt.subplots(1, 2, figsize=(8, 4))
ax[0].plot(time, quarter_sine_plt)
ax[0].set_title('quarter sine waveform')
ax[1].plot(time, trapezoid_plt)
ax[1].set_title('trapezoid waveform')
plt.tight_layout()
![image](https://user-images.githubusercontent.com/6361812/36616157-988a9648-1897-11e8-9615-37623141a790.png)