Table of Contents
Calculates crystal field energies and wave functions for rare earth ions given the field parameters.
Name | Direction | Type | Default | Description |
---|---|---|---|---|
Nre | Input | number | 1 | A rare earth ion. Possible values are: 1=Ce 2=Pr 3=Nd 4=Pm 5=Sm 6=Eu 7=Gd 8=Tb 9=Dy 10=Ho 11=Er 12=Tm 13=Yb, or negative values for arbitrary J with J=-nre/2 up to nre=-99 (J=99/2) |
BmolX | Input | number | 0 | The x-component of the molecular field. |
BmolY | Input | number | 0 | The y-component of the molecular field. |
BmolZ | Input | number | 0 | The z-component of the molecular field. |
BextX | Input | number | 0 | The x-component of the external field. |
BextY | Input | number | 0 | The y-component of the external field. |
BextZ | Input | number | 0 | The z-component of the external field. |
B20 | Input | number | 0 | Real part of the B20 field parameter. |
B21 | Input | number | 0 | Real part of the B21 field parameter. |
B22 | Input | number | 0 | Real part of the B22 field parameter. |
B40 | Input | number | 0 | Real part of the B40 field parameter. |
B41 | Input | number | 0 | Real part of the B41 field parameter. |
B42 | Input | number | 0 | Real part of the B42 field parameter. |
B43 | Input | number | 0 | Real part of the B43 field parameter. |
B44 | Input | number | 0 | Real part of the B44 field parameter. |
B60 | Input | number | 0 | Real part of the B60 field parameter. |
B61 | Input | number | 0 | Real part of the B61 field parameter. |
B62 | Input | number | 0 | Real part of the B62 field parameter. |
B63 | Input | number | 0 | Real part of the B63 field parameter. |
B64 | Input | number | 0 | Real part of the B64 field parameter. |
B65 | Input | number | 0 | Real part of the B65 field parameter. |
B66 | Input | number | 0 | Real part of the B66 field parameter. |
IB20 | Input | number | 0 | Imaginary part of the B20 field parameter. |
IB21 | Input | number | 0 | Imaginary part of the B21 field parameter. |
IB22 | Input | number | 0 | Imaginary part of the B22 field parameter. |
IB40 | Input | number | 0 | Imaginary part of the B40 field parameter. |
IB41 | Input | number | 0 | Imaginary part of the B41 field parameter. |
IB42 | Input | number | 0 | Imaginary part of the B42 field parameter. |
IB43 | Input | number | 0 | Imaginary part of the B43 field parameter. |
IB44 | Input | number | 0 | Imaginary part of the B44 field parameter. |
IB60 | Input | number | 0 | Imaginary part of the B60 field parameter. |
IB61 | Input | number | 0 | Imaginary part of the B61 field parameter. |
IB62 | Input | number | 0 | Imaginary part of the B62 field parameter. |
IB63 | Input | number | 0 | Imaginary part of the B63 field parameter. |
IB64 | Input | number | 0 | Imaginary part of the B64 field parameter. |
IB65 | Input | number | 0 | Imaginary part of the B65 field parameter. |
IB66 | Input | number | 0 | Imaginary part of the B66 field parameter. |
Energies | Output | dbl list | The energies starting at 0 in ascending order. | |
Eigenvectors | Output | dbl list | The eigenvectors. | |
Hamiltonian | Output | dbl list | The Hamiltonian. |
This algorithm is not for general use. Its purpose is to expose to python the crystal field calculations implemented in C++. The algorithm calculates the crystal field energies and wave functions. The example shows how it can be used from python:
from CrystalField.energies import energies
# The first parameter is a code for the rare earth ion
# The rest of the parameters define the crystal field
en, wf, ham = energies(1, B20=0.37737, B22=3.9770, B40=-0.031787, B42=-0.11611, B44=-0.12544)
# a list of crystal field energies
print('energies:\n{}'.format(en))
# a complex-valued matrix with wave functions
print('wave functions:\n{}'.format(wf))
# a complex-valued matrix with the Hamiltonian
print('Hamiltonian:\n{}'.format(ham))
energies:
[ 0.00000000e+00 4.97379915e-14 2.93261118e+01 2.93261118e+01
4.43412485e+01 4.43412485e+01]
wave functions:
[[ -6.93889390e-17+0.j -3.38877312e-01+0.j 6.80756336e-01+0.j
-6.25169857e-01+0.j 1.74683643e-01+0.j -1.95256823e-02+0.j]
[ 5.42213428e-01+0.j -7.97569062e-17+0.j -2.33045938e-01+0.j
-2.53767032e-01+0.j 8.51307403e-02+0.j 7.61609638e-01+0.j]
[ 5.55111512e-17+0.j 7.68873700e-01+0.j 1.21082286e-01+0.j
-1.11195433e-01+0.j 6.14081735e-01+0.j -6.86404558e-02+0.j]
[ -7.68873700e-01+0.j 6.77450070e-17+0.j 1.11195433e-01+0.j
1.21082286e-01+0.j 6.86404558e-02+0.j 6.14081735e-01+0.j]
[ -5.55111512e-17+0.j -5.42213428e-01+0.j -2.53767032e-01+0.j
2.33045938e-01+0.j 7.61609638e-01+0.j -8.51307403e-02+0.j]
[ 3.38877312e-01+0.j -2.36325596e-17+0.j 6.25169857e-01+0.j
6.80756336e-01+0.j 1.95256823e-02+0.j 1.74683643e-01+0.j]]
Hamiltonian:
[[ 1.86648000+0.j 0.00000000+0.j 9.27182972+0.j 0.00000000+0.j
-3.36590841+0.j 0.00000000+0.j]
[ 0.00000000+0.j 4.96692000+0.j 0.00000000+0.j 19.33604706+0.j
0.00000000+0.j -3.36590841+0.j]
[ 9.27182972+0.j 0.00000000+0.j -6.83340000+0.j 0.00000000+0.j
19.33604706+0.j 0.00000000+0.j]
[ 0.00000000+0.j 19.33604706+0.j 0.00000000+0.j -6.83340000+0.j
0.00000000+0.j 9.27182972+0.j]
[ -3.36590841+0.j 0.00000000+0.j 19.33604706+0.j 0.00000000+0.j
4.96692000+0.j 0.00000000+0.j]
[ 0.00000000+0.j -3.36590841+0.j 0.00000000+0.j 9.27182972+0.j
0.00000000+0.j 1.86648000+0.j]]
Please note that this area is under active development and any name can be changed in the future.
Categories: Algorithms | Inelastic
C++ source: CrystalFieldEnergies.cpp (last modified: 2017-10-03)
C++ header: CrystalFieldEnergies.h (last modified: 2016-07-11)