36,181 research outputs found
A parallel compact-TVD method for compressible fluid dynamics employing shared and distributed-memory paradigms
A novel multi-block compact-TVD finite difference method for the simulation of compressible flows is presented. The method combines distributed and shared-memory paradigms to take advantage of the configuration of modern supercomputers that host many cores per shared-memory node. In our approach a domain decomposition technique is applied to a compact scheme using explicit flux formulas at block interfaces. This method offers great improvement in performance over earlier parallel compact methods that rely on the parallel solution of a linear system. A test case is presented to assess the accuracy and parallel performance of the new method
HPC compact quasi-Newton algorithm for interface problems
In this work we present a robust interface coupling algorithm called Compact
Interface quasi-Newton (CIQN). It is designed for computationally intensive
applications using an MPI multi-code partitioned scheme. The algorithm allows
to reuse information from previous time steps, feature that has been previously
proposed to accelerate convergence. Through algebraic manipulation, an
efficient usage of the computational resources is achieved by: avoiding
construction of dense matrices and reduce every multiplication to a
matrix-vector product and reusing the computationally expensive loops. This
leads to a compact version of the original quasi-Newton algorithm. Altogether
with an efficient communication, in this paper we show an efficient scalability
up to 4800 cores. Three examples with qualitatively different dynamics are
shown to prove that the algorithm can efficiently deal with added mass
instability and two-field coupled problems. We also show how reusing histories
and filtering does not necessarily makes a more robust scheme and, finally, we
prove the necessity of this HPC version of the algorithm. The novelty of this
article lies in the HPC focused implementation of the algorithm, detailing how
to fuse and combine the composing blocks to obtain an scalable MPI
implementation. Such an implementation is mandatory in large scale cases, for
which the contact surface cannot be stored in a single computational node, or
the number of contact nodes is not negligible compared with the size of the
domain. \c{opyright} Elsevier. This manuscript version is made available
under the CC-BY-NC-ND 4.0 license
http://creativecommons.org/licenses/by-nc-nd/4.0/Comment: 33 pages: 23 manuscript, 10 appendix. 16 figures: 4 manuscript, 12
appendix. 10 Tables: 3 manuscript, 7 appendi
- …