+++
title = "Mixture"
weight = 20
+++

## Particle mixture

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.

```python
mix = ba.Mixture()
mix.addParticle(particle_1, 0.8)
mix.addParticle(particle_2, 0.2)
```

Equal abundances may also be expressed without normalization:

```python
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`](/ref/sample/struct/2d/radial_paracryst).

### Physics

Compared with [`Compound`](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.

### Examples

- [Uncorrelated mixture](/ref/sample/struct/2d/disorder/mixture)
  — a dilute layout of cylinders and prisms with equal abundance.
- [Decoupling and SSCA approximations](/ref/sample/struct/2d/approx)
  — Mixture supplying the multi-particle content of an ordered
  structure.
