\(\renewcommand\AA{\unicode{x212B}}\)

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.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

Source

C++ header: CrystalFieldEnergies.h

C++ source: CrystalFieldEnergies.cpp