A Mixture is a probabilistic particle: at each placement, it
resolves to one of its configured particle types — the possible
outcomes — with probabilities given by the (internally normalized)
abundance weights. This is especially suited to uncorrelated
compositional disorder: random substitutions at lattice sites, or
species mixing in dilute distributions.
mix = ba.Mixture()
mix.addParticle(particle_1, 0.8)
mix.addParticle(particle_2, 0.2)
Equal abundances may also be expressed without normalization:
mix.addParticle(particle_1, 1)
mix.addParticle(particle_2, 1)
Like every IParticle, a Mixture can be deposited directly in
a Layer, wrapped in Dilute2D, or used as the basis particle
of an ordered structure such as
RadialParacrystal.
Compared with Compound, which coherently sums the
form factors of its constituents at fixed positions, Mixture
represents the incoherent case: each particle type contributes to
the scattered intensity independently, weighted by its abundance,
with no interference between different types.