-
Notifications
You must be signed in to change notification settings - Fork 119
Multicomponent diffusion fluxes, thermal conduction, and mixture viscosity #934
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
Conversation
@DimAdam-01 can you fix your merge conflicts |
status? also please use descriptive commit messages. also, spamming commits causes the CI to run dozens of times and clogs up the self hosted runners. |
this seems to be looking pretty good. is there anything missing at the moment? @DimAdam-01 |
No everything is there, just to mention, in order to get the code to run on the Frontier , I had to modify the Pyrometheus code generation script (in toolchain/mfc/run/input.py). I added the directive_offload="acc", which was necessary for the code to compile and pass all tests. @sbryngelson |
Got it. That's fine. @prathi-wind can fix that, oacc is default for now anyway. I saw his latest push to his draft PR and the only failing OMP test was chemistry, so somethings there need to be fixed anyway. |
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
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 multicomponent diffusion fluxes, thermal conduction, and mixture viscosity for chemical species in the MFC solver. It adds new chemistry functionality to enable more sophisticated multispecies flow simulations with transport phenomena.
Key changes include:
- Implementation of species mass diffusion flux computations using mixture-averaged approaches
- Addition of thermal conduction in the energy equation for chemistry cases
- Integration of mixture viscosity calculations for chemical species
Reviewed Changes
Copilot reviewed 20 out of 24 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
src/common/m_chemistry.fpp | Implements core diffusion flux computation and viscosity calculation routines |
src/simulation/m_rhs.fpp | Adds diffusion flux RHS updates and memory allocation for chemistry diffusion |
src/simulation/m_riemann_solvers.fpp | Integrates viscosity computation and adds flux source initialization for chemistry |
src/pre_process/include/1dHardcodedIC.fpp | Adds hardcoded initial conditions for multicomponent diffusion test case |
toolchain/mfc/test/cases.py | Adds new test case for multicomponent diffusion validation |
src/simulation/m_start_up.fpp | Updates GPU memory management for chemistry parameters |
src/simulation/m_global_parameters.fpp | Updates GPU memory handling for chemistry parameters |
src/common/m_variables_conversion.fpp | Fixes tolerance variable reference |
toolchain/pyproject.toml | Updates Pyrometheus dependency version |
toolchain/mfc/run/input.py | Adds OpenACC directive to Pyrometheus code generation |
Comments suppressed due to low confidence (1)
src/simulation/m_rhs.fpp:1
- Code duplication detected. The RHS flux update pattern is repeated for viscous/surface_tension and diffusion cases. Consider extracting this into a helper subroutine to follow DRY principles.
!>
b01d6fa
to
ad6229b
Compare
User description
Description
Please include a summary of the changes and the related issue(s) if they exist.
This update implements the diffusive fluxes for chemical species, includes thermal conduction in the energy equation, and computes the mixture’s viscosity.
Please also include relevant motivation and context.
Fixes #(issue) [optional]
Type of change
Please delete options that are not relevant.
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
Test Configuration:
My Laptop, Delta (A100) and Delta AI (GH)
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:
nvtx
ranges so that they can be identified in profiles./mfc.sh run XXXX --gpu -t simulation --nsys
, and have attached the output file (.nsys-rep
) and plain text results to this PR./mfc.sh run XXXX --gpu -t simulation --rsys --hip-trace
, and have attached the output file and plain text results to this PR.PR Type
Enhancement
Description
Implement multicomponent diffusion fluxes for chemical species
Add thermal conduction to energy equation
Integrate mixture viscosity computation for chemistry
Add new test case for multicomponent diffusion validation
Diagram Walkthrough
File Walkthrough
3 files
Add diffusion flux computation and RHS updates
Implement diffusion flux and viscosity calculations
Integrate viscosity computation in Riemann solvers
10 files
Add hardcoded initial conditions for diffusion test
Add multicomponent diffusion test case
Update test metadata for new environment
Update test metadata for new environment
Update test metadata for new environment
Update test metadata for new environment
Update test metadata for new environment
Update test metadata for new environment
Update test metadata for new environment
Add new test metadata file
1 files
Fix tolerance variable reference in chemistry
4 files
Add GPU memory updates for chemistry parameters
Update GPU memory for chemistry parameters
Update wave speeds and average state parameters
Add OpenACC directive to Pyrometheus code generation
1 files
Update Pyrometheus dependency version
5 files