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

Expose mean atomic number and atomic weight to downstream users #426

Closed
chadmeyer opened this issue Oct 18, 2024 · 3 comments
Closed

Expose mean atomic number and atomic weight to downstream users #426

chadmeyer opened this issue Oct 18, 2024 · 3 comments

Comments

@chadmeyer
Copy link
Collaborator

When we're going down the road toward supporting some parts of 3T physics, downstream codes will want to query mean atomic number and mean atomic weight. This would also be a useful pre-requisite for singularity-eos implementing some 3T eos support directly.

Here's how I imagine it working.

  • All EOSs have some additional member variables representing z_bar and a_bar. There is some default value (singularity::no_atomic_number == -1.0 or something)
  • Tabular EOSs (eospac, spiner) read in these quantities and set them appropriately
  • Analytic EOSs either include optional arguments in their constructors or just member routines (set_abar(const Real)) that can be called to set the values if needed/desired.
  • All EOSs have getter routines Real get_zbar() that return the value.

Questions that might warrant further discussion:

  • Is it possible or desirable to have some sort of optional arguments in the constructor? Can that be inherited?
  • If an eos uses the scaling modifier, should that by default scale the mean atomic weight?
@jhp-lanl
Copy link
Collaborator

jhp-lanl commented Oct 21, 2024

What is the definition of z_bar in this context? I assume average atomic number, not average ionization state, right?

@Yurlungur
Copy link
Collaborator

Yes z_bar must be average atomic number and a_bar average atomic mass. That said we should maybe think about how z-splitting type approaches work for a given ionization state. IMO this should be handled with modifiers.

@Yurlungur
Copy link
Collaborator

Resolved by #439

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

No branches or pull requests

3 participants