class crysfipy.reion.cfpars(*args, **kwargs)

Class representing set of crystal field parameters.

It simplifies the creation of the CF parameter sets considering symmetry of the environment. Other modules expect that CF parameters are in meV (SI units). But if you just want to diagonalize Hamiltonian, it is possible to use K (and results will be in K).

Initialization can be done with named arguments or without. If arguments are not named, symmetry is considered from the first string argument. Stevens parameters are considered differently for different symmetries in following order:

cubic: B40, B60
hexagonal: B20, B40, B44, B66
tetragonal: B20, B40, B44, B60, B64
orthorombic: B20, B22, B40, B42, B44, B60, B62, B64, B66

float, optional – Attribute corresponding to \(B_X^Y\) Stevens Parameters. See Hutchings. If at least one CF parameter is specified as a named argument, non-named numerical parameters are ignored.


str, optional – Symmetry of the crystal field

c - cubix
h - hexagonal
t - tetragonal
o - orthorombic (default)


Create set of CF parameters by named parameters:

>>> print(cfpars(sym = "c", B40 = 10))
Set of CF parameters for cubic symmetry:
B40 = 10.0000
B60 = 0.0000
B44 = 50.0000
B64 = 0.0000

Use of non-named parameters:

>>> print(cfpars("c", 10, 1))
Set of CF parameters for cubic symmetry:
B40 = 10.0000
B60 = 1.0000
B44 = 50.0000
B64 = -21.0000
crysfipy.reion.neutronint(ion, T, direction='t')

Returns matrix of energy and transition intensity at given temperature

  • ion ( – Rare-earth ion object
  • T (float) – temperature in K
  • direction (str) –

    Direction of the Q in which to calculate

    t - powder (default)
    x - using \(J_x\)
    y - using \(J_y\)
    z - using \(J_z\)
class, field, cfp, calculate=True)

Object representing rare-earth ion in CF potential


str – Name of the ion.


1D array of floats – external magnetic field applied in T.


crysfipy.reion.cfpars – Crystal field parameters


bool, optional – If true (default) then it automatically diagonalizes Hamiltonian and calculates energy levels.


>>> ce = re("Ce", [0,0,0], ["c", 10])
>>> print(ce)
Energy levels:
E(0) =  0.0000   2fold-degenerated
E(1) =  3600.0000        4fold-degenerated

Calculate degeneracy of the levels and sort the matrix

crysfipy.reion.susceptibility(ion, T)

Returns susceptibility calculated for given ion at given temperature

Indices and tables