-
Notifications
You must be signed in to change notification settings - Fork 59
Initial implementation of spray capability for Manifold EOS #620
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: development
Are you sure you want to change the base?
Initial implementation of spray capability for Manifold EOS #620
Conversation
…d Y2Wbar function to interpolate Wbar value. To be used with PR#9 of cmlm
…ven its index. 2. to store liquid fuel mass frcation values read from manifold table
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.
Looks good, thanks for doing this. We can leave as a draft for now because some modification may be needed as we complete the implementation.
… file for manifold models
… when verified using SingleDropEval.
Source/Eos/Manifold.H
Outdated
AMREX_GPU_HOST_DEVICE | ||
AMREX_FORCE_INLINE | ||
static void T2Cpi(const amrex::Real /*T*/, amrex::Real* /*Cpi[NUM_SPECIES]*/) | ||
static void T2Cpi(const amrex::Real T, amrex::Real Cpi[NUM_SPECIES]) |
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.
Also revert this to just aborting
Source/Spray/Drag.H
Outdated
// Antoine based psat- should I use the PeleMP psat_i | ||
amrex::Real pres_sat = fdat.liqprops.psat_i(T_part, spf, 0.0); | ||
|
||
amrex::Real Xl = Y_l[spf] * mw_part / mw_li; // X_{d,n} in documentation |
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.
Need to add check on saturation condition similar to detailed chemistry case
@d-montgomery can you do some quick checks to make sure this does not affect any of the detailed chemistry single droplet spray validation? |
Source/Eos/Manifold.H
Outdated
{ | ||
// TODO: FIXME (T2Cpi need to be implemented for manifold model) | ||
amrex::Abort("\nT2Cpi is not yet implemented for Maniold model"); | ||
// amrex::Abort("\nT2Cpi is not yet implemented for Maniold model"); |
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.
It should be ok to have this raise an error, the only place it gets called is in the wall film model, which I don't think should be being called for now. If it is, we have to deal with that as well, should be very similar what's done in Drag.H.
Source/Spray/Drag.H
Outdated
Ddiag[fspec] *= X_norm; | ||
rhoDtotal += Ddiag[fspec]; | ||
cp_fuel += Y_skin[fspec] * cp_n[fspec]; | ||
cp_fuel += Y_skin[fspec]; // * cp_n[fspec]; |
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.
This should not be here.
I ran a few of the SingleDropEvap tests, including one with a detailed mechanism for JP8. They all passed the eyeball norm, but there are some noticeable differences in enthalpy/temperature, especially in the WongLin case which has a higher ambient temp. Here are the results: Near final plot files from the WongLin validation (decane with
Final plot files from the Daif validation (mix of heptane and decane with
Here are the results using a detailed mechanism for JP8. The plot files are not from the final time step, but far enough into the simulation for this analysis. Note the initial droplet and ambient temperatures are
|
Source/Spray/Drag.H
Outdated
sumYSkin += Y_skin[fspec]; | ||
} | ||
|
||
#ifndef USE_MANIFOLD_EOS |
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.
These ifdefs are necessary. Y_fuel_skin can't be computed in this way for manifold EOS
I think I'm ok with 1e-7 relative diffs for temperature after a few hundred timesteps here. |
Added capabilities to:
Yet to clang tidy the changes.