MFlowCode / MFC

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

Sub-grid bubble model #381

Open dgvacarevelo opened 3 months ago

dgvacarevelo commented 3 months ago

Description

We have integrated a sub-grid bubble model designed to address the dynamics of a cloud of bubbles within a host medium. The model currently operates under the assumption that the bubbles' positions remain static. This model was implemented in an old MFC version, so we migrated and fully adapted it to work in the current version. The dynamics of these Lagrangian bubbles are influenced by the hydrodynamic field of the host medium, with the presence of bubbles altering the properties of the Eulerian host. Comprehensive details regarding the physical model, governing equations, and the Euler-Lagrangian coupling approach can be found in the work of Kazuki and Colonius (https://doi.org/10.1016/j.jcp.2018.05.029).

Type of change

Scope

If you cannot check the above box, please split your PR into multiple PRs that each have a common goal.

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Comparison-PressureEvolution

Validation-SingleBubEvol50um

Test Configuration: Test A: This test was implemented as an example case in the “examples” directory. The case.py file contains all the bubble properties and flags required. The functionality and physical meaning of these additional variables are commented in the ‘_~/simulation/m_globalparameters.fpp’ file. The geometrical parameters of the bubbles are specified in ‘inputs/particles.dat’; the information it contains is x-location, y-location, z-location, x-velocity, y-velocity, z-velocity, bubble radius and interface velocity. The total number of particles is the number of rows in the file. Please run the post_process target with one processor (-N 1 -n 1), which will generate the ‘particles_data’ folder that stores the information from the bubble dynamics evolution at every t_step_save. Then, run the ‘_convertparticlesData.m’ MATLAB script to populate a data file compatible with MATLAB which can be used to visualize the radius evolution of each bubble.

Test B: The case.py file from test A will run this test after correctly modifying the acoustic source amplitude and frequency. All the parameters in inputs/particles.dat are required to be equal to zero, except for the bubble radius which will be equal to 0.05. The instructions described for test A are suggested to follow in order to obtain the radius evolution of the bubble.

Checklist

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

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

sbryngelson commented 3 months ago

Converting this to draft as much of the checklist is still to be completed. Also there is significant code duplication in the source code (not DRY).