-
Notifications
You must be signed in to change notification settings - Fork 117
I/O Improvements for run time info and EL Bubbles #1015
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
… into ImprovedELBubblesIO
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements comprehensive I/O improvements for Euler-Lagrange bubbles, enhances the run_time.inf
output formatting, and adds progress timing information to the post-process terminal output.
- Adds configurable Lagrangian bubble output with new logical parameters for selective data writing
- Improves
run_time.inf
formatting with better column alignment and proper numeric output forRc Min
- Adds wall time measurements and progress indicators to post-process output similar to simulation
Reviewed Changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
toolchain/mfc/run/case_dicts.py | Adds new Lagrangian bubble output control parameters |
src/simulation/m_start_up.fpp | Fixes GPU host updates for bubble variables and removes redundant update |
src/simulation/m_data_output.fpp | Improves run_time.inf formatting with better column alignment |
src/simulation/m_bubbles_EL.fpp | Major improvements to bubble I/O, restart functionality, and boundary condition handling |
src/simulation/m_bubbles.fpp | Adds default case for bubble dynamics and fixes comment |
src/simulation/m_body_forces.fpp | Refactors body force computation using Fypp templates |
src/pre_process/m_assign_variables.fpp | Fixes surface tension variable assignment |
src/post_process/p_main.fpp | Adds wall time measurements for progress tracking |
src/post_process/m_start_up.f90 | Updates progress output format with timing information |
src/post_process/m_mpi_proxy.fpp | Adds MPI broadcasting for new Lagrangian bubble parameters |
src/post_process/m_global_parameters.fpp | Defines new Lagrangian bubble output control variables |
src/post_process/m_data_output.fpp | Splits bubble output into separate text and database functions with selective variable writing |
src/common/m_constants.fpp | Adds constant for Lagrangian I/O variable count |
examples/*/case.py | Enables Lagrangian database output in example cases |
docs/documentation/case.md | Documents new Lagrangian bubble output parameters |
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
I'm not sure why, but the MacOS runners are failing due to some Python version incompatibility with Cantera |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #1015 +/- ##
==========================================
- Coverage 41.75% 41.14% -0.61%
==========================================
Files 70 70
Lines 20126 20387 +261
Branches 2504 2576 +72
==========================================
- Hits 8403 8389 -14
- Misses 10180 10470 +290
+ Partials 1543 1528 -15 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
User description
Description
This PR makes several improvements to I/O for Euler-Lagrange bubbles,
run_time.inf
,and the progress output to the terminal in post process.
bubbles.dat
for most of the bubble variables and the void fraction wasn't being reinitialized
correctly so results were different when restarting from a save.
run_time.inf
Rc Min
instead of asterisksType 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?
Euler-Lagrange bubble output
2D
The following video was created after adding
lag_db_wrt
to theexamples/2D_lagrange_bubblescreen/
case file and running it with 4 MPI ranks on my laptop. The video shows the lagrangian
bubble data as spherical glyphs in Paraview that are scaled by the bubble radii.
The bubbles are shown 10x their actual size for visibility.
test.mp4
3D
The following video was created after adding
lag_db_wrt
to theexamples/3D_lagrange_bubblescreen/
(I also increase the amplitude of the pulse to increase the radial dynamics)
case file and running it with 4 A100 GPUs on my Wingtip. The video shows the lagrangian
bubble data as spherical glyphs in Paraview that are scaled by the bubble radii.
The bubbles are shown 10x their actual size for visibility. I also ran this case with
4 MI250x GCDs on Frontier and got the same results. I also tried restarting the simulation
from an intermediate save and got the same results as running the simulation from
start to finish without a restart, both with parallel and serial I/O.
test.mp4
run_time.inf
VerificationI ran viscous and inviscid cases and inspecte the output in
run_time.inf
. Comparisonsto the existing versions are in the drop down menus below.
Viscous cases
Old
New
Inviscid cases
Old
New
Post Process Verification CL Output
I ran a post process case and inspected the terminal output. It's correct
Checklist
docs/
)examples/
that demonstrate my new feature performing as expected.They run to completion and demonstrate "interesting physics"
./mfc.sh format
before committing my codeIf 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:
PR Type
Enhancement
Description
Enhanced Euler-Lagrange bubble I/O with Silo database support
Improved run_time.inf formatting and terminal progress output
Added selective bubble data output controls
Fixed host memory updates for bubble restart functionality
Diagram Walkthrough
File Walkthrough
6 files
Added lag_io_vars constant for MPI I/O
Added Lagrangian bubble output control parameters
Added bubble output parameters to input reading
Enabled Silo database output for bubble data
Enabled Silo database output for bubble data
Added bubble output parameter definitions
6 files
Enhanced bubble output with Silo database support
Added MPI broadcast for bubble output parameters
Added wall time measurement and progress reporting
Added default case for bubble dynamics model
Major improvements to bubble I/O and restart functionality
Improved run_time.inf formatting and output structure
2 files
Fixed surface tension variable assignment bug
Fixed host memory updates for bubble variables
1 files
Simplified acceleration computation with template loops
1 files
Updated documentation for bubble output parameters