Transport between planes#

solprop.coupling.transport() carries a radial or Cartesian FieldPlane through an ordered sequence of the linear elements of solprop.coupling.elements and returns the transported plane with its TransportReport, the sequential ledger in joules (transporting a plane).

Because the function has the same name as its module, solprop.coupling.transport refers to the function, not the module; the module’s report class is documented on this page. Both names are importable from solprop.coupling.

class solprop.coupling.transport.TransportReport(elements, energy_in, energy_out, specified_loss, removed, approximation_error, numerical_error, reference_in=None, reference_out=None, frame='', source_certificate=None)[source]#

Bases: object

The sequential ledger of a transport.

Every element’s input energy is the previous element’s output energy, so energy_out = energy_in - specified_loss - removed + approximation_error holds for the whole sequence as for each element, to the rounding of the sums.

Attributes:
elementstuple of ElementReport

One report per element, in order, each with its position.

energy_in, energy_outfloat

Energy crossing the first input and the last output plane, J.

specified_lossfloat

Sum of the declared losses, J.

removedfloat

Sum of the intentional removals, J.

approximation_errorfloat

Sum of the signed approximation errors, J.

numerical_errorfloat

Sum of the numerical error estimates, J; a conservative composition.

reference_in, reference_outPlaneReference or None

The plane’s reference before and after.

framestr

Where each free-space frame term came from; empty without a gap.

source_certificatesolprop.adiabatic.AdiabaticAdmission or None

The source plane’s path certificate (SEP 34 §4.5), carried as its own item: it bounds the producing run’s linear background path, not this transport.

approximation_error: float#
elements: tuple[ElementReport, ...]#
energy_in: float#
energy_out: float#
frame: str = ''#
property ledger_residual: float[source]#

Return the part of the energy change the ledger does not account for.

Returns:
float

energy_out - (energy_in - specified_loss - removed + approximation_error) in J; rounding only.

numerical_error: float#
reference_in: PlaneReference | None = None#
reference_out: PlaneReference | None = None#
removed: float#
source_certificate: AdiabaticAdmission | None = None#
specified_loss: float#

Transport between planes was proposed and carried out by SEP 31.