Note: FireWorks is under active development. It is currently incomplete and not useable as workflow software. However, certain components of the code are available for initial testing.
FireWorks allows you to define calculation workflows and execute them on remote computers, usually through an external queuing system like PBS. The architecture of FireWorks is that of a central management server that stores and maintains the workflows, along with one or more worker computers that pull jobs and perform the computations.
FireWorks allows you to:
FireWorks is currently intended for applications where performance of the workflow software is not of utmost concern:
Want to see something added or changed? There are many ways to help make that a reality. Some ways to get involved are:
The best way to submit questions, issues, and all other communication is through the FireWorks Github page: https://github.com/materialsproject/fireworks/issues
The Github page is the preferred way of communication because it allows issues and requests to be tracked and shared. However, if you feel that e-mail is better suited for your purpose, you can contact:
To get started with FireWorks, we suggest that you follow our installation tutorial. The tutorial will help guide you through set up of both worker computers and the central computer, as well as demonstrate how to define and run basic workflows.
TODO: add another tutorial here...
Michael Kocher and Dan Gunter initiated the architecture of a central database with multiple workers that queued ‘placeholder’ scripts responsible for checking out jobs. Some of Michael’s code for pulling jobs onto nodes was refashioned for FireWorks.
Shyue Ping Ong was extremely helpful in providing guidance and feedback, as well as the nitty gritty of getting set up with Sphinx documentation, PyPI, etc. If you are in the market for a free Python materials analysis code, I highly recommend his pymatgen library (which I also sometimes contribute to).