Reference¶
-
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, B60hexagonal: B20, B40, B44, B66tetragonal: B20, B40, B44, B60, B64orthorombic: B20, B22, B40, B42, B44, B60, B62, B64, B66-
BXY
¶ 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.
-
sym
¶ str, optional – Symmetry of the crystal field
c - cubixh - hexagonalt - tetragonalo - orthorombic (default)
Examples
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
Parameters: - ion (
crysfipy.reion.re
) – 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\)
- ion (
-
class
crysfipy.reion.
re
(name, field, cfp, calculate=True)¶ Object representing rare-earth ion in CF potential
-
name
¶ str – Name of the ion.
-
field
¶ 1D array of floats – external magnetic field applied in T.
-
cfp
¶ crysfipy.reion.cfpars
– Crystal field parameters
-
calculate
¶ bool, optional – If true (default) then it automatically diagonalizes Hamiltonian and calculates energy levels.
Examples
>>> ce = re("Ce", [0,0,0], ["c", 10]) >>> print(ce) Energy levels: E(0) = 0.0000 2fold-degenerated E(1) = 3600.0000 4fold-degenerated
-
getlevels
()¶ Calculate degeneracy of the levels and sort the matrix
-
-
crysfipy.reion.
susceptibility
(ion, T)¶ Returns susceptibility calculated for given ion at given temperature