Code Monkey home page Code Monkey logo

atomate's Introduction

atomate

atomate is a software for computational materials science that contains pre-built workflows to compute and analyze the properties of materials.

If you find atomate useful, please encourage its development by citing the following paper in your research output:

Mathew, K., Montoya, J. H., Faghaninia, A., Dwarakanath, S., Aykol,
M., Tang, H., Chu, I., Smidt, T., Bocklund, B., Horton, M., Dagdelen,
J., Wood, B., Liu, Z.-K., Neaton, J., Ong, S. P., Persson, K., Jain,
A., Atomate: A high-level interface to generate, execute, and analyze
computational materials science workflows. Comput. Mater. Sci. 139,
140-152 (2017).

atomate's People

Contributors

acrutt avatar albalu avatar ardunn avatar aykol avatar blondegeek avatar bocklund avatar computron avatar dbroberg avatar dependabot-preview[bot] avatar dyllamt avatar espottesmith avatar hanmeitang avatar jageo avatar jdagdelen avatar jmmshn avatar matk86 avatar mhsiron avatar mkhorton avatar montoyjh avatar ncfrey avatar rkingsbury avatar samblau avatar saurabh02 avatar shyamd avatar shyuep avatar specter119 avatar tboland1 avatar tschaume avatar utf avatar wood-b avatar

Watchers

 avatar  avatar

Forkers

davidwaroquiers

atomate's Issues

Use of relative imports or not ?

In the end, we should decide whether we use relative imports in the relevant places (e.g. when we are in atomate/abinit/..., just do something like from .fireworks import scf_fw).

Pros: more concise
Cons: less clear => sometimes difficult to know from where something is imported

How to handle pseudopotentials

Following the discussion about pseudopotentials, I'm opening this issue to keep track of suggestions, different options, etc.

Basically, the pseudos will be specified in the abinit input file with pseudos and pp_dirpath, starting with abinit v9. Compatibility with v8 and the .files file is not planned as it is meant to disappear in future releases.

At the python level, let me quote David:

we have different options. For pseudos from the pseudo-dojo, we could use a string identifier corresponding to a specific PD table/xc/version etc ... for a given atom. This will need a few changes in the pseudo_dojo package as well but it is worth it (there are some drawbacks with the current situation). [...] We also need to allow for custom pseudos.

How to handle pseudopotentials ?

This issue concerns how to handle pseudopotentials.

There are probably two things there. The first one is how are they handled at the python level. The other one is how the actual abinit input file is written.

For the abinit input file, we have decided with @gmrigna that we won't support the versions of abinit before 9.2 and only support running abinit without the .files file (see B.7 in the release notes of abinit v9.2 : https://docs.abinit.org/about/release-notes/). That means that the pseudos will be handled with the pseudos variable (https://docs.abinit.org/variables/files/#pseudos), possibly together with the pp_dirpath.

At the python level, we have different options. For pseudos from the pseudo-dojo, we could use a string identifier corresponding to a specific PD table/xc/version etc ... for a given atom. This will need a few changes in the pseudo_dojo package as well but it is worth it (there are some drawbacks with the current situation but I will not get into details here). We also need to allow for custom pseudos.

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.