GithubHelp home page GithubHelp logo

citrineinformatics / pif-dft Goto Github PK

View Code? Open in Web Editor NEW
4.0 38.0 10.0 6.68 MB

Tools for converting from DFT codes into PIF objects

License: Apache License 2.0

Python 100.00%
dft pif materials scientific-computing vasp

pif-dft's Introduction

dfttopif

Build Status

A Python library for extracting the input settings and results from Density Functional Theory calculations, and then storing that data in pif format.

Requirements

Python 2.7 or >=3.5, with dependencies listed in requirements.txt

Installation

dfttopif is published on PyPI, so it can be installed with pip:

$ pip install dfttopif

Usage

Option 1: Call the command line tool dfttopif provided in the binary directory, which takes the directory containing DFT results as its only option

./bin/dfttopif /path/to/calculation/

Option 2: Generate the pif object via the python API

from dfttopif import directory_to_pif
data = directory_to_pif('/path/to/calculation/')

Currently supported DFT codes

  • VASP (versions tested: 5.2.11, 5.3.2, 5.3.5)
  • PWSCF (Quantum Espresso) (versions tested: 4.3.2, 5.0, 5.4.0, 6.0, 6.4.1)

Development

dfttopif is a collaborative effort. Contributions are welcome, both issues and pull requests. This project follows gitflow workflow, so please make PRs to the develop branch.

API documentation is maintained in the source code and hosted on github pages.

pif-dft's People

Contributors

ebisaacs avatar hegdevinayi avatar kjaym avatar kjmichel avatar maxamsler avatar maxhutch avatar saurabh02 avatar wardlt avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pif-dft's Issues

Data de-dedup

The generated PIFs duplicate a large condition block for every property. In the common case, these duplicated conditions could make up the majority of the PIF. We should dedup them somehow, maybe with top-level macros.

Switch to Function Decorators to Note Parsing Operations

I was thinking about how we approach marking which functions in a parser are results or settings, and think we can use decorators instead of the current (complicated, hard-to-maintain) function based-approach.

The decorators would be similar to partial, in that they add some attributes to the functions that store the name of the property, units etc.

Then, we could write a general "get all result function" that introspects the parser object and gets all functions with the functions that have the special fields added by the decorator.

Make DOSCAR optional

Right now, DOSCAR files are a hard req. It would be nice to handle their absence gracefully.

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.