GithubHelp home page GithubHelp logo

standardgalactic / fermi.jl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fermiqc/fermi.jl

0.0 2.0 0.0 34.24 MB

Fermi quantum chemistry program

License: MIT License

Julia 99.90% Python 0.10%

fermi.jl's Introduction

Documentation Build Status License

Fermi is a quantum chemistry program written in (nearly) pure Julia. This code is developed at the Center for Computational Quantum Chemistry at the University of Georgia under the supervision of Dr. Justin M. Turney and Prof. Henry F. Schaefer.

This work is supported by the U.S. National Science Foundation under grant number CHE-1661604.

Fermi focuses on post Hartree--Fock methods. Currently, only restricted references are supported. This is intended as a research code with an ever growing collection of methods implemented in the package itself. However, the Fermi API is designed to make high performance pilot implementations of methods achievable.

Currently, we have implementations of:

Method Conv. DF
RHF Y Y
RMP2 Y Y
RCCSD Y Y
RCCSD(T) Y Y

Install

Install Fermi by running,

pkg> add Fermi

To access the package manager (pkg>) start the Julia terminal and hit ]. Alternatively, you can run

julia> using Pkg
julia> Pkg.add("Fermi")

If you would like the latest updates, use instead

pkg> add Fermi#master

Everything should work automatically, the most flagile part is building the integral library libcint. The file deps/build.jl contains simple commands to clone and build this library, you might need to modify it to better suit your system. If you do, rerun the build step using pkg> build Fermi. Please reach out if you encounter any problem.

Running single point energies

A minimal example of a computation is provided here. For more info check the documentation.

First, define a molecule

@molecule {
  O        1.2091536548      1.7664118189     -0.0171613972
  H        2.1984800075      1.7977100627      0.0121161719
  H        0.9197881882      2.4580185570      0.6297938830
}

Choose a basis set

@set basis sto-3g

Finally, run a computation

@energy ccsd;

Contribute

PR's, issues, and suggestions are very welcome! You might consider reaching out before starting work so that we can avoid duplication of efforts. Check the roadmap below for an idea of where this project is heading towards. Contact Gustavo Aroeira for any inquiries.

Roadmap

Fermi is a collection of ab initio methods. The long term goal is to provide production level implementations for daily applications.

New features

  1. Gradients for current methods. Three types of gradients are going to be considered: analytical, finite diferences, and automatic differentiation.
  2. Implementations for unrestricted refences, e.g. UCCSD(T).
  3. High-order coupled cluster methods, such as CCSDT, and CCSDT(Q).
  4. CBS extrapolation schemes and focal-point analysis.
  5. Local correlation methods.
  6. Interface with external modules for geometry optimization, vibrational analysis and themodynamic properties.

Improvements

  1. In an effort to improve the composability within the Julia chemistry community, some modules are going to be factorized out and Fermi will act as a high-level interface. For example, we intend to create a GaussianBasis.jl package with all the current integral code in it. That way, anyone interested in a basic, yet high level, integral code can use it.

  2. Performance boosts are always welcome! We need further testing and comparisons with well establish codes to find points to be improved. New backends for BLAS or TBLIS may also be considered.

Employee of the month

fermi.jl's People

Contributors

github-actions[bot] avatar gustavojra avatar jturney avatar mdav2 avatar sgoodlett avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.