genCF
A package to determine non-vanishing crystal field parameters from point group symmetries.
Installation
To install genCF using PyPI, run the following command:
pip install gencf
Example Usage
>>> from gencf import generate_allowed_terms, print_allowed_terms
>>> C3v = generate_allowed_terms('C3v')
>>> print_allowed_terms(C3v)
+-----+---------------+-------------------+
| k | Real Terms | Imaginary Terms |
+=====+===============+===================+
| 1 | A10 | — |
+-----+---------------+-------------------+
| 2 | B20 | — |
+-----+---------------+-------------------+
| 3 | A33, A30 | — |
+-----+---------------+-------------------+
| 4 | B43, B40 | — |
+-----+---------------+-------------------+
| 5 | A53, A50 | — |
+-----+---------------+-------------------+
| 6 | B66, B63, B60 | — |
+-----+---------------+-------------------+
| 7 | A76, A73, A70 | — |
+-----+---------------+-------------------+
Theory
The crystal field Hamiltonian can be written as [1, 2]
$\displaystyle H_\text{CF} = \sum_{k=2,4,6}\sum_{q=0}^k \text{Re}\bigl[B^k_q\bigr] \left(C_{q}^{(k)} + (-1)^q C_{-q}^{(k)} \right) + i\text{Im}\bigl[B^k_q\bigr] \left(C_{q}^{(k)} - (-1)^q C_{-q}^{(k)}\right).$
Depending on the site symmetry of the crystal, certain components of the crystal field parameters, or the entire parameter will vanish.
The crystal field parameters for odd $k$ do not contribute to the energy splitting between $4f$ energy levels due to parity of the $4f$ eigenstates, but they are relevant when modelling the electric dipole transition [3, 4, 5]. As such, they have been denoted $A_{tp}$, following the notation used by Judd and Ofelt [4, 5].
Further reading can be found in the references.
Notes
- The $z$-axis is taken as the axis of highest symmetry.
- The $xz$-plane is taken to be the $\sigma_v$ symmetry plane to make $\text{Im}(B^k_q)$ vanish [6].
- Point groups that do not contain $\sigma_v$ symmetry can be rotated about the $z$-axis to remove the imaginary component from ONE of the $B^k_q$ terms for $q \neq 0$ [6].
- NOTE: this has not been performed in the code
- The five cubic point groups $T, T_h, T_d, O, O_h$ were too difficult to calculate, so the non-vanishing crystal field parameters have been quoted from [1, 2, 7].
References
[1] G. Liu, Spectroscopic Properties of Rare Earths in Optical Materials, 1st ed (Springer Berlin / Heidelberg, Berlin, Heidelberg, 2005).
[2] D. J. Newman and B. Ng, editors , Crystal Field Handbook, Digitally printed version (Cambridge Univ. Press, Cambridge, 2007).
[3] M. F. Reid and F. S. Richardson, Electric dipole intensity parameters for lanthanide 4 f → 4 f transitions, The Journal of Chemical Physics 79, 5735 (1983).
[4] G. S. Ofelt, Intensities of Crystal Spectra of Rare-Earth Ions, The Journal of Chemical Physics 37, 511 (1962).
[5] B. R. Judd, Optical Absorption Intensities of Rare-Earth Ions, Phys. Rev. 127, 750 (1962).
[6] J. W. Leech and D. J. Newman, How to Use Groups, Repr (Chapman and Hall, London, 1977).
[7] J.-D. Lizarazo-Ferro, T. O. Puel, M. E. Flatté, and R. Zia, Refining spectroscopic calculations for trivalent lanthanide ions: A revised parametric Hamiltonian and open-source solution, Phys. Rev. B 113, 075127 (2026).
Metadata
Release files for gencf 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gencf-0.2.1.tar.gz | 8.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gencf-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.8 kB
Release files / gencf-0.2.1.tar.gz
| Download URL | gencf-0.2.1.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
342a4b6367f44e08d0c628362ac837cc20de20c33f8094e010e3907d3fad4748
|
|
BLAKE2b-256 checksum How to use checksums |
883e1c675a927918a9e733ca7007cda3097a8a63bc103b122cb47bf03b56591d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / gencf-0.2.1-py3-none-any.whl
| Download URL | gencf-0.2.1-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cdc3e31b56dee0cde04dcd96e499b1d98a44313140fb0aa544c9d4a71797bca8
|
|
BLAKE2b-256 checksum How to use checksums |
490c8483bbf90a2b04e79227e108f24256bad0dee3bbca1573fab13f4f1cd562
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Security for gencf 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.