Skip to main content

Python 3 package to calculate angular matrix elements of lanthanide ions.

Project description

AMELI 1.2.0 (Angular Matrix Elements of Lanthanide Ions)

This is a Python 3 package to calculate the angular matrix elements of spherical tensor operators of lanthanide ions in exact arithmetic using SymPy. Each matrix element is stored as signed square root of a rational number. The basic functions support any many-electron configuration, but the implementation of most high-level operators is specific for single-shell systems like the lanthanide ions.

The main purpose of this software is the preparation of the comprehensive matrix datasets in the AMELI repository on Zenodo. Each lanthanide dataset for the configurations $f^1$ to $f^{13}$ contains unit tensor operators, angular momentum operators and perturbation Hamiltonians. All relevant perturbation operators are provided in first order (Coulomb, spin-orbit, spin-spin, spin-other-orbit) and in second order (Coulomb, electrostatic spin-orbit).

The AMELI matrix datasets are intended as replacements for the printed and incomplete tables published mainly by B. R. Judd, W. T. Carnall, C. W. Nielson, and G. F. Koster on the 1960s and 1970s. In particular they are intended to replace all tables of reduced unit tensor matrix elements in intermediate coupling still used for Judd-Ofelt calculations. Such calculations should instead be based on a set of radial integrals serving as linear expansion coefficients for the operator matrices.

Documentation

A paper on the mathematical background of AMELI, its workflow, and a detailed comparison of the resulting tensor matrices to the literature is ready and will be submitted to arXiv and a scientific journal very soon.

General Remarks

All angular matrices of a given electron configuration are constants and need to be calculated only once. This software package therefore is intended mainly as reference. Instead of integrating AMELI code into your own project, you should use the matrices from the AMELI repository on Zenodo. A reference implementation will be provided by the Lanthanide package, which will soon be switching from self-generated matrices to AMELI.

AMELI calculates operator matrices in the product state space together with a transformation matrix to $LS$-coupling in exact arithmetic. All characteristic eigenvalues and irreducible representations for each state are provided. Global signs are synchronized for states inside each $J$-multiplet. This allows to use reduced matrices for intermediate coupling in amorphous materials.

All matrices and other intermediate calculation results are stored as SciDataContainer files enriched with plenty of meta data and descriptions. Following the FAIR data principles of research data management the container content is easily accessible to humans and machines. A Python implementation is available, but not necessary, because a SciDataContainer file is just a ZIP folder. AMELI containers consist only of JSON files for the meta data and HDF5 files for the numerical data.

Application 1: Energy Levels of Lanthanides

The matrices can be used for the fit of lanthanide energy levels to measured absorption spectra resulting in radial integrals and the coefficients of all states in intermediate coupling. For crystalline materials these calculations can take full advantage of all spectral lines using the even-rank unit tensor operators for modelling the crystal-field splitting. This includes the mixing of states with different $J$ quantum number. For amorphous materials the calculations can take advantage of the effective rotational site symmetry which allows to perform them in a reduced $SLJ$ space with much smaller matrices.

Application 2: Transition Intensities of Lanthanides

Based on radial integrals from the literature or own energy-level fits, the coefficients of all states in intermediate coupling can be determined as linear combination of $LS$-states. This makes the generation of all reduced matrix elements for Judd-Ofelt calculations a simple task. While the Judd-Ofelt theory is standard to predict the radiative intensities of every emission and absorption transition from measured absorption spectra in amorphous hosts, it is not intended for crystalline hosts. The AMELI repository contains all matrices for the Crystal Field Intensity (CFI) method instead, which uses the same mathematical procedure as Judd-Ofelt, but with a larger set of parameters reflecting the richer structure of crystalline spectra. Based on odd-rank unit tensor operators the electric dipole operators for any site-symmetry can be modelled in addition to the magnetic dipole operator, which is the same for amorphous and crystalline materials.

Package Structure

The main code of the AMELI package is contained in the folder ameli. The script generate.py in the folder generate is used to calculate the full set of matrices for all lanthanide configurations. Due to the exact arithmetic this is a time-consuming process. Even though the script builds a dependency graph and schedules the computation tasks to all available CPU cores, it takes several days to finish. The folder testcontains a set of test scripts orchestrated by the main script test.py which perform a large number of mathematical tests and comparisons to values published in printed literature. Its subfolder results contains the results from a test run and the subfolder tables contains the script used to extract the comparison tables in the AMELI paper from the test results. The folder upload is for documentation only. It contains the scripts used to upload and update the matrix datasets on the Zenodo repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ameli-1.2.0.tar.gz (56.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ameli-1.2.0-py3-none-any.whl (54.6 kB view details)

Uploaded Python 3

File details

Details for the file ameli-1.2.0.tar.gz.

File metadata

  • Download URL: ameli-1.2.0.tar.gz
  • Upload date:
  • Size: 56.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ameli-1.2.0.tar.gz
Algorithm Hash digest
SHA256 6628f34ed2f427bf85beadc413473dc63bd566ef0908904c3fed8e081759e262
MD5 e1bd5db12209024705d08069276526ec
BLAKE2b-256 c088ead7d9caea9c62a5896b6c3872d24a8fd21c27d97ac41d8557d6db7dd940

See more details on using hashes here.

Provenance

The following attestation bundles were made for ameli-1.2.0.tar.gz:

Publisher: publish.yml on reincas/AMELI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ameli-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: ameli-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 54.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ameli-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e41719a43b8aa24e0d669fb9db5538dd63178193b7aec1c8ddcdef0c06f2c193
MD5 324a07644c4290da3a0587f468d20ce1
BLAKE2b-256 ab1f53205804d9e747144bf8a02a6e090ad35b70cb8a0e9d0989b8f88cf05280

See more details on using hashes here.

Provenance

The following attestation bundles were made for ameli-1.2.0-py3-none-any.whl:

Publisher: publish.yml on reincas/AMELI

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page