{"id":15048592,"url":"https://github.com/costrouc/dftfit","last_synced_at":"2025-08-02T03:12:17.307Z","repository":{"id":62567969,"uuid":"135232002","full_name":"costrouc/dftfit","owner":"costrouc","description":"Interatomic potential creating using DFT training data.","archived":false,"fork":false,"pushed_at":"2019-10-20T04:07:56.000Z","size":27633,"stargazers_count":27,"open_issues_count":0,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-29T21:06:14.875Z","etag":null,"topics":["dft","global-optimization","lammps","md","quantum-espresso","vasp"],"latest_commit_sha":null,"homepage":"https://chrisostrouchov.com/dftfit","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/costrouc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-29T02:36:24.000Z","updated_at":"2025-06-09T21:03:42.000Z","dependencies_parsed_at":"2022-11-03T16:30:43.003Z","dependency_job_id":null,"html_url":"https://github.com/costrouc/dftfit","commit_stats":null,"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/costrouc/dftfit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costrouc%2Fdftfit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costrouc%2Fdftfit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costrouc%2Fdftfit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costrouc%2Fdftfit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/costrouc","download_url":"https://codeload.github.com/costrouc/dftfit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/costrouc%2Fdftfit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268330932,"owners_count":24233152,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dft","global-optimization","lammps","md","quantum-espresso","vasp"],"created_at":"2024-09-24T21:14:18.731Z","updated_at":"2025-08-02T03:12:17.280Z","avatar_url":"https://github.com/costrouc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DFTFIT\n\nDFTFIT is a python code that used Ab Initio data from DFT calculations\nsuch as VASP, Quantum Espresso, and Siesta to develop molecular\ndynamic potentials. Our package differs from other similar codes in\nthat we leverage LAMMPS as a calculator enabling a wide variety of\n[potentials](https://chrisostrouchov/dftfit/potentials.html). The\npotentials include custom python functions and a wide variety or\nthree-body interactions including the Tersoff, Stillinger-Weber,\nGao-Weber, Vashishta, and COMB Potentials. All of which can be\ncombined to have for example a Buckingham + Coulomb + ZBL\npotential. We also have an extensive set of multi-objective and\nsingle-objective\n[optimizers](https://chrisostrouchov/dftfit/configuration.html#optimization)that can evaluate a potential for many properties including energy,\nforces, stress, lattice constants, elastic constants, bulk modulus,\nand shear modulus.\n\nIn general three things are required from the user.\n  - [Ab-Initio Training\n    Data](https://chrisostrouchov/dftfit/training.html)\n    includes VASP, Siesta, and Quantum Espresso\n    Calculations. Additionally the user may supply measured properties\n    such as lattice constants, elastic constants, bulk modulus, and\n    shear modulus.\n  - [configuration](https://chrisostrouchov/dftfit/configuration.html):\n    specifies optimization algorithm and number of steps, sqlite\n    database to store results, and MD calculator to use.\n  - [Potential](https://chrisostrouchov/dftfit/potentials.html)\n    among a rich set of two and three body potentials. Including a\n    custom python function.\n\n\u003ctable\u003e\n\u003ctr\u003e\n  \u003ctd\u003eLatest Release\u003c/td\u003e\n  \u003ctd\u003e\u003cimg src=\"https://img.shields.io/pypi/v/dftfit.svg\" alt=\"latest release\"/\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n  \u003ctd\u003ePackage Status\u003c/td\u003e\n  \u003ctd\u003e\u003cimg src=\"https://img.shields.io/pypi/status/dftfit.svg\" alt=\"status\" /\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n  \u003ctd\u003eLicense\u003c/td\u003e\n  \u003ctd\u003e\u003cimg src=\"https://img.shields.io/pypi/l/dftfit.svg\" alt=\"license\" /\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n  \u003ctd\u003eBuild Status\u003c/td\u003e\n  \u003ctd\u003e \u003ca href=\"https://travis-ci.org/costrouc/dftfit\"\u003e \u003cimg\nsrc=\"https://api.travis-ci.org/costrouc/dftfit.svg?branch=master\"\nalt=\"travis ci pipeline status\" /\u003e \u003c/a\u003e \u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n  \u003ctd\u003eDocumentation\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"https://chrisostrouchov.com/dftfit/\"\u003edocumentation\u003c/a\u003e \u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n## Presentations:\n\n - [HTCMC 2016](https://speakerdeck.com/costrouc/dftfit-potential-generation-for-molecular-dynamics-calculations#)\n - [MRS 2017](https://speakerdeck.com/costrouc/dftfit-potential-generation-for-molecular-dynamics-calculations#)\n\n## Potentials\n\nAny combination of the following potentials is a valid potential in DFTFIT.\n\nTwo-Body Potentials\n\n - custom python function\n - ZBL\n - Buckingham\n - Beck\n - coulombic interaction\n - Lennard Jones\n\nThree-Body Potentials\n\n - Tersoff\n - Stillinger Weber\n - Gao Weber\n - Vashishta\n - COMB/COMB3\n \n## Measured Properties\n\n - energy\n - stress\n - forces\n - lattice constants (lengths)\n - elastic constants (voigt)\n - bulk modulus\n - shear modulus\n\n## Algorithm\n\nWe use generalized least squares method for finding the optimal\nparameters for a proposed potential. DFTFIT integrates with existing\nMD software as a potential calculator. Currently only\n[LAMMPS](http://lammps.sandia.gov/doc/Manual.html) is supported. This\nmeans the user has the freedom to use any of the potentials available\nin LAMMPS.\n\nOur algorithm follows a\n[highly cited publication](http://dx.doi.org/10.1063/1.1513312) that\nproposes a method for determining a new potential for Silicon using the force matching of DFT calcultions.\n\n![Optimization Equation](https://github.com/costrouc/dftfit/raw/master/docs/images/equations.png)\n\n### Parameters\n\n - n_c: number of system configurations\n - N number of atoms in each configuration\n - α, β: tensor with 3D dimensions [x, y, z]\n - cl: classical results from molecular dynamics potential\n - ai: ab initio results from dft simulation\n - w_f, w_s, w_e: weights to assign respectively for force, stress,\n   energy\n - F, S, E: force, stress, and energy respectively.\n\n\nDependencies\n------------\n\n - MD Calculator: [LAMMPS](http://lammps.sandia.gov/)\n   - [pymatgen_lammps (run as command)](https://github.com/costrouc/pymatgen-lammps)\n   - [lammps-cython (python interface)](https://github.com/costrouc/lammps-cython)\n - [pagmo2](https://github.com/esa/pagmo2)\n - [pymatgen](https://github.com/materialsproject/pymatgen/)\n - Ab Initio data from either [VASP](https://www.vasp.at/) or [Quantum\n   Espresso](http://www.quantum-espresso.org/)\n\n# Installation\n\nFor `pypi` installation. Note that installation of `lammps-cython` may\nfail and is required. You will need to install ``LAMMPS`` as\ndocumented\n[here](https://chrisostrouchov.com/lammps-cython/installation.html#pip). You may have to do `pip install numpy cython`.\n\n```bash\npip install dftfit\n```\n\nFor `conda` installation\n\n```bash\nconda install -c costrouc -c matsci -c conda-forge dftfit\n```\n\nFor `docker` installation\n\n```bash\ndocker pull costrouc/dftfit\n```\n\n# Documentation\n\nThe official documentation is hosted on github pages: https://chrisostrouchov.com/dftfit/\n\n# Running\n\nDFTFIT provides a [command line\ninterface](https://chrisostrouchov.com/dftfit/commands.html). Of\ncourse the package can be used as a standard python package.\n\n# Tutorial and Documentation\n\n - [MgO tutorial](https://chrisostrouchov.com/dftfit/tutorial.html)\n - [Documentation](https://chrisostrouchov.com/dftfit/index.html)\n\n# Contributing\n\nAll contributions, bug reports, bug fixes, documentation improvements,\nenhancements and ideas are welcome. These should be submitted at the\n[Github repository](https://github.com/costrouc/dftfit).\n\n# License\n\n[MIT](https://github.com/costrouc/dftfit/blob/master/LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcostrouc%2Fdftfit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcostrouc%2Fdftfit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcostrouc%2Fdftfit/lists"}