Skip to content

Latest commit

 

History

History
17 lines (13 loc) · 1.13 KB

README.md

File metadata and controls

17 lines (13 loc) · 1.13 KB

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"])