MΦC Solver

This page presents the MΦC (Multi-Physics Code), a computational framework for multi-physics/multi-scale flow simulations under development at the University of Glasgow.

Mach 8 flow around waverider - RGKS CFD lab logo

The main aim of the development is the creation of a general computational framework which can be used to conduct complex multi-physics simulation of a wide range of (aerospace) applications. To achieve this the framework is set up such that different mathematical flow models corresponding to different levels of physical fidelity and detail can be combined into a single simulation, i.e. in different parts of the flow domain different models can be used depending on the nature of the flow. Using a range of coupling techniques, the flow solution in the different regions are coupled and general and efficient computational techniques have been developed to exchange the information in large-scale parallel simulations.‌

The framework was created as a library of C++ template classes designed such that for a wide range of numerical methods, the commonaltity in the various algorithms is used using the approach of generic programming in C++, e.g. for message-passing operations required in CFD simulations baseed on the paradigm of domain decomposition, a range of template classes have been developed that can be specialised subsequently for a range of mesh-based as well as particle based numerical methods. Similarly, base template classes are available for other parts of different algorithm, such as class for link-cell type particle-based simulation methods.

In addition to these generic C++ template classes, a number of numerical methods as presently available:

- Gas Kinetic Schemes. Based on the Shakhov and Rykov kinetic models Gas Kinetic schemes have been developed and successfully applied to a range of hypersonic, partially-rarefied flows - see Colonia, Steijl and Barakos (2016)

- Finite-volume continuum-flow solver for block-structured mesh - the AUSM+/up numerical flux method has been implemented to give an 'all-Mach' capability - for more information see Colonia, Steijl and Barakos (2014)

- Finite-volume discrete-velocity method for kinetic Boltzmann equations for multi-block structured meshes - a range of kinetic models has been implemented: mono- and diatomic Ellipsoidal Statistical (ES), the Shakhov-BGK as well as the Rykov model for diatomic gas flows

- Lattice boltzmann method. Based on the D3Q19 lattice, a multi-block method for incompressible as well as weakly-compressible flow was implemented.

- Molecular Dynamics (MD) method with spatial decomposition for parallel simulations. In the present framework the MD solver is typically employed to either provide a more accurate flow solution in selected parts of the flow domain where it replaces the Navier-Stokes method (see Steijl and Barakos (2012))or it is used to providemore accurate transport properties in flows with localised non-continuum or non-Newtonian behaviour within the context of a finite-volume Navier-Stokes based simulation (see Steijl and Barakos (2010))

- Vortex Particle simulation. Based on the generic template classes for particle methods, a Vortex-In-Cell type of solver was also constructed with the aim to accurately capture and resolve incompressible vortex-dominated flows

Further development of different methods and algorithms in the Multi-Physics Code is underway.


Dr Rene Steijl


Example applications and further developments

Multi-Physics Simulation of Partially-rarefied Flows

Mach 8 flow around waverider, difference between translational and rotational temperatures Mach 8 flow around waverider, cp countours

Multi-Physics Code has been applied to a range of complex hypersonic flows with strong thermodynamic non-equilibrium effects.An important aspect is the major computational cost involved with simulations based on the discrete-velocity method (DVM) as compared to the continuum-flow (AUSM+/up) or Gas Kinetic Schemes (capable of simulation flows at moderate levels of rarefaction). Therefore, hybrid simulations are essential for flow simulations of hypersonic flows of practical relevance. In the Multi-Physics Code, these coupling methods have been successfully developed and implemented. Applications to very challenging test cases involving hypersonic flows over waverider spaceplane configurations have shown the effectiveness and computational efficiency of this approach. For high-performance computing aspects of this work, follow the link to a recently completed PRACE Preparatory Access project. In this project,  good parallel performance using up to 8192 computer cores of the SuperMUC computer at LRZ (Leibniz Rechenzentrum) was demonstrated as well as the capability of the solver to 're-configure' at run-time without expensive I/O.

Mach 8 flow around waverider. parallel scaling for full LE kinetic domains Mach 8 flow around waverider, kinetic domains in hybrid simulation

Coupled Molecular Dynamics/Navier-Stokes simulations

The Multi-Physics Code includes a Molecular Dynamics solver based on the template C++classes provided. As sketched in the figures below, a parallel MD simulation based on spatial decomposition requires exchange of particle data akin to that required in a mesh-based method with 'halo' cell/points. The key difference is the fact that the number of particles for which information needs to be exchanges can change from time-step to time-step and for that reason more generic 'halo' exchange routines are implemented. To couple the flow to the continuum-flow Navier-Stokes method, exchange of equivalent continuum-flow quantities (obtained from sampling) is required from MD to Navier-Stokes while for the coupling in the opposite direction, a particle-forcing approach is employed. The various techniques in the coupled MD/Navier-Stokes simulations are sketched in the figures below.

MD - halo exchange - 2 blocks Coupled NS/MD - halo data for continuum domain Coupled NS/MD - particle domain