solprop.translate.transverse#
Resolve a free-space run’s transverse boundary at translation (SEP 40 section 5.2).
resolve_transverse() turns a SpatialAbsorber
into a SpatialAbsorberDesign against the grid, the
medium over the requested band and along the run, and the noise-free launch: the
safety ramp’s rate on the spectral columns and, when a collar is asked for, its rate
on the nodes, its band, its strength and its step limit. The formulas are
solprop.spatial_absorber’s; this module only gathers what they are evaluated on.
Module Attributes
The collar fractions the design check tries, in order, to name one that passes. |
Functions
|
Return the medium's wavenumbers over the requested band and along the run. |
|
Run the design check on a collar's design and refuse a failing one by name. |
|
Resolve a specification into the run's immutable design (SEP 40 section 5.2). |
- solprop.translate.transverse.LADDER = (0.5, 1.0, 1.5, 2.0, 3.0)#
The collar fractions the design check tries, in order, to name one that passes.
- solprop.translate.transverse.band_wavenumbers(space, dispersion, z_max)[source]#
Return the medium’s wavenumbers over the requested band and along the run.
k = n omega / coverinband_mask & active_mask, at the medium’s path nodes (the entrance, the end and every breakpoint between), so that the entrance alone does not set the extremes (SEP 34’s varying radial medium). On a planar gridkis each slab mode’sbeta_p(SEP 40 section 4.4).- Parameters:
- spacesolprop.grid.RadialGrid, solprop.grid.FreeGrid or PlanarGrid
The transverse grid.
- dispersionsolprop.spatial.SpatialDispersion
The medium and the temporal grid.
- z_maxfloat
The run’s length, m.
- Returns:
- knumpy.ndarray
Wavenumbers, rad/m, one per (node, mode, frequency).
- omeganumpy.ndarray
The angular frequency of each, rad/s.
- Raises:
- TranslationError
If the requested band holds no active bin.
- solprop.translate.transverse.checked_design(design, space, dispersion, field0, z_max)[source]#
Run the design check on a collar’s design and refuse a failing one by name.
SEP 40 section 4.4. Without a collar the check is neither built nor run. A launch that is zero everywhere leaves it
"pending", for the launch a coupled child is given (solprop.driver.simulation.Simulation.with_input()).- Parameters:
- designsolprop.spatial_absorber.SpatialAbsorberDesign
The resolved design.
- spacesolprop.grid.RadialGrid, solprop.grid.FreeGrid or PlanarGrid
Its grid.
- dispersionsolprop.spatial.SpatialDispersion
The medium and the temporal grid.
- field0numpy.ndarray
The noise-free launch, canonical layout.
- z_maxfloat
The run’s length, m.
- Returns:
- solprop.spatial_absorber.SpatialAbsorberDesign
The design, with its check’s record.
- Raises:
- TranslationError
If the check refuses the design or cannot converge, naming the first trial fraction that passes, if any, and whether a bare wall returns less.
- solprop.translate.transverse.resolve_transverse(specification, space, dispersion, field0, z_max)[source]#
Resolve a specification into the run’s immutable design (SEP 40 section 5.2).
The band comes from an explicit kappa, then an angle, then the launch: per axis
c_b sqrt(2) kappa_rmsover the requested band’s bins, radiallyc_b kappa_rmson|k_perp|, read from the noise-free launch. The safety ramp covers the outer safety_fraction of each axis’s wavenumbers, or starts at a declared discard_above if that is lower, with the strength of section 4.4 and the larger of the axes’ strengths on the maximum of their profiles. A collar’s strength is the largest of its faces’ roots.- Parameters:
- specificationsolprop.spatial_absorber.SpatialAbsorber
What the run asked for.
- spacesolprop.grid.RadialGrid, solprop.grid.FreeGrid or PlanarGrid
The transverse grid.
- dispersionsolprop.spatial.SpatialDispersion
The medium and the temporal grid.
- field0numpy.ndarray
The noise-free launch in the canonical layout, spectral columns.
- z_maxfloat
The run’s length, m.
- Returns:
- solprop.spatial_absorber.SpatialAbsorberDesign
The design, with the design check still to run (
checkempty).
- Raises:
- TranslationError
Naming the reason, when a requested collar has no room, its band is below the profile’s floor, reaches cutoff, lies above the ramp, or cannot come from a launch that is zero everywhere.