(39c) Screening of Organic Photovoltaic Morphologies Enabled By Mosdef Tools, Continuous Integration, and Test-Driven Development. | AIChE

(39c) Screening of Organic Photovoltaic Morphologies Enabled By Mosdef Tools, Continuous Integration, and Test-Driven Development.

Authors 

Fothergill, J. - Presenter, Boise State University
Jones, M., Boise State University
Henry, M., Boise State University
Gilmer, J., Vanderbilt University
DeFever, R. S., Clemson University
Maginn, E., University of Notre Dame
McCabe, C., Vanderbilt University
Cummings, P., Vanderbilt University
Jankowski, E., Boise State University
Sustainable power generation is a key part of solving climate change, and organic solar cells may cost-effectively meet this need if their morphologies can be reliably optimized. High performance computing workflows with modeling techniques linking millimeter morphologies to femtosecond charge dynamics are informing organic solar cell formulations and processing, but it is challenging to keep such complex software pipelines Transferable, Reproducible, Usable by others, and Extensible (TRUE). Here we develop open-source containerized software stacks for OPV simulation workflows that are transferable between XSEDE resources, GPU clusters, and developer machines. We develop unit tests and use continuous integration to manage collaborative workflow updates, making extensive use of MoSDeF.org libraries. Using this development framework we test two major component updates: A different forcefield (GAFF vs OPLS) for molecular dynamics simulation, and a different quantum chemical library (pyscf vs ORCA) for calculating charge hopping rates within predicted morphologies. We validate morphology predictions for three previously studied electron donating materials across 450 thermodynamic state points. We validate charge transfer integral distributions and predicted mobilities are insensitive to the pyscf update, which also enables container deployment that was hindered by ORCA’s license. This work shows how a prioritization on transferability can guide the modularization of a software stack that both enhances its extensibility and maintains its correctness.