Nonlinear.jl
Luna.Nonlinear.PlasmaCumtrapz — TypeResponse 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 — MethodPlasmaCumtrapz(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 — MethodHandle plasma polarisation routing to PlasmaVector or PlasmaScalar.
Luna.Nonlinear.RamanPolar — TypeRaman polarisation response type
Luna.Nonlinear.RamanPolar — MethodCalculate Raman polarisation for field/envelope Et
Luna.Nonlinear.RamanPolarEnv — TypeRaman polarisation response type for an envelope
Luna.Nonlinear.RamanPolarEnv — MethodRamanPolarEnv(t, ht)Construct Raman polarisation response for an envelope on time grid t using response function r.
Luna.Nonlinear.RamanPolarField — TypeRaman polarisation response type for a carrier resolved field
Luna.Nonlinear.RamanPolarField — MethodRamanPolarField(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 — MethodKerr response for envelope
Luna.Nonlinear.Kerr_field — MethodKerr response for real field
Luna.Nonlinear.Kerr_field_nothg — MethodKerr response for real field but without THG
Luna.Nonlinear.PlasmaScalar! — MethodThe plasma response for a scalar electric field
Luna.Nonlinear.PlasmaVector! — MethodThe 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! — MethodSquare the field or envelope