Skip to content

abussy/SIRIUS.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SIRIUS

Build Status

SIRIUS.jl is a Julia package providing wrappers for the C-style API of the SIRIUS library, a domain specific library for electronic structure calculations.

The package relies on the SIRIUS binary distributed as SIRIUS_jll.jl. The source code is generated by the gen/generator.jl script in a two-stage process: first, Julia wrappers are automatically generated around the C-style API of SIRIUS in the src/LibSirius.jl file, using Clang.jl. Then, post-processing takes place for selected functions (as listed in the gen/python/functions_to_parse.txt) for ease of use and better compliance with Julia conventions, resulting in the src/SIRIUS.jl file.

The package can be tested with and without MPI support. Results for energies, forces and stresses are compared to reference numbers obtained via the SIRIUS miniapp. To run the MPI tests: import Pkg; Pkg.test("SIRIUS", test_args=["mpi"])