Related papers: Extending a serial 3D two-phase CFD code to parall…
A computational fluid dynamics (CFD) simulation framework for fluid-flow prediction is developed on the Tensor Processing Unit (TPU) platform. The TPU architecture is featured with accelerated dense matrix multiplication, large high…
An in-house large eddy simulation tool is developed in order to reproduce high fidelity results of compressible jet flows. The large eddy simulation formulation is written using the finite difference approach, with an explicit time…
In this paper we would like to share our experience for transforming a parallel code for a Computational Fluid Dynamics (CFD) problem into a parallel version for the RedisDG workflow engine. This system is able to capture heterogeneous and…
Paris (PArallel, Robust, Interface Simulator) is a finite volume code for simulations of immiscible multifluid or multiphase flows. It is based on the "one-fluid" formulation of the Navier-Stokes equations where different fluids are treated…
We implemented the pressure-implicit with splitting of operators (PISO) and semi-implicit method for pressure-linked equations (SIMPLE) solvers of the Navier-Stokes equations on Fermi-class graphics processing units (GPUs) using the CUDA…
A high-performance gas kinetic solver using multi-level parallelization is developed to enable pore-scale simulations of rarefied flows in porous media. The Boltzmann model equation is solved by the discrete velocity method with an…
Particle-laden flows occur in a wide range of disciplines, from atmospheric flows to renewable energy to turbomachinery. They generally pose a challenging environment for the numerical prediction of particle-induced phenomena due to their…
We present an immersed interface method for the vorticity-velocity form of the 2D Navier Stokes equations that directly addresses challenges posed by multiply connected domains, nonconvex obstacles, and the calculation of force…
We present an efficient open-source implementation of the multiparticle collision dynamics (MPCD) algorithm that scales to run on hundreds of graphics processing units (GPUs). We especially focus on optimizations for modern GPU…
This paper describes a state-of-the-art parallel Lattice QCD Monte Carlo code for staggered fermions, purposely designed to be portable across different computer architectures, including GPUs and commodity CPUs. Portability is achieved…
We present a multi-block finite-difference solver for massively parallel Direct Numerical Simulations (DNS) of incompressible flows. The algorithm combines the versatility of a multi-block solver with the method of eigenfunctions…
This paper presents our work on designing scalable linear solvers for large-scale reservoir simulations. The main objective is to support implementation of parallel reservoir simulators on distributed-memory parallel systems, where MPI…
Immersed methods discretize boundary conditions for complex geometries on background Cartesian grids. This makes such methods especially suitable for two-way coupled flow-body problems, where the body mechanics are partially driven by…
We introduce a collection of benchmark problems in 2D and 3D (geometry description and boundary conditions), including simple cases with known analytic solution, classical experimental setups, and complex geometries with fabricated…
We present a pseudo-spectal Navier-Stokes solver for plane parallel flows (Couette/Poiseuille), that has been developed on the MATLAB programming language. The code performs direct numerical simulations (DNSs) of turbulence in 3 dimensions…
This paper presents our work on designing a parallel platform for large-scale reservoir simulations. Detailed components, such as grid and linear solver, and data structures are introduced, which can serve as a guide to parallel reservoir…
In our effort to facilitate machine learning-assisted computational fluid dynamics (CFD), we introduce the second iteration of JAX-Fluids. JAX-Fluids is a Python-based fully-differentiable CFD solver designed for compressible single- and…
Deploying new supercomputers requires testing and evaluation via application codes. Portable, user-friendly tools enable evaluation, and the Multicomponent Flow Code (MFC), a computational fluid dynamics (CFD) code, addresses this need. MFC…
We present a simple and easy to apply methodology for using high-level self-submitting parallel job queues in an MPI environment. Using C++, we implemented a library of functions, MPQueue, both for testing our concepts and for use in real…
In this paper, I discuss the challenges in porting hydrodynamic codes to futuristic exascale HPC systems. In particular, we describe the computational complexities of finite difference method, pseudo-spectral method, and Fast Fourier…