While DFT calculations are a key step in a simulation workflow, generally more steps are required to obtain a meaningful result. This can include pre/post-processing of results to e.g. compute additional properties, rerun a calculation with a different basis/geometry, or cut out a cluster from a larger structure. This processing often has to be repeated for many different simulations, almost like a cake-recipe. Therefore, making scripts is a mandatory short-cut.

However, making them is, in general, a fairly time-consuming task. To my knowledge, there are paid tools like the Virtual Nanolab, with drag and drop options that facilitate the process. Are there free similar tools? Or at least is there a repository where we can post our own scripts and get scripts from other people?

  • $\begingroup$ @Tyberius I think the OP is asking about scripts to process output files, or string calculations together $\endgroup$
    – Cody Aldaz
    May 17, 2020 at 0:17
  • 1
    $\begingroup$ Are you asking for free tools or a repository of free tools or both? $\endgroup$
    – Thomas
    May 17, 2020 at 2:11
  • $\begingroup$ @Tyberius, I'm not looking for programs that can do DFT, but for scripts to deal with the process of submitting and analyzing the DFT simulation. For example, after optimization, the Quantum ESPRESSO community indicates to realize an additional SCF run, but we should update the input file with the optimized geometry. For a single simulation, this can be done by hand, but it is very time-consuming for a batch of simulations. Therefore, the solution could be scripting this task, and othes.! $\endgroup$ May 17, 2020 at 14:50
  • $\begingroup$ @Thomas, I'm asking for both. $\endgroup$ May 17, 2020 at 14:50
  • $\begingroup$ I have edited the question in an attempt to clarify your intent (based on your comment). If I'm on the wrong track, you can revert my changes. $\endgroup$
    – Tyberius
    May 17, 2020 at 19:17

3 Answers 3


There are numerous free tools that can do this with command-line based calls to the underlying codes, from the venerable 'make' to more modern alternatives like 'DoIt' and 'snakemake'. A lot of these 'workflow systems' seem to be used in the bioinformatics community. For a visually-edited 'blocks and wires' approach, perhaps KNIME (assuming a free version is still available)? . You would most likely still have to write your own blocks though, unless the KNIME community has a repository of suitable DFT components.

You might want to also consider ASE (Atomic Simulation Environment)


  • $\begingroup$ I've already considered using ASE, it is a very good library. Perhaps I've asked for a place to find or post ASE scripts, for example. Thanks for your response. $\endgroup$ May 17, 2020 at 14:54

This hasn't fully developed to what you are looking for yet, but it seems to be moving in that direction.

The CECAM Electronic Structure Library is an attempt to define a modular Electronic Structure program. The goal is basically to have collection of small programs that cover specialized parts of a calculation and an API/core program that will facilitate communication between these parts. At the moment, it seems to mainly be at the stage of developing the core, but with that in place, I assume they will move to a greater focus on developing and collecting modules that work within this framework.

This fits into a general movement toward modularization, mentioned previously in an answer here. A standard for communication is necessary for the sorts of scripts you are looking for to have any widespread utility. To take the example from your comment, while a program like Gaussian can run a compound job to perform a geometry optimization and then compute a single point energy with this new geometry with a higher level of theory/different basis set, a separate program would be need to pass this geometry to another program. A different program might be needed to do the same thing for another electronic structure package, but this could be avoided if they were built to follow a particular API to pass geometric information.


The problem here is that each package has its own files formats, so, each of them exports the data in a particular way (sometimes even in binary format).

That's make having a repository for general scripts a hard task. Also, many of the scripts are due to the efforts of individual researchers.

For example, just very recently a common file format for pseudopotentials was developed (or added to SIESTA), the PSML. From the PSML developers site about the different formats:

This leads to practical problems, not only of programming, but of interoperability and reproducibility, which depend on spelling out quite a number of details which are not well represented for all codes in existing formats.

Years ago, I tested the Material Studio suite from Biovia. It consist in one interface for many software like CASTEP, GAUSSIAN, DMOL3, FORCITE, GULP, DFTB+ and many others. The suite uses only one file format that converts on the fly among the tools.

  • 2
    $\begingroup$ Do you mean DFTB+ (not DFTP+) ? $\endgroup$ May 31, 2020 at 23:39
  • 4
    $\begingroup$ ASE (Atomistic Simulation Environment) can also be used to convert between file formats for quite a few software packages. It can't handle all the various output files, but it is a good place to start. $\endgroup$ Jun 1, 2020 at 11:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .