(196ae) Modeling of Distributions of Polymer Properties Using Parallel Computing in Julia | AIChE

(196ae) Modeling of Distributions of Polymer Properties Using Parallel Computing in Julia

Authors 

Pintos, E. - Presenter, Planta Piloto de Ingeniería Química (PLAPIQUI), UNS-CONICET
The polymer chain microstructure (molecular weight distribution, copolymer composition distribution, branching distribution, etc.) has a strong influence on the processing and end-use properties of the material. The operation of polymer processes aiming at achieving tight control of the molecular architecture of the polymer chains is very important for polymer manufacturers. Therefore, a significant effort has been devoted to the development of detailed predictive models of polymer processes. The calculation of the distribution of a single property, in most cases the MWD, has been extensively studied. On the other hand, a proper characterization of polymer samples sometimes requires simultaneous information on distributions of several properties. However, the development of mathematical models able to predict multivariate distributions leads to highly complex problems for which seldom solution approaches have been developed. In particular, large systems of differential-algebraic equations (DAE) are usually encountered. Therefore, model efficiency in terms of CPU time and memory requirements becomes a very significant issue. Besides, models to be used for optimization and on-line control should require short running times. In this context, parallel computing offers a great possibility for the development of fast models of polymer processes. In addition, the selection of a suitable programming language becomes an important decision, especially when working with problems that require high computation times and efficient parallel implementations.

Julia is an open-source, modern high-level dynamic programming language designed to achieve high-performance in technical applications, numerical analysis and scientific computing. The language was designed and developed to provide a good performance, approaching that of languages like C, while using a high-level programming style. In this way, it can also be effective for general-purpose programming. In order to achieve this goal, the language combines several modern programming language features, such as “multiple dispatch,” “Just-In-time compilation,” and a “Low-level Virtual Machine (LLVM) compiler infrastructure” among others. The language also has native parallel programming support. The code parallelization is quite straightforward compared to other languages where parallelization is not always native and the use of another application or libraries is needed. Julia may be seen as an open source, high-performance alternative to dynamic languages like MATLAB, R and Python, as well as a high-productivity alternative to static languages like C, C++ and FORTRAN. On top of providing excellent performance, the resulting code is easier to work with, modify and maintain.

The probability generating function (pgf) technique is a powerful method for modeling distributions of polymer properties.1,2 The pgf technique is based on solving the pgf transform equations of the population balances describing a polymer process and the subsequent inversion of the resulting pgf transform of the distribution. A key step of this technique is the inversion of the pgf transform. In previous works, we developed this technique for modeling univariate distributions,1,2  in particular the MWD, as well as bivariate distributions,3-5 such as the copolymer composition distribution-molecular weight distribution (CCD-MWD), or the branching distribution-molecular weight distribution (BD-MWD).

For the prediction of univariate distributions, this work analyzes the performance of two variants of the pgf technique, each of them using a different inversion method. The first selected inversion method is the Papoulis (PAP) method.2 It regards the pgf as a real valued function. In this method, the number of model equations is proportional to the number of points of the MWD that are computed. The second inversion method, called IFG,1 regards the pgf as a complex valued function. This increases the number of model equations because the real and complex parts of the pgf transform are treated as two different variables. Besides, the number of model equations is proportional to the maximum significant chain length of the system, but it does not depend on the number of computed points of the MWD. For the prediction of bivariate distributions, three inversion methods are available: the 2D IFG, the 2D Papoulis and the 2D Pap-IFG methods.3-5 The structure of the DAE of the pgf models make them suitable for parallel computation. The performance of the pgf technique with each of these methods using parallel computation in Julia is compared.

The pgf method was tested using different case studies of polymer systems. These were chosen to include different ranges of the independent variables of the distributions. It was found that the parallel implementation allowed reducing significantly the CPU time, in comparison to the conventional, sequential implementation. In the case of the univariate distributions, the two pgf inversion methods showed very good accuracy, but the IFG method was slightly superior. Regarding running time, this method was faster for systems of low molecular weight; on the other hand, Papoulis method was faster for high molecular weight systems. For the bivariate distributions, the 2D IFG method showed very good accuracy in all cases, the 2D Pap-IFG method yielded good accuracy, and the 2D Papoulis method showed the lowest level of accuracy. In terms of CPU time, the 2D IFG resulted the best option for systems with small to intermediate values of the distributed variables (O(102)), while the 2D Papoulis method was faster for large values of the distributed variables; the 2D Pap-IFG lied in between. The software Julia allowed a successful and efficient implementation of the pgf models using parallel computing.

References

1. Asteasuain, M. Ph.D. Thesis, Dpto. Ing. Qca., UNS, 2003.

2. Sarmoria, C.; Asteasuain, M.; Brandolin, A. CJChE 2012, 90, 263.

3. Asteasuain, M.; Brandolin, A. Macromol. Theory Simul. 2010, 19, 342.

4. Brandolin, A.; Asteasuain, M. Macromol. Theory Simul. 2013, 22, 273.

5. Brandolin, A.; Assini Balbueno, A.; Asteasuain, M. Comput. Chem. Eng. 2016, 94, 272.