Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jagot/atoms.jl


https://github.com/jagot/atoms.jl

Last synced: 6 days ago
JSON representation

Awesome Lists containing this project

README

        

#+TITLE: Atoms.jl
#+AUTHOR: Stefanos Carlström
#+EMAIL: [email protected]

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

#+PROPERTY: header-args:julia :session *julia-Atoms*

A small package for quickly setting up [[https://github.com/jagot/MultiIndices.jl][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
#+BEGIN_SRC julia :exports code
using Atoms
#+END_SRC

#+RESULTS:
: nothing

Create an argon atom in the Breit–Pauli approximation, with a
maximum ℓ = 10:
#+BEGIN_SRC julia :exports both :results verbatim
Ar = BreitPauliAtom(:Ar, 10)
#+END_SRC

#+RESULTS:
: 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
#+BEGIN_SRC julia :exports both :results verbatim
size(space(Ar))
#+END_SRC

#+RESULTS:
: (121, 2, 18)

We can also create helium-like argon:
#+BEGIN_SRC julia :exports both :results verbatim
HeAr = BreitPauliAtom(:He, 10, Z=:Ar)
#+END_SRC

#+RESULTS:
: Helium-like Argon (Atoms.BreitPauliAtom; ℓmax = 11, 121 partial waves ⊗ 2 spins)
: N = 2, Z = 18, ground state: 1s²

#+BEGIN_SRC julia :exports both :results verbatim
size(space(HeAr))
#+END_SRC

#+RESULTS:
: (121, 2, 2)

In the single-active electron approximation, with cylindrical
symmetry, we can do the following
#+BEGIN_SRC julia :exports both :results verbatim
ArSAE = SAEAtom2D(:Ar, 10)
#+END_SRC

#+RESULTS:
: Argon (Atoms.SAEAtom; ℓmax = 11, 2d)
: N = 18, ground state: [Ne]ᶜ 3s² 3p⁶

#+BEGIN_SRC julia :exports both :results verbatim
size(space(ArSAE))
#+END_SRC

#+RESULTS:
: 11