Expand description
Crystalline targets: the cubic and hexagonal lattice models and the geometry that sets the ion direction in the crystal frame (steps 19a and 19b of the M2 crystal plan).
This module is the data model. The binary-collision engine
(crate::ion::bca) uses it for the regions named in
Bca::with_crystal (the crystal
flight model, see crate::ion::bca::crystal); everywhere else it is
unchanged and amorphous runs are bit-identical. It provides three pieces:
Lattice(lattice): Bravais (primitive) vectors, a basis of sites with their species, and lattice parameters stated with their temperature. Constructors exist for the cubic diamond (Si, Ge) and zincblende (GaAs, 3C-SiC) structures and the hexagonal wurtzite and polytype (stacking sequence, e.g. 4H, 6H) structures. Presets carry cited lattice parameters (LatticeConstant,HexagonalConstants): Si, Ge, GaAs, 3C-SiC, GaN, 4H-SiC and 6H-SiC. Miller-index plane normals and lattice directions are computed from the reciprocal lattice; hexagonal lattices also take four-index (Miller-Bravais) planes(hkil)and directions[uvtw], with the convention in thelatticemodule docs.Orientation(orientation): the wafer cut (surface normal and an in-plane reference direction, both as indices), and the beam tilt, twist and wafer rotation. It gives the lab-to-crystal rotation and the beam direction in the crystal frame. The conventions are written out in theorientationmodule docs and indocs/crystal-orientation.md, with a figure.Divergence(divergence): beam divergence sampled on the per-particle random stream (crate::rng::stream): a Gaussian (independent normal deviations in two orthogonal angles) or a uniform cone.
§Frames
- Crystal frame: Cartesian axes along the cube edges of the
conventional cell, so the direction
[100]is(1, 0, 0). For a hexagonal lattice,zis thecaxis[0001]andxis along[11-20](a1 + a2). Lengths are metres (crate::units). - Lab frame: the frame of
crate::geometry:xis depth (the inward surface normal),yandzare lateral. A beam direction with polar angleθfrom+xand azimuthφfrom+ytowards+zis(cos θ, sin θ cos φ, sin θ sin φ), the same ascrate::ion::bca::Beam::direction.
Thermal vibration of lattice atoms is the Debye model in debye
(amplitude and displacement sampling). The crystal flight model of the
engine uses it when a crystal is given a temperature
(CrystalTarget::thermal).
search finds the lattice sites within an impact parameter of a path
segment by walking rectangular cells (Lattice::orthogonal_cell: the
cube, or the orthohexagonal cell), ordered along the path (geometry only;
the crystal flight model of the engine calls it for every segment).
Re-exports§
pub use divergence::Divergence;pub use lattice::HexagonalConstants;pub use lattice::Lattice;pub use lattice::LatticeConstant;pub use lattice::Site;pub use lattice::Structure;pub use orientation::Orientation;pub use search::Candidate;pub use search::LatticeSearch;
Modules§
- debye
- Debye model of thermal vibration: RMS displacement and its sampling.
- divergence
- Beam divergence: the spread of incidence directions about the nominal beam direction, sampled on the per-particle random stream.
- lattice
- Crystal lattices: Bravais vectors, a basis of sites with species, and lattice parameters stated with their temperature.
- orientation
- Wafer cut and beam angles: the lab-to-crystal rotation from (tilt, twist, wafer rotation).
- search
- Lattice neighbour search: the sites near a straight path segment, found by walking unit cells (step 20a of the M2 crystal plan).
Enums§
- Crystal
Error - Errors from building lattices, orientations and divergence models.