grogupy.physics.calculate_exchange_tensor

grogupy.physics.calculate_exchange_tensor(energies: ndarray[Any, dtype[_ScalarType_co]]) tuple[float, ndarray[Any, dtype[_ScalarType_co]], ndarray[Any, dtype[_ScalarType_co]], ndarray[Any, dtype[_ScalarType_co]]][source]

Calculates the exchange tensor from the energies.

It produces the isotropic exchange, the relevant elements from the Dzyaloshinskii-Morilla (Dm) tensor, the symmetric-anisotropy and the complete exchange tensor.

Parameters

energies: NDArray

Energies upon rotations

Returns

J_iso: float

Isotropic exchange (Tr[J] / 3)

J_S: NDArray

Symmetric-anisotropy (J_S = J - J_iso * I –> Jxx, Jyy, Jxy, Jxz, Jyz)

D: NDArray

DM elements (Dx, Dy, Dz)

J: NDArray

Complete exchange tensor flattened (Jxx, Jxy, Jxz, Jyx, Jyy, Jyz, Jzx, Jzy, Jzz)