Giter Club home page Giter Club logo

dftfit's Introduction

DFTFIT

DFTFIT is a python code that used Ab Initio data from DFT calculations such as VASP, Quantum Espresso, and Siesta to develop molecular dynamic potentials. Our package differs from other similar codes in that we leverage LAMMPS as a calculator enabling a wide variety of potentials. The potentials include custom python functions and a wide variety or three-body interactions including the Tersoff, Stillinger-Weber, Gao-Weber, Vashishta, and COMB Potentials. All of which can be combined to have for example a Buckingham + Coulomb + ZBL potential. We also have an extensive set of multi-objective and single-objective optimizersthat can evaluate a potential for many properties including energy, forces, stress, lattice constants, elastic constants, bulk modulus, and shear modulus.

In general three things are required from the user.

  • Ab-Initio Training Data includes VASP, Siesta, and Quantum Espresso Calculations. Additionally the user may supply measured properties such as lattice constants, elastic constants, bulk modulus, and shear modulus.
  • configuration: specifies optimization algorithm and number of steps, sqlite database to store results, and MD calculator to use.
  • Potential among a rich set of two and three body potentials. Including a custom python function.
Latest Release latest release
Package Status status
License license
Build Status travis ci pipeline status
Documentation documentation

Presentations:

Potentials

Any combination of the following potentials is a valid potential in DFTFIT.

Two-Body Potentials

  • custom python function
  • ZBL
  • Buckingham
  • Beck
  • coulombic interaction
  • Lennard Jones

Three-Body Potentials

  • Tersoff
  • Stillinger Weber
  • Gao Weber
  • Vashishta
  • COMB/COMB3

Measured Properties

  • energy
  • stress
  • forces
  • lattice constants (lengths)
  • elastic constants (voigt)
  • bulk modulus
  • shear modulus

Algorithm

We use generalized least squares method for finding the optimal parameters for a proposed potential. DFTFIT integrates with existing MD software as a potential calculator. Currently only LAMMPS is supported. This means the user has the freedom to use any of the potentials available in LAMMPS.

Our algorithm follows a highly cited publication that proposes a method for determining a new potential for Silicon using the force matching of DFT calcultions.

Optimization Equation

Parameters

  • n_c: number of system configurations
  • N number of atoms in each configuration
  • α, β: tensor with 3D dimensions [x, y, z]
  • cl: classical results from molecular dynamics potential
  • ai: ab initio results from dft simulation
  • w_f, w_s, w_e: weights to assign respectively for force, stress, energy
  • F, S, E: force, stress, and energy respectively.

Dependencies

Installation

For pypi installation. Note that installation of lammps-cython may fail and is required. You will need to install LAMMPS as documented here. You may have to do pip install numpy cython.

pip install dftfit

For conda installation

conda install -c costrouc -c matsci -c conda-forge dftfit

For docker installation

docker pull costrouc/dftfit

Documentation

The official documentation is hosted on github pages: https://chrisostrouchov.com/dftfit/

Running

DFTFIT provides a command line interface. Of course the package can be used as a standard python package.

Tutorial and Documentation

Contributing

All contributions, bug reports, bug fixes, documentation improvements, enhancements and ideas are welcome. These should be submitted at the Github repository.

License

MIT

dftfit's People

Contributors

costrouc avatar

Stargazers

Enes avatar Hacı Mert Gökhan 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.