\(\renewcommand\AA{\unicode{x212B}}\)
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[2:]))
# 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:
[ 29.32611185 29.32611185 44.3412485 44.3412485 ]
wave functions:
[[ ... ... ...
... ... ...]
[ ... ... ...
... ... ...]
[ ... ... ...
... ... ...]
[ ... ... ...
... ... ...]
[ ... ... ...
... ... ...]
[ ... ... ...
... ... ...]]
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: AlgorithmIndex | Inelastic
C++ header: CrystalFieldEnergies.h (last modified: 2020-03-20)
C++ source: CrystalFieldEnergies.cpp (last modified: 2021-03-31)