Tentative plan for thermodynamic consistency and for potentials as needed for kinetic phase transitions
Open
@jhp-lanl is already working on this.
Since Dec 14, 2022.
discussion
enhancement
- Dominant language
- C++
- Stars
- 39
- Forks
- 22
- Avg merge
- 10h 22m
- Merged PRs (30d)
- 3
Description
This is a follow up and summary of a discussion had between myself, @chadmeyer @aematts @jhp-lanl . This is the path forward for potentials as needed for @aematts 's kinetic phase transition treatment:
- We will expose two new functions:
EntropyFromDensityEnergyandEntropyFromDensityTemperature. Not all non-tabulated equations of state have an entropy in closed form. For now we will provide a stub in the base class that simply raises an error for those equations of state. - We will provide an introspection mechanism so a downstream code can ask an EOS if it (a) has an entropy, (b) if that entropy is thermodynamically consistent, or (c) none of the above. A function with no inputs and an enum class output probably works.
- For tabulated EOS's we can pass through to the underlying tabulated information, e.g., through EOSPAC.
- In the medium term we will also look into providing a tool that can plot "distance from thermodynamic consistency" for a given EOS, perhaps as a python script, so users can decide for themselves if they want to trust a given EOS or table for a given problem/application. @aematts mentioned that PEM-EOS may already have such a tool they may be willing to share.
- In the longish term, we will consider the possibility of computing an entropy by integration and tabulating it, even for analytic EOS's with no closed form. This could perhaps be a modifier.
Thanks everyone for a productive discussion today. Please let me know if this summarizes the team's thoughts and whether or not it still makes sense.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.