solprop.translate.collar_check#
The design check of a requested collar: what it sends back (SEP 40, 4.4).
A product of plane-wave reflection and a ray share cannot say how much of a launch a collar returns: evaluated on the phase-0 witnesses it was wrong by up to nine decades, because the return lives in diffraction tails. So the check computes it. The launch is propagated linearly on the design’s own operator, one frequency at a time, and compared over the requested aperture with the same launch on a bare grid large enough that the launch does not reach its edge within the run:
with nodes \(\omega_j\) at equal-energy quantiles of the launch’s spectrum and shares \(s_j\). Radially the generator \(\mathrm{diag}(i k_z) + F\,\mathrm{diag}(-\alpha/2)\,B\) is exponentiated by its eigendecomposition; on the Cartesian, line and planar grids a one-frequency Strang march, diffraction exact in the transverse wavenumber and the collar in real space, steps no further than the plane spacing and the crossing limit. The bare grid is diagonal and needs no march.
The verdict is the contract of section 4.4: above BUDGET the design is refused;
an estimate within a factor of two of it is refined once, doubling nodes, planes and
steps and enlarging the bare grid by half, and passes at REFINED_BUDGET if the
two agree within a quarter; a check that cannot converge is inconclusive, which is not
a pass.
Module Attributes
The reflection budget in energy, |
|
What a refined estimate must meet: the budget less the 25 % by which the check read low against full runs (Part II). |
|
The monitor's warning share of the launch energy, which sets the launch's extent and reach (SEP 40 sections 4.4 and 5.3). |
Functions
|
Run the design check of SEP 40 section 4.4 on one launch. |
Classes
|
The design check's verdict and its record (SEP 40 section 4.4). |
- solprop.translate.collar_check.BUDGET = 4e-08#
The reflection budget in energy,
(2e-4)^2(SEP 40 sections 4.8 and 7.1).
- class solprop.translate.collar_check.CheckResult(status, returned=nan, bare_wall=nan, refined=False, nodes=(), planes=0, wall_time=0.0, reason='')[source]#
Bases:
objectThe design check’s verdict and its record (SEP 40 section 4.4).
- Attributes:
- status{‘passed’, ‘refused’, ‘inconclusive’, ‘pending’}
The verdict;
"pending"when there is no launch to check yet.- returnedfloat
U_ret, an energy share of the launch.- bare_wallfloat
The same launch’s return from a bare wall at the same outer size.
- refinedbool
Whether the estimate was refined.
- nodestuple of float
The frequency nodes, rad/s.
- planesint
The planes compared.
- wall_timefloat
The check’s own wall time, s.
- reasonstr
Why a check did not pass or converge; empty otherwise.
- solprop.translate.collar_check.REFINED_BUDGET = 3e-08#
What a refined estimate must meet: the budget less the 25 % by which the check read low against full runs (Part II).
- solprop.translate.collar_check.WARNING_SHARE = 1e-06#
The monitor’s warning share of the launch energy, which sets the launch’s extent and reach (SEP 40 sections 4.4 and 5.3).
- solprop.translate.collar_check.design_check(space, rate, launch, dispersion, z_max, width)[source]#
Run the design check of SEP 40 section 4.4 on one launch.
- Parameters:
- spacesolprop.grid.RadialGrid, solprop.grid.FreeGrid or PlanarGrid
The design’s grid.
- ratenumpy.ndarray
The collar’s power rate on the nodes, 1/m.
- launchnumpy.ndarray
The noise-free launch, canonical layout; its first batch member is checked.
- dispersionsolprop.spatial.SpatialDispersion
The medium and the temporal grid.
- z_maxfloat
The run’s length, m.
- widthfloat
The collar’s narrowest width, m.
- Returns:
- CheckResult
The verdict,
"pending"for a launch that is zero everywhere.