sarkas.tools.observables.kspace_setup#

sarkas.tools.observables.kspace_setup(box_lengths, angle_averaging, max_k_harmonics, max_aa_harmonics)[source]#

Calculate all allowed \(k\) vectors.

Parameters
  • max_k_harmonics (numpy.ndarray) – Number of harmonics in each direction.

  • box_lengths (numpy.ndarray) – Length of each box’s side.

  • angle_averaging (str) – Flag for calculating all the possible k vector directions and magnitudes. Default = ‘principal_axis’

  • max_aa_harmonics (numpy.ndarray) – Maximum k harmonics in each direction for angle average.

Returns

  • k_arr (list) – List of all possible combination of \((n_x, n_y, n_z)\) with their corresponding magnitudes and indexes.

  • k_counts (numpy.ndarray) – Number of occurrences of each triplet \((n_x, n_y, n_z)\) magnitude.

  • k_unique (numpy.ndarray) – Magnitude of the unique allowed triplet \((n_x, n_y, n_z)\).