Core-and-shell particle

To construct a particle made of a core and a shell, use

composite_particle = ba.CoreAndShell(core, shell)

where shell is a simple particle generated by the Particle constructor. The core can be any particle: a simple particle, a nested core-and-shell particle (onion), a Compound of several inclusions, or a Mixture, which picks a random core independently for each core-and-shell particle.

Adjust the internal positions of the core and shell with a prior call:

core.translate(core_position)
shell.translate(shell_position)

The composite_particle can also be translated as a whole.

Note that core must be fully contained in shell. The scattering is computed as the coherent sum of the scattering from shell and core where the scattering power of the latter has been modified by subtracting the scattering power of the shell material.

Examples

History

Prior to BornAgain 1.19.80, the constructor ParticleCoreShell had the opposite argument order, namely (shell, core).