xray_utils¶
X-ray scattering utility funcitons
bmatrix(a, b=None, c=None, alpha=90.0, beta=90.0, gamma=90.0)
¶
Calculate the B matrix as defined in Busing&Levy Acta Cyst. 22, 457 (1967) Creates a matrix to transform (hkl) into a cartesian basis: (qx,qy,qz)' = B.(h,k,l)' (where ' indicates a column vector)
The B matrix is related to the reciprocal basis vectors: (astar, bstar, cstar) = 2 * np.pi * B.T Where cstar is defined along the z axis
The B matrix is related to the real-space unit vectors: (A, B, C) = B^-1 = inv(B)
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
a
|
lattice parameter a in Anstroms |
required | |
b
|
lattice parameter b in Anstroms |
None
|
|
c
|
lattice parameter c in Anstroms |
None
|
|
alpha
|
lattice angle alpha in degrees |
90.0
|
|
beta
|
lattice angle beta in degrees |
90.0
|
|
gamma
|
lattice angle gamma in degrees |
90.0
|
Returns:
| Type | Description |
|---|---|
|
[3x3] array B matrix in inverse-Angstroms (no 2pi) |
Source code in mmg_toolbox/utils/xray_utils.py
photon_energy(wavelength_a)
¶
Converts wavelength in A to energy in keV energy_kev = photon_energy(wavelength_a) Energy [keV] = h*c/L = 12.3984 / lambda [A]
Source code in mmg_toolbox/utils/xray_utils.py
photon_wavelength(energy_kev)
¶
Converts energy in keV to wavelength in A wavelength_a = photon_wavelength(energy_kev) lambda [A] = h*c/E = 12.3984 / E [keV]