pyextal.jaxMultipole.wien2k

WIEN2k output as reference data: structure factors (lapw3) and density maps (lapw5).

case.output3

The section X - RAY STRUCTURFACTORS lists 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.rho

A lapw5 map: a header nx ny xlen ylen (bohr) and nx * ny values in e/bohr^3, five per line. With the DIFF switch it is the crystal density minus superposed free atoms – the deformation density. The plane is set by the first three lines of case.in5: origin, x end and y end as integer numerators over a common divisor (fractional coordinates).

Functions

read_output3(path)

The crystal structure factors of a lapw3 output.

observations(path, model[, p_sign, smax, sigma, drop_000])

WIEN2k structure factors as 'xray_static' observations of model's crystal.

read_in5(path)

(origin, x_end, y_end) of a lapw5 plane, fractional coordinates.

read_rho(path[, angstrom])

A lapw5 map.

rho_plane_points(crystal, in5, nx, ny)

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 of model’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 when angstrom (else e/bohr^3 and bohr). rho[i, j] is the point origin + 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