-
Notifications
You must be signed in to change notification settings - Fork 106
Lodi multi component #838
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
Lodi multi component #838
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #838 +/- ##
==========================================
- Coverage 43.34% 43.24% -0.11%
==========================================
Files 68 68
Lines 20128 20182 +54
Branches 2400 2401 +1
==========================================
+ Hits 8725 8728 +3
- Misses 9934 9985 +51
Partials 1469 1469 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
you removed the images of the 1d reactive shock tube example, could you put those back? also is LODI optional or always used? |
if (chemistry) then | ||
!$acc loop seq | ||
do i = chemxb, chemxe | ||
Y_K(i - chemxb + 1) = qK_prim_vf(j, k, l, i) | ||
end do | ||
!Computing the energy from the internal energy of the mixture | ||
call get_mixture_molecular_weight(Y_k, mix_mol_weight) | ||
R_gas = gas_constant/mix_mol_weight | ||
T_K = pres_K/rho_K/R_gas | ||
call get_mixture_energy_mass(T_K, Y_K, E_K) | ||
E_K = rho_K*E_K + 5e-1_wp*rho_K*vel_K_sum | ||
else | ||
! Computing the energy from the pressure | ||
E_K = gamma_K*pres_K + pi_inf_K & | ||
+ 5e-1_wp*rho_K*vel_K_sum + qv_K | ||
end if |
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.
Can you make sure this doesn't have any performance impact on non-chemistry cases? This variables conversion subroutine can be really touchy on AMD hardware...
|
Description
Please include a summary of the changes and the related issue(s) if they exist.
Please also include relevant motivation and context.
This pull request adds support for the Non-Reflecting Subsonic/Supersonic Characteristic Boundary Conditions (NSCBC) in multicomponent flows. It enables subsonic inflow/outflow and supersonic inflow/outflow treatments for mixtures with an arbitrary number of species.
Existing boundary-condition modules cannot handle the chemistry (different equation of the mixture energy).
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
xx
1-dimensional advection of 8 species (http://dx.doi.org/10.1088/1364-7830/7/4/006)
Test Configuration: Square domain [0,L]x[0,1] with Mach 1.1 inflow at x=0 and supersonic outflow elsewhere; superimposed vortex field. (doi:10.1006/jcph.2002.6990). The video shows the temporal and spatial evolution of the mass fraction of CH4 (Methane)
Sup_0.mp4
Test Configuration: Square domain [0,L]×[0,L] with uniform 𝑢=50 m/s subsonic inflow at 𝑥 = 0 and subsonic outflow elsewhere; 2 superimposed vortices, from (http://dx.doi.org/10.1088/1364-7830/7/4/006). The video shows the temporal and spatial evolution of the mass fraction of CH4 (Methane)
sub_0.mp4
2-dimensional advection of 8 species, with supersonic inflow and a superimposed vortex, from (doi:10.1006/jcph.2002.6990)
Test Configuration: Square domain with Mach 1.1 inflows at both 𝑥=0 and 𝑦=0; supersonic outflow on remaining sides. The video shows the temporal and spatial evolution of the Pressure.
Sup_Sup.mp4
Square domain with Mach 1.1 supersonic inflow at 𝑥= 0, and subsonic inflow at 𝑦=0; corresponding mixed outflow elsewhere. Supersonic velocity along 𝑥, subsonic along 𝑦. The video shows the temporal and spatial evolution of the Temperature.
Sup_sub.mp4
My personal 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 --omniperf
, and have attached the output file and plain text results to this PR.