Processors#

This module contains classes for the processors used to efficiently calculate energies of occupancies of a given ClusterSubspace in a given supercell.

For cluster expansions without an external (Ewald) term, a ClusterDecompositionProcessor ClusterExpansionProcessor is used. The ClusterDecompositionProcessor will result in faster sampling since it scales only with the number of orbits of symmetrically distinct clusters as opposed to the number of correlation functions. However if you need correlation function values from samples in your analysis then you will need to use a ClusterExpansionProcessor.

For calculations with an Ewald term, either a ClusterDecompositionProcessor or a ClusterExpansionProcessor is combined with a EwaldProcessor into a CompositeProcessor. This class should generally be instantiated with from_cluster_expansion(), which will automatically identify what type of processor is needed.