GPU-accelerated Classical Trajectory Calculation Direct Simulation Monte Carlo applied to shock waves

Paul Norman, Paolo Valentini, Thomas E Schwartzentruber

Research output: Contribution to journalArticlepeer-review

58 Scopus citations

Abstract

In this work we outline a Classical Trajectory Calculation Direct Simulation Monte Carlo (CTC-DSMC) implementation that uses the no-time-counter scheme with a cross-section determined by the interatomic potential energy surface (PES). CTC-DSMC solutions for translational and rotational relaxation in one-dimensional shock waves are compared directly to pure Molecular Dynamics simulations employing an identical PES, where exact agreement is demonstrated for all cases. For the flows considered, long-lived collisions occur within the simulations and their implications for multi-body collisions as well as algorithm implications for the CTC-DSMC method are discussed. A parallelization technique for CTC-DSMC simulations using a heterogeneous multicore CPU/GPU system is demonstrated. Our approach shows good scaling as long as a sufficiently large number of collisions are calculated simultaneously per GPU (~100,000) at each DSMC iteration. We achieve a maximum speedup of 140× on a 4 GPU/CPU system vs. the performance on one CPU core in serial for a diatomic nitrogen shock. The parallelization approach presented here significantly reduces the cost of CTC-DSMC simulations and has the potential to scale to large CPU/GPU clusters, which could enable future application to 3D flows in strong thermochemical nonequilibrium.

Original languageEnglish (US)
Pages (from-to)153-167
Number of pages15
JournalJournal of Computational Physics
Volume247
DOIs
StatePublished - Aug 15 2013

Keywords

  • Direct Simulation Monte Carlo
  • Graphical Processing Unit (GPU)
  • One dimensional shock
  • Rarefied gas dynamics

Fingerprint Dive into the research topics of 'GPU-accelerated Classical Trajectory Calculation Direct Simulation Monte Carlo applied to shock waves'. Together they form a unique fingerprint.

Cite this