Skip to main content

farfield.unflatten

farfield.unflatten

Unflattens an array for a given expansion and Brillouin integration scheme.

The returned array combines the values associated with all terms in the Fourier expansion at all points in the Brillouin zone grid in a single array with trailing axes havving shape (num_kx, num_ky). Elements in the output which have no corresponding elements in flat are given a value of nan.

The flat array should have shape (..., num_bz_kx, num_bz_ky, num_terms), where num_terms is the number of terms in the Fourier expansion, and the -3 and -2 axes are for the Brillouin zone grid, as used e.g. with Brillouin zone integration to model localized sources.

This function assumes that the Brillouin zone is sampled on a regular grid, as produced by basis.brillouin_zone_in_plane_wavevector.

Args:

  • flat: The flat array, with shape (..., num_bz_kx, num_bz_ky, num_terms).
  • expansion: The expansion used for the array.

Returns:

  • None: The unflattened array, with shape (batch_shape, num_kx, num_ky).