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)
mix.nbrParticles() returns the number of added particle alternatives
(2 here), regardless of their abundance weights.
Equal abundances may also be expressed without normalization:
mix.addParticle(particle_1, 1)
mix.addParticle(particle_2, 1)
A Mixture can be used as the particle in Dilute2D or 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.