Open Source Software

Ames Laboratory offers open source software and an Ombuds Program to help address questions or concerns that may arise.

The software listed below was produced under U.S. Government contract DE-AC02-07CH11358 for The Ames Laboratory, which is operated by Iowa State University for the U.S. Department of Energy. The U.S. Government has rights to use, reproduce, and distribute this software. NEITHER THE GOVERNMENT NOR IOWA STATE UNIVERSITY MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY FOR THE USE OF THIS SOFTWARE. If software is modified to produce derivative works, such modified software should be clearly marked, so as not to confuse it with the version available from Ames Laboratory.

As the software listed on this page may be released under various Open Source Software licenses, additional terms and conditions may apply.  Open Source software includes the following:


CMake Documentation Generator.

Source Code


CMakePPLang is an object-oriented extension to the CMake language written entirely using the original CMake language, with the goal of making projects built on CMake easier to create and maintain.

Source Code


As the rate, sophistication, and potential damage of cyber attacks continue to grow, the latency of human-speed analysis and response is becoming increasingly costly. Intelligent response to detected attacks and other malicious activity requires both knowledge of the characteristics of the attack as well as how resources involved in the attack related to the mission of the organization. Cyber Dynamic Impact Modeling Engine (Cydime) fills this need by estimating a key component of intrusion detection and response automation: the relationship type and strength between the target organization and the potential attacker.

Source Code


A versatile Gutzwiller solver to optimize the single Slater determinant and local many-body degrees of freedom simultaneously within the Gutzwiller approximation or equivalently Slave-boson approach

Source Code


CyQuanDyn is a collection of codes developed for modelling the phonon-induced carrier pumping in ZrTe5 system. Codes in the collection include 1) TLS: time-dependent two-orbital spinless fermion Bogoliubov-de Gennes Hamiltonian simulation, 2) TDSE: ab initio time-dependent Schrödinger equation simulation of the ZrTe5 system under the periodic modulation of A1g Raman mode. Associated publication is T. Jiang, P. P. Orth, L. Luo, L.-L. Wang, F. Zhang, C.-Z. Wang, J. Zhao, K.-M. Ho, J. Wang, and Y.-X. Yao, Ab-Initio Simulations of Coherent Phonon-Induced Pumping of Carriers in ZrTe5. [arXiv:2304.08449 (2023).](

Source Code


A nudged-elastic band (NEB) method is modified with concamitant two climbing images (C2-NEB) to find a transition state (TS) in complex potential energy landscape, using either quantum electronic-structure or classical atomic potential methods.

Source Code


GAMESS, or General Atomic and Molecular Electronic Structure System, is a general purpose electronic structure code for computational chemistry. Its primary focus is on ab initio quantum chemistry calculations. The software can also do density functional theory calculations and other semi-empirical calculations (Austin Model 1, Parameterization Model 3), quantum mechanics/molecular mechanics (QM/MM) calculations, and can handle solvent effects.GAMESS has several fragmentation methods that can scale to as many as 260,000 cores, so users can apply GAMESS to very large molecular species.

Source Code


Stands for Highly Optimized Object-oriented Many-particles Dynamics--Blue Edition. It performs general purpose particle dynamics simulations on a single workstation, taking advantage of NVIDIA GPUs to attain a level of performance equivalent to many processor cores on a fast cluster. The HOOMD-blue development effort is led by the Glotzer group at the University of Michigan, and Ames Laboratory researchers have contributed to the effort.

Source Code


HostDesigner is a computer-aided molecular design code that enables the general application of de novo structure-based methods to problems in chemistry and material science. Its purpose is to identify organic molecules with 3D structures that match user-input specifications. To accomplish this, the code connects chemical fragments to build millions of potential molecules, evaluates the resulting structures based on geometric constraints, and outputs a rank-ordered list of candidates. Example applications include the design of metal ion sequestering agents for use in separations processes, molecules that form self-assembled nanoscale containers, and molecular building blocks for metal-organic frameworks. Download includes User's Manual, HostDesigner 4.0 source code (in Fortran), data files, example input, HDViewer executables for MacOS, Linux, and Windows, and mengine source code (in C).

Source Code


INTERFACES is a program that uses NMR REDOR and RESPDOR data in addition to constraints to determine the three-dimensional structures of surface-supported molecules using distance geometry and a brute force structure search.

Source Code


ParFit is a flexible and extendable framework and a library of classes for fitting force-field parameters to data from high-level ab-initio calculations on the basis of deterministic and stochastic algorithms. The code is written in Python with object-oriented constructs and is using the highly versatile Python libraries numpy, scipy, matplotlib and pyevolve. Currently the code is fitting MM3 and Merck force-field parameters but could be easily extended to other force-field types.

Source Code

There is a need for modular scientific software. Using PluginPlay, developers write algorithms inside self-contained Module objects. Software packages are then created by “wiring” Module objects together. As additional Module objects are developed and as new methods and properties are derived, the ecosystem of Module objects grows, and the cycle repeats. PluginPlay facilitates writing sustainable modular scientific software packages by providing a framework that is focused on enabling dynamic:
  1. loading of Module objects,

  2. interactions with Module objects, and

  3. wiring of Module objects.

The dynamic nature of the resulting package makes it easier to extend the package to new use cases and new hardware. PluginPlay includes a number of other features designed to make development as easy as possible, e.g., tools for:

  1. debugging/profiling Module objects,

  2. recording provenance of the resulting program,

  3. creating Module objects from existing code, and

  4. leveraging Module objects in other code.


Source Code

Quantum Computing

A collection of codes which implement quantum algorithms used for simulations of multiorbital impurity models, as reported in the preprint by A. Mukherjee, N. F. Berthusen, J. C. Getelina, P. P. Orth, and Y.-X. Yao, Comparative Study of Adaptive Variational Quantum Eigensolvers for Multi-Orbital Impurity Models, ArXiv:2203.06745 (2022).

Source Code

Reaction Rover

Reaction Rover is a software application designed to enable reaction optimization with little or no human intervention and to provide a flexible platform to facilitate rapid testing, automation, and implementation of new reaction optimization algorithms. Toward these goals, Reaction Rover is designed to be modular, allowing the optimization algorithm, analyzer, and reactor components to be changed for any given process using easily integrated plugins. The Reaction Rover platform is a key development that enables the testing, use, and automation of machine learning (ML) and non-ML optimizers in a variety of laboratory situations.

Source Code


A novel Hybrid CUCKOO SEARCH determines combinatorial global optimum SCRAPs for specified point and pair correlations in high-entropy alloys having proper distributions.

Source Code


This software permits ease of determination of atomic "force constraints" needed for investigation of harmonic vibrational (i.e., phonon) effects in computational materials discovery efforts - typically falling under basic research and development. ThermoPhonon code provides a unique capability to use atomic displacements at a fixed temperature for calculating the temperature-specific phonon spectrum.

Source Code

Tiled Array

TiledArray (TA) is a C++ code developed by the Valeev Group at Virginia Tech focusing on numerical methods in tensor algebra with an emphasis on applications to electronic structure theory. As part of the NWChemEx Exascale project, we will be contributing to this software that is foundational in our work, but would like to have an Iowa State University copyright on the materials that are contributed. Our contributions to TA include: focus on extending the user API to include new tensor types, improving performance of existing tensor types, and porting kernels to additional hardware platforms. Please note that there was room for only 3 developers in the form and there will likely be 4 or 5 by the time we have finished the project.

Source Code

To disclose Open Source Software, please fill out this form: