[fdtd.misc] fix some packets/pulses
This commit is contained in:
parent
9d419aa3ea
commit
8d49901b58
1 changed files with 8 additions and 4 deletions
|
|
@ -53,8 +53,8 @@ def gaussian_packet(
|
|||
t0 = ii * dt - delay
|
||||
envelope = numpy.sqrt(numpy.sqrt(2 * alpha / pi)) * numpy.exp(-alpha * t0 * t0)
|
||||
|
||||
if one_sided and t0 > 0:
|
||||
envelope = 1
|
||||
if one_sided:
|
||||
envelope = numpy.where(t0 > 0, 1.0, envelope)
|
||||
|
||||
cc = numpy.cos(omega * t0)
|
||||
ss = numpy.sin(omega * t0)
|
||||
|
|
@ -94,10 +94,14 @@ def ricker_pulse(
|
|||
logger.warning('meanas.fdtd.misc functions are still very WIP!') # TODO
|
||||
omega = 2 * pi / wl
|
||||
freq = 1 / wl
|
||||
# r0 = omega / 2
|
||||
|
||||
from scipy.optimize import root_scalar
|
||||
delay_results = root_scalar(lambda tt: (1 - omega * omega * tt * tt / 2) * numpy.exp(-omega * omega / 4 * tt * tt) - turn_on, x0=0, x1=-2 / omega)
|
||||
delay_results = root_scalar(
|
||||
lambda tt: (1 - omega * omega * tt * tt / 2) * numpy.exp(-omega * omega * tt * tt / 4) - turn_on,
|
||||
x0=0,
|
||||
x1=-2 / omega,
|
||||
)
|
||||
|
||||
delay = delay_results.root
|
||||
delay = numpy.ceil(delay * freq) / freq # force delay to integer number of periods to maintain phase
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue