PyCAC: The concurrent atomistic-continuum simulation environment

SZ Xu and TG Payne and H Chen and YC Liu and LM Xiong and YP Chen and DL McDowell, JOURNAL OF MATERIALS RESEARCH, 33, 857-871 (2018).

DOI: 10.1557/jmr.2018.8

We present a novel distributed-memory parallel implementation of the concurrent atomistic-continuum (CAC) method. Written mostly in Fortran 2008 and wrapped with a Python scripting interface, the CAC simulator in PyCAC runs in parallel using Message Passing Interface with a spatial decomposition algorithm. Built upon the underlying Fortran code, the Python interface provides a robust and versatile way for users to build system configurations, run CAC simulations, and analyze results. In this paper, following a brief introduction to the theoretical background of the CAC method, we discuss the serial algorithms of dynamic, quasistatic, and hybrid CAC, along with some programming techniques used in the code. We then illustrate the parallel algorithm, quantify the parallel scalability, and discuss some software specifications of PyCAC; more information can be found in the PyCAC user's manual that is hosted on www.pycac.org.

Return to Publications page