Skip to main content

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

Metadata

Release files for dftfit 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dftfit 0.5.1
File Size Uploaded
dftfit-0.5.1.tar.gz 46.1 kB Details

Release files / dftfit-0.5.1.tar.gz

Download URL dftfit-0.5.1.tar.gz
Size 46.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4dcbde48948835dcf2d49d6628c9df5747a8ec505d517e374b8d6c7fe95892df
BLAKE2b-256 checksum
How to use checksums
3556cf451990927960c086e526b2e9f5defb1e9c8cc1b9a09cacf5d809d0740c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.9.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.12

Release history Release notifications | RSS feed

This release

0.5.1 This release

1 release file

0.5.0

2 release files

0.4.22

2 release files

0.4.21

2 release files

0.4.20

2 release files

0.4.19

2 release files

0.4.18

2 release files

0.4.17

2 release files

0.4.15

2 release files

0.4.13

2 release files

0.4.12

2 release files

0.4.10

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.3.2

2 release files

0.3.1

1 release file

0.3.0

1 release file

0.2.4

1 release file

0.2.2

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page