CDTK.Tools.EField module

class CDTK.Tools.EField.EField(**opts)[source]

Bases: object

Represents an oscillating field characterized by

E(t) = P A(t)

P: unit 3-vector, polarizarion axis of the field A(t): function, field amplitude as a function of time

P and A must have been defined at execution time.

Units for A(t) must be au both for time and E-field.

A(t)[source]
E(t)[source]
Envelope(t)[source]
init_from_input_options(iopts)[source]
plot(ti=0.0, tf=10.0, **opts)[source]

Use matplotlib to plot the time-profile of the pulse

ti – float, intial time tf – float, final time

set_double_gaussian_pulse(omega, fwhm, fwhm2, ratio2, amp, t1=0.0, t2=0.0, phase=0, fluence=False)[source]

Gaussian shaped pulse with single photon energy

A(t) = amp * ((1-ratio2) * G(fwhm1,t0) + ratio2 * F(fwhm2,t0)) * cos( omega t + phase)

All input in au

omega – photon energy fwhm – full width at half maximum fwhm2 – full width at half maximum ratio2 – fluence ratio of second pulse part amp – maximum field amplitude t1 – center of pulse1 t2 – center of pulse2 phase – phase of the cosine carrier, units of Pi fluence – if amp is given as fluence, then normalized gaussians have to be used

No output, modifies self.A and self.Envelope

set_gaussian_pulse(omega, fwhm, amp, t0=0, phase=0, fluence=False)[source]

Gaussian shaped pulse with single photon energy

A(t) = amp * G(fwhm,t0) * cos( omega t + phase)

All input in au

omega – photon energy fwhm – full width at half maximum amp – maximum field amplitude t0 – center of the pulse phase – phase of the cosine carrier, units of Pi fluence – if amp is given as fluence, then normalized gaussians have to be used

No output, modifies self.A and self.Envelope

writeLog(times, filename='field.log')[source]
CDTK.Tools.EField.gaussian_envelope(fwhm, t0=0.0, norm=False)[source]

Return Gaussian function f(t)

fwhm – float; full width at half maximum t0 – float; center of envelope; Def t0 = 0.0 norm – bool; True: integral = 1, False: maximum = 1. Def. norm=False