/Atoms.jl

Primary LanguageJuliaOtherNOASSERTION

Atoms.jl

https://travis-ci.org/jagot/Atoms.jl.svg?branch=master https://coveralls.io/repos/github/jagot/Atoms.jl/badge.svg?branch=master http://codecov.io/gh/jagot/Atoms.jl/branch/master/graph/badge.svg

A small package for quickly setting up MultIndices useful for computations with atoms (which are usually treated as spherically symmetric systems).

Atomic data provided by https://github.com/andrejewski/periodic-table/.

Usage

using Atoms

Create an argon atom in the Breit–Pauli approximation, with a maximum ℓ = 10:

Ar = BreitPauliAtom(:Ar, 10)
Argon (Atoms.BreitPauliAtom; ℓmax = 11, 121 partial waves ⊗ 2 spins)
N = 18, ground state: [Ne]ᶜ 3s² 3p⁶

The size of the tensor product space is

size(space(Ar))
(121, 2, 18)

We can also create helium-like argon:

HeAr = BreitPauliAtom(:He, 10, Z=:Ar)
Helium-like Argon (Atoms.BreitPauliAtom; ℓmax = 11, 121 partial waves ⊗ 2 spins)
N = 2, Z = 18, ground state: 1s²
size(space(HeAr))
(121, 2, 2)

In the single-active electron approximation, with cylindrical symmetry, we can do the following

ArSAE = SAEAtom2D(:Ar, 10)
Argon (Atoms.SAEAtom; ℓmax = 11, 2d)
N = 18, ground state: [Ne]ᶜ 3s² 3p⁶
size(space(ArSAE))
11