Concurrently coupled numerical simulations using heterogeneous solvers are powerful tools for modeling multiscale phenomena. However, major modifications to existing codes are often required to enable such simulations, posing significant difficulties in practice. In this paper we present a C++ library, i.e. the Multiscale Universal Interface (MUI), which is capable of facilitating the coupling effort for a wide range of multiscale simulations. The library adopts a header-only form with minimal external dependency and hence can be easily dropped into existing codes. A data sampler concept is introduced, combined with a hybrid dynamic/static typing mechanism, to create an easily customizable framework for solver-independent data interpretation. The library integrates MPI MPMD support and an asynchronous communication protocol to handle inter-solver information exchange irrespective of the solvers' own MPI awareness. Template metaprogramming is heavily employed to simultaneously improve runtime performance and code flexibility. We validated the library by solving three different multiscale problems, which also serve to demonstrate the flexibility of the framework in handling heterogeneous models and solvers. In the first example, a Couette flow was simulated using two concurrently coupled Smoothed Particle Hydrodynamics (SPH) simulations of different spatial resolutions. In the second example, we coupled the deterministic SPH method with the stochastic Dissipative Particle Dynamics (DPD) method to study the effect of surface grafting on the hydrodynamics properties on the surface. In the third example, we consider conjugate heat transfer between a solid domain and a fluid domain by coupling the particle-based energy-conserving DPD (eDPD) method with the Finite Element Method (FEM).Keywords: multiscale modeling, concurrent coupling, multiphysics simulation, energy-conserving DPD, SPH, FEM, programming framework
GlossaryA solver is a computer program that can carry out a given type of numerical simulation. It may execute in the single-program-multiple-data (SPMD) mode for parallelization. The same solver can be invoked multiple times separately during a certain simulation.A simulation is the act of using one or multiple solvers to perform a numerical modeling task. A system is the entire set of physical time-space involved in a simulation. A subdomain, or simply domain, is a
We analyze convergence properties of the parallel classical block Jacobi method for the symmetric eigenvalue problem using dynamic ordering strategy of Bečka et al. It is shown that the method is globally convergent. It is also shown that the order of convergence is ultimately quadratic if there are no multiple eigenvalues.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.