-
Notifications
You must be signed in to change notification settings - Fork 11
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
pt space pte solver #453
pt space pte solver #453
Conversation
Some quick comments before I review (after the other MR goes in):
I think that's a good idea. My thinking was to use the existing EOS introspection to figure out what kind of lookup should be used and then avoid any costly iterative inversion steps. But this is an optimization step and we should only pursue it if there's a clear performance need.
I agree. Echoing my previous comment, I'm glad you avoided prematurely optimizing. Let's find the bottlenecks first. |
…ce and RT space solvers
…ophysical density and energy from that. otherwise initial guess can cause solver to report convergence
…isn't stressed at this time.
Solver now works with non-ideal EOS's and complex mixtures. For a small number of EOS's it is slower than PTESolverRhoT, but likely scales better. This likely depends on the cost to construct the Jacobian due to the more expensive nature of the |
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 with just a few minor changes.
For completeness, could you throw this solver at the tests in https://github.com/lanl/singularity-eos/blob/main/test/test_closure_pte.cpp ? It doesn't have to be part of this MR, but if they pass off the bat, that would be good knowledge that this is pretty robust.
Co-authored-by: Jeff Peterson <[email protected]>
Co-authored-by: Jeff Peterson <[email protected]>
I added it to the 3 state PTE test. The 2 state test is still failing for the rho-T solver. See #390 . |
PR Summary
This is a "working" version of the PT-space PTE solver that @dholladay00 started in MR #422, and this MR should replace that one. This version compiles and runs, although I haven't carefully checked for correctness yet. (It reports it converged at least!)
Important notes:
DensityEnergyFromPressureTemperature
more robust across our EOS models and also add introspection necessary to bound the line search used in the PTE solver.DensityEnergyFromPressureTemperature
to build the Jacobian.Remaining to do:
That said, this is ready for feedback.
PR Checklist
make format
command after configuring withcmake
.If preparing for a new release, in addition please check the following:
when='@main'
dependencies are updated to the release version in the package.py