CrystalFieldEnergies v1#

Summary#

Calculates crystal field energies and wave functions for rare earth ions given the field parameters.

Properties#

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.

Description#

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.86648   +0.j  0.        +0.j  9.27182972+0.j  0.        +0.j
    -3.36590841+0.j  0.        +0.j]
   [ 0.        +0.j  4.96692   +0.j  0.        +0.j 19.33604706+0.j
     0.        +0.j -3.36590841+0.j]
   [ 9.27182972+0.j  0.        +0.j -6.8334    +0.j  0.        +0.j
    19.33604706+0.j  0.        +0.j]
   [ 0.        +0.j 19.33604706+0.j  0.        +0.j -6.8334    +0.j
     0.        +0.j  9.27182972+0.j]
   [-3.36590841+0.j  0.        +0.j 19.33604706+0.j  0.        +0.j
     4.96692   +0.j  0.        +0.j]
   [ 0.        +0.j -3.36590841+0.j  0.        +0.j  9.27182972+0.j
     0.        +0.j  1.86648   +0.j]]

Please note that this area is under active development and any name can be changed in the future.

Categories: AlgorithmIndex | Inelastic

Source#

C++ header: CrystalFieldEnergies.h

C++ source: CrystalFieldEnergies.cpp