Skip to content
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

3T roadmap #440

Open
2 of 4 tasks
Yurlungur opened this issue Dec 2, 2024 · 4 comments
Open
2 of 4 tasks

3T roadmap #440

Yurlungur opened this issue Dec 2, 2024 · 4 comments
Assignees

Comments

@Yurlungur
Copy link
Collaborator

Yurlungur commented Dec 2, 2024

  • Implement MeanAtomicMass and MeanAtomicNumber Add mean atomic mass and number #439
  • Implement Z-split modifier Analytic electron EOS and zsplit modifier #444
    • z-split at least needs to take ionization fraction as an input in the lambda
    • z-split requires mean atomic mass/number of parent, unionized EOS
  • Implement ability to load sub-tables of sesame into EOSPAC/spiner
  • Ability to compute ionization level/fraction has to be hot-swappable not monolithic in the EOS
    • Biggest unknown here.
    • Potentially implement these calculations in downstream first? But would like to move that optionality into something singularity-like long term.
    • Could go in new directory of singularity-eos or in singularity-eos-extras maybe?
@jhp-lanl
Copy link
Collaborator

jhp-lanl commented Dec 3, 2024

As I understand, there are at least two ways to do the Z-split. One would be to use one EOS and just scale the electron contribution by ionization state, but you can also imagine a separate EOS for the electrons and the ions. Would this approach be able to do either?

@Yurlungur
Copy link
Collaborator Author

As I understand, there are at least two ways to do the Z-split. One would be to use one EOS and just scale the electron contribution by ionization state, but you can also imagine a separate EOS for the electrons and the ions. Would this approach be able to do either?

The version I was imagining was the latter. I was thinking of creating two modifiers, ZSplitElectrons and ZSplitIons that both modify a single original EOS (say Gruneisen).

That said, if we're interested in supporting the former case too, we could discuss. I'm not sure how to do that generically.

@jhp-lanl
Copy link
Collaborator

jhp-lanl commented Dec 3, 2024

The version I was imagining was the latter. I was thinking of creating two modifiers, ZSplitElectrons and ZSplitIons that both modify a single original EOS (say Gruneisen).

That said, if we're interested in supporting the former case too, we could discuss. I'm not sure how to do that generically.

I'm a little confused here since this sounds like the one EOS case I mentioned. I was thinking that another approach would be to model the electron contribution directly as an ideal gas an pair that with a more appropriate EOS for the ions.

@Yurlungur
Copy link
Collaborator Author

Ah ok. After clarifying on Mattermost:

  • The implicit assumption is we always hand the host code two EOS's, one electron and one ion
  • In zsplit mode, we split an underlying EOS into an electron EOS and an ion EOS
  • Alternatively, we may pass two completely separate EOS's to the host code, one for electrons and one for ions
    • To support this, we need ways to load the relevant subtables from Sesame
    • We also need to be able to rescale, say, an ideal gas, by ionization state so the number density is right.

I think we need to support both models.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants