grogupy.physics.fit_exchange_tensor

grogupy.physics.fit_exchange_tensor(energies: ndarray[Any, dtype[_ScalarType_co]], ref_xcf: list[dict]) tuple[float, ndarray[Any, dtype[_ScalarType_co]], ndarray[Any, dtype[_ScalarType_co]], ndarray[Any, dtype[_ScalarType_co]]][source]

Fits the exchange tensor to the energies.

It uses a fitting method to calculate the exchange tensor from the reference directions and its different representations.

Parameters

energiesNDArray

Energies upon rotations

ref_xcflist[dict]

The reference directions containing the orientation and perpendicular directions

Returns

J_isofloat

Isotropic exchange (Tr[J] / 3)

J_SNDArray

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

DNDArray

DM elements (Dx, Dy, Dz)

JNDArray

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