# yt.utilities.decompose module¶

Automagical cartesian domain decomposition.

yt.utilities.decompose.SIEVE_PRIMES(l)
yt.utilities.decompose.decompose_array(shape, psize, bbox)[source]

Calculate list of product(psize) subarrays of arr, along with their left and right edges

yt.utilities.decompose.decompose_to_primes(max_prime)[source]

Decompose number into the primes

yt.utilities.decompose.evaluate_domain_decomposition(n_d, pieces, ldom)[source]

Evaluate longest to shortest edge ratio BEWARE: lot’s of magic here

yt.utilities.decompose.factorize_number(pieces)[source]

Return array consisting of prime, its power and number of different decompositions in three dimensions for this prime

yt.utilities.decompose.get_psize(n_d, pieces)[source]

Calculate the best division of array into px*py*pz subarrays. The goal is to minimize the ratio of longest to shortest edge to minimize the amount of inter-process communication.

yt.utilities.decompose.split_array(gle, gre, shape, psize)[source]

Split array into px*py*pz subarrays.