MFlowCode / MFC

Exascale simulation of multiphase/physics fluid dynamics
https://mflowcode.github.io
MIT License
132 stars 56 forks source link

Add Body Forces #449

Closed wilfonba closed 1 month ago

wilfonba commented 1 month ago

Description

This PR adds oscillating and constant body forces in all three coordinate directions for the study of liquid gas interface breakup.

Fixes #275

Type of change

Please delete options that are not relevant.

Scope

How Has This Been Tested?

Case 1: 2D Rayleigh Taylor Instability This test shows the Rayleigh Taylor instability in 2 dimensions. This simulation was run using 2 Nvidia V100s on PACE Phoenix. The case file is available in examples/2D_rayleigh_taylor/case.py. Validation is accomplished through comparison to linear theory.

https://github.com/MFlowCode/MFC/assets/48168887/114b9725-b7eb-4f1d-8a4d-1527b37d62fc

2DRT

Case 2: 3D Rayleigh Taylor Instability This test shows the Rayleigh Taylor instability in 3 dimensions. This simulation was run using 24 Nvidia V100s on PACE Phoenix. The case file is available in examples/3D_rayleigh_taylor/case.py. Validation is accomplished through comparison to linear theory.

https://github.com/MFlowCode/MFC/assets/48168887/cbc98c6a-181d-46df-9402-308f9e2cd295

3DRT

Checklist

If your code changes any code source files (anything in src/simulation)

To make sure the code is performing as expected on GPU devices, I have: