solprop.translate.flux#

Build the axial-admittance plan of one spatial plane (SEP 34).

A free-space field’s power crossing a plane is measured with the scalar forward equation’s axial admittance Y_c = eps0 c**2 k_z / omega of the medium at that plane (docs/guide/free-space/flux.md). Every evaluation reads the one longitudinal root of solprop.translate.spatial.longitudinal_root(), on the same separable coefficients the propagation uses, so a plane’s measure and its propagation see the same k_z.

Functions

admission_record(admission)

Return a path certificate as plain values, for a record that outlives the run.

flux_from_record(record)

Rebuild a plane measure from its output record.

flux_plan(space, dispersion, linear, *, tol)

Build the run's plane-measure coefficients for its statistics.

flux_record(plan)

Return a plane measure as plain arrays for the output's spatial record.

plane_coefficients(space, medium, grid, z, *)

Return the separable coefficients of one plane's medium.

solprop.translate.flux.admission_record(admission)[source]#

Return a path certificate as plain values, for a record that outlives the run.

The certificate’s scope is the linear background’s forward coordinates, not the nonlinear run or an omitted reflected field (SEP 34 section 4.5). Its path identity is kept as text, and a certificate already read from a record keeps that text.

Parameters:
admissionsolprop.adiabatic.AdiabaticAdmission

The certificate.

Returns:
dict

The values flux_from_record() rebuilds it from.

solprop.translate.flux.flux_from_record(record)[source]#

Rebuild a plane measure from its output record.

Parameters:
recordcollections.abc.Mapping

The flux_plan entry of a spatial output record.

Returns:
FluxPlan

The run’s plane measure, whose FluxPlan.at gives a saved plane’s coefficients at its own position.

solprop.translate.flux.flux_plan(space, dispersion, linear, *, tol, admission=None)[source]#

Build the run’s plane-measure coefficients for its statistics.

Cartesian, line and planar runs are uniform along z, so the run’s own separable coefficients are the measure everywhere. A radial run’s coefficients at the entrance are paired with a z table of the material square when its medium varies, built on the medium’s breakpoints as mandatory edges.

Parameters:
spacesolprop.grid.RadialGrid, solprop.grid.FreeGrid or PlanarGrid

Transverse geometry.

dispersionsolprop.spatial.SpatialDispersion

The run’s medium, temporal grid and evanescent cap.

linearsolprop.translate.linop.LinearOperator

The run’s linear operator: its separable record and its span.

tolfloat

Relative tolerance of the material table, positive.

admissionsolprop.adiabatic.AdiabaticAdmission or None, optional

The varying path’s certificate, carried with the plan.

Returns:
FluxPlan

The run’s plane measure.

solprop.translate.flux.flux_record(plan)[source]#

Return a plane measure as plain arrays for the output’s spatial record.

Parameters:
planFluxPlan or None

The run’s plane measure.

Returns:
dict

The coefficients flux_from_record() rebuilds the measure from.

Raises:
TranslationError

If a spatial run carries no plane measure.

solprop.translate.flux.plane_coefficients(space, medium, grid, z, *, evanescent_rate=200.0)[source]#

Return the separable coefficients of one plane’s medium.

The material square and the transverse squares are split exactly as the run’s own operator splits them (radial: rounded squares; Cartesian and planar: a rounded square and its exact residual; planar: each channel’s wall term), so the plane’s k_z is the propagation’s to rounding. The frame, rates and prefactors are not part of the measure and are left zero.

Parameters:
spacesolprop.grid.RadialGrid, solprop.grid.FreeGrid or PlanarGrid

Transverse geometry of the plane.

mediumsolprop.spatial.SpatialMedium

The bulk medium; for a planar grid, the slab modes’ own fill.

gridsolprop.grid.TimeGrid

Temporal grid; only its active band samples the material.

zfloat

Finite position of the plane in m, at which the medium is evaluated.

evanescent_ratefloat, optional

Evanescent attenuation cap in m^-1 carried for the root’s rate.

Returns:
SeparableOperator

Coefficients with the plane’s material and transverse squares.

Raises:
MaterialError

If the position is not finite.