BlochWaveBackend#

class de_ebsd.diffraction.BlochWaveBackend[source]#

Bases: MasterPatternBackend

The physical Bloch-wave backend (EMsoft CalcLgh + Sgh).

Per beam direction: classify reflections (Bethe), build the dynamical matrix, eigendecompose and depth-integrate (calc_lgh()), weight with the structure-factor-like Sgh matrix, and reduce to one backscatter intensity I(k) = Re sum_gh L_gh S_gh / n_atoms.

This is the float64 reference path (one direction at a time), the M2 correctness milestone; the batched GPU path (bucket by strong-beam count + batched eig) is the follow-up optimization behind the same interface.

Methods

intensities

Intensities (K,) for unit directions (K, 3).

prepare

Build and cache per-simulation tensors on the target device.

Attributes

name

uses_depth_profile

whether this backend consumes a Monte Carlo exit-depth profile; the simulator builds a native one (EMsoft-free) when the user supplies none.

intensities(directions)[source]#

Intensities (K,) for unit directions (K, 3). Called after prepare.

prepare(inputs)[source]#

Build and cache per-simulation tensors on the target device.

uses_depth_profile = True#

whether this backend consumes a Monte Carlo exit-depth profile; the simulator builds a native one (EMsoft-free) when the user supplies none.