differt.em.propagate_wavefront#
- propagate_wavefront(paths, mesh, tx_wavefront=0.0)[source]#
Propagate the wavefront curvature state along the given traced paths.
Performs a scan along each path’s segments and interaction bounces, transporting principal radii and axes through free space, reflections, transmissions, and diffractions.
- Parameters:
paths (
TracedPaths) – The traced paths.mesh (
Mesh) – The scene triangle mesh.tx_wavefront (
Float[ArrayLike, "*#batch"]|tuple[Float[ArrayLike, "*#batch"],Float[ArrayLike, "*#batch"]] |tuple[Float[ArrayLike, "*#batch"],Float[ArrayLike, "*#batch 3"],Float[ArrayLike, "*#batch"],Float[ArrayLike, "*#batch 3"]] |WavefrontState|None) – The transmitter wavefront curvature configuration.
- Return type:
- Returns:
A
PathWavefrontinstance carrying the final state, per-bounce incident curvatures, segment radii, and total spreading factor.