solprop.backends.numpy_ref.envelope_plasma#

Evaluate compiled envelope plasma as separate current-source streams.

Functions

envelope_populations(field_t, assembly, ...)

Recompute each node's final population and peak cycle-averaged rate.

envelope_sources(field_t, assembly, scalars, ...)

Form two windowed sources from independently recomputed channel populations.

solprop.backends.numpy_ref.envelope_plasma.envelope_populations(field_t, assembly, initials, dt)[source]#

Recompute each node’s final population and peak cycle-averaged rate.

Parameters:
field_tnumpy.ndarray

Physical V/m envelopes, shape (n_nodes, n_pol, n_to).

assemblyEnvelopePlasmaAssembly

Compiled channels in population order.

initialstuple of float

Initial fractions at this position in channel order.

dtfloat

Fine time spacing in s.

Returns:
tuple of numpy.ndarray

Final fractions and peak cycle-averaged rates in s^-1, both shaped (n_channels, n_nodes). Every call scans the supplied field afresh.

solprop.backends.numpy_ref.envelope_plasma.envelope_sources(field_t, assembly, scalars, dt, window)[source]#

Form two windowed sources from independently recomputed channel populations.

Parameters:
field_tnumpy.ndarray

Physical complex V/m envelope, shape (n_nodes, n_pol, n_to).

assemblyEnvelopePlasmaAssembly

Labelled channels and validated cycle data.

scalarsStageScalars

Density and pre-ionisation at this RHS position in channel order.

dtfloat

Fine time spacing in s.

windownumpy.ndarray

Material-source collar, shape (n_to,).

Returns:
tuple of numpy.ndarray

Drude drive in A m^-2 s^-1 and loss current in A m^-2, each with the field’s shape. Projection and temporal FFT follow this function.