pyextal.jaxMultipole.wien2k¶
WIEN2k output as reference data: structure factors (lapw3) and density maps (lapw5).
case.output3The section
X - RAY STRUCTURFACTORSlists one reflection per family,h k l sin(theta)/lambda F– the static crystal X-ray structure factors of the self-consistent density (no thermal factor), as magnitudes.read_output3()returns them;observations()maps them onto a Crystal’s canonical keys, with signs from a model, as'xray_static'observations a multipole model can be fitted to.case.rhoA lapw5 map: a header
nx ny xlen ylen(bohr) andnx * nyvalues in e/bohr^3, five per line. With theDIFFswitch it is the crystal density minus superposed free atoms – the deformation density. The plane is set by the first three lines ofcase.in5: origin, x end and y end as integer numerators over a common divisor (fractional coordinates).
Functions¶
|
The crystal structure factors of a lapw3 output. |
|
WIEN2k structure factors as |
|
|
|
A lapw5 map. |
|
Cartesian points (A) of a lapw5 grid, and in-plane coordinates (A). |
Module Contents¶
- pyextal.jaxMultipole.wien2k.read_output3(path)¶
The crystal structure factors of a lapw3 output.
- Returns:
(hkl (n, 3) int, s (n,), F (n,)), F in electrons per cell.- Return type:
tuple
- pyextal.jaxMultipole.wien2k.observations(path, model, p_sign=None, smax=None, sigma=(0.005, 0.001), drop_000=True)¶
WIEN2k structure factors as
'xray_static'observations ofmodel’s crystal.- Parameters:
path (path-like) –
case.output3.model (MultipoleModel) – Supplies the families (canonical keys) and the signs (lapw3 prints magnitudes; the crystal here is centrosymmetric with the origin on an inversion centre, so the sign is all that is missing).
p_sign (array, optional) – Parameters for the signs; the IAM by default.
smax (float, optional) – Keep s <= smax (A^-1).
sigma (tuple) –
(absolute, relative): sigma = abs + rel |F|, a weight for a fit to theory, which has no measurement error.
- Returns:
Observations
- pyextal.jaxMultipole.wien2k.read_in5(path)¶
(origin, x_end, y_end)of a lapw5 plane, fractional coordinates.
- pyextal.jaxMultipole.wien2k.read_rho(path, angstrom=True)¶
A lapw5 map.
- Returns:
(rho (nx, ny), xlen, ylen); rho in e/A^3 and lengths in A whenangstrom(else e/bohr^3 and bohr).rho[i, j]is the pointorigin + i/(nx-1) (x_end - origin) + j/(ny-1) (y_end - origin).- Return type:
tuple
- pyextal.jaxMultipole.wien2k.rho_plane_points(crystal, in5, nx, ny)¶
Cartesian points (A) of a lapw5 grid, and in-plane coordinates (A).
- Returns:
(points (nx, ny, 3), U (nx, ny), V (nx, ny))with U along x_end - origin and V along y_end - origin, both from the origin.- Return type:
tuple