Multiscale modeling provides a powerful tool for fundamental understanding and quantitative prediction of complex process behavior and has tremendous potential for technological impact in the chemical, pharmaceutical and microelectronics industries . The increasing capabilities of high-performance computing have strengthened this belief and triggered a growing interest for multiscale, multidomain modeling. Moreover, chemical engineers are uniquely positioned among other scientists and engineers to make significant contributions to the field of multiscale process modeling due to our unique discipline ranging from fundamental chemistry to large-scale chemical processes. More specifically, kinetic Monte Carlo (kMC) model is receiving a growing amount of attention to carry out dynamic simulations of microscopic/mesoscopic process behavior. The standard kMC algorithm is a serial algorithm since only one event can occur at each time step. However, for some problems one needs to simulate systems with larger length and time scales than what can be simulated using a serial algorithm and available computing power. For these problems, it would be desirable to develop efficient parallel kMC algorithms so that many processors can be used simultaneously in order to carry out realistic computations over extended time and length scales.
Motivated by this, we focus on the development of a parallelized multiscale, multidomain modeling strategy that directly reduces computation requirements without compromising the accuracy of established chemical models. In general, creating a parallel computation program from a sequential one consists of three steps: 1) decomposition of the original problem into tasks or domains, 2) assignment of tasks to processors, and 3) orchestration (i.e., uses a programming mechanism) to communicate and synchronize the information flow among all processors involved . In this work, we applied a parallelized multiscale modeling strategy according to the above three steps to a batch crystallization process. First, we decomposed the nucleation and crystal growth processes in a batch crystallization system into the collection of tasks where each task represents the crystal growth of a nucleated crystal . Second, tasks (i.e., simulating the crystal growth of nucleated crystals) are assigned according to a modulus function: crystal number modules equal to the number of processors available . This is a number-based assignment assuming all processors have identical processor speed and memory. Third, the message passing interface (MPI) settings that use the information passing between the processors is used to link the macroscopic model (e.g., mass and energy balance equations) to the microscopic models (e.g., kMC model). The coupled simulation follows a master-worker MPI computational scheme : there is a processor (i.e., master) that is responsible for decomposing an original sequential problem (e.g., multiscale model to simulate batch crystallization system) into a number of tasks (e.g., crystal growth of a group of crystals) and allocating those tasks to processors (i.e., workers). Workers are responsible for solving assigned tasks and when a worker completes the simulation of an assigned task, it notifies the master. Then, the master allocates a new task to the processor. Each processor waits until it has received all the data computed at the previous iteration, coming from other processors before beginning its following iteration, allowing for a synchronization of the iterations over the processors of the system. Therefore, we are able to achieve significant decrease in time required to complete the batch simulation as the number of cores are increased. A series of results demonstrating the computational efficiency of the approach will be presented.
 Maroudas D. Multiscale modeling of hard materials: challenges and opportunities for chemical engineering. AIChE J. 2000;46:878-882.
 Culler DE, Singh JP, Gupta A. Parallel computer architecture: a hardware/software approach. Morgan Kaufmann Publishers. 1999.
 Kwon JS, Nayhouse M, Christofides PD, Orkoulas G. Modeling and control of protein crystal shape and size in batch crystallization. AIChE J. 2013;59:2317-2327.
 Kwon JS, Nayhouse M, Christofides PD, Orkoulas G. Modeling and control of shape distribution of protein crystal aggregates. Chem. Eng. Sci. 2013;104:484-497.
 Chandy M, Taylor S. An introduction to parallel programming. Jones and Bartlett Publishers. 1992.
See more of this Group/Topical: Computing and Systems Technology Division