Flexible and practical parallel implementation for coupled elastoplastic geomechanics and non-isothermal flow

2019 
Abstract We develop a parallel code for coupled non-isothermal flow and elastoplastic geomechanics. We mainly focus on flexible and pragmatic parallel code development and its scalability. Specifically, beginning with uncoupled individual serial codes of non-isothermal flow and geomechanics, we primarily implement MPI (Message Passing Interface) for matrix assembly and parallel solvers, particularly using the PETSc library codes while using OpenMP (Open Multi-Processing) for other miscellaneous subroutines to prevent significant overheads. We consider various matrix decomposition schemes for preconditioning parallel solvers as well as assigning computation loads to different CPU cores. For the coupled simulation, we take the fixed-stress sequential method, which allows the coupling between two simulators with least efforts of code development. As a result, the parallel code can easily be developed within a short period of time. In numerical experiments, we take more than one million cells to investigate parallel performance. For both flow and geomechanics, the parallelization largely reduces the overall simulation execution time with scalable speedups. The matrix decomposition methods have effects on execution time and solver performance, which implies that appropriate matrix decomposition is important for computational efficiency and scalability. We also find that the scalability of the parallel coupled simulator by the sequential method can honor the scalability of individual parallel simulators. Still, plasticity can cause imbalance in the parallel environment of geomechanics simulation.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    44
    References
    3
    Citations
    NaN
    KQI
    []