Nonlinear.jl
Luna.Nonlinear.PlasmaCumtrapz — Type
Response type for cumtrapz-based plasma polarisation, adapted from: M. Geissler, G. Tempea, A. Scrinzi, M. Schnürer, F. Krausz, and T. Brabec, Physical Review Letters 83, 2930 (1999).
Luna.Nonlinear.PlasmaCumtrapz — Method
PlasmaCumtrapz(t, E, ratefunc, ionpot)Construct the Plasma polarisation response for a field on time grid t with example electric field like E, an ionization rate callable ratefunc and ionization potential ionpot.
Luna.Nonlinear.PlasmaCumtrapz — Method
Handle plasma polarisation routing to PlasmaVector or PlasmaScalar.
Luna.Nonlinear.RamanPolar — Type
Raman polarisation response type
Luna.Nonlinear.RamanPolar — Method
Calculate Raman polarisation for field/envelope Et
Luna.Nonlinear.RamanPolarEnv — Type
Raman polarisation response type for an envelope
Luna.Nonlinear.RamanPolarEnv — Method
RamanPolarEnv(t, ht)Construct Raman polarisation response for an envelope on time grid t using response function r.
Luna.Nonlinear.RamanPolarField — Type
Raman polarisation response type for a carrier resolved field
Luna.Nonlinear.RamanPolarField — Method
RamanPolarField(t, ht; thg=true)Construct Raman polarisation response for a field on time grid t using response function r. If thg=false then exclude the third harmonic generation component of the response.
Luna.Nonlinear.Kerr_env — Method
Kerr response for envelope
Luna.Nonlinear.Kerr_field — Method
Kerr response for real field
Luna.Nonlinear.Kerr_field_nothg — Method
Kerr response for real field but without THG
Luna.Nonlinear.PlasmaScalar! — Method
The plasma response for a scalar electric field
Luna.Nonlinear.PlasmaVector! — Method
The plasma response for a vector electric field.
We take the magnitude of the electric field to calculate the ionization rate and fraction, and then solve the plasma polarisation component-wise for the vector field.
A similar approach was used in: C Tailliez et al 2020 New J. Phys. 22 103038.
Luna.Nonlinear.sqr! — Method
Square the field or envelope