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.