Skip to content

[newchem-cpp] address a few questionable choices pertaining to h2dustS and h2dustC #421

@mabruzzo

Description

@mabruzzo

We need to address a few questionable choices pertaining to h2dustS and h2dustC. I enumerate these issues below:

  1. first of all h2dustS is a terrible name. - The current description within initialize_rates (and attached to add_h2dust_S_reaction_rate says that it specifies the H2 formation rate on dust grains with S compositions
    • Up until now, I've always assumed that "S" represents the atomic number for Sulfur. While it may be obvious to people who know more about dust chemistry than me (honestly, that's a very low bar) that this must refer to silicate surfaces, it is stil a terrible name because we make extensive use of atomic symbols throughout the codebase (e.g. some dust grain species are named MgSiO3_dust, SiM_dust, etc).
    • the fact that this is intended for silicates is made clear by the citation attached to the h2dust_S_rate function: Cazaux & Tielens 2002. The ADS page is here
    • we should absolutely adopt a more descriptive name, like h2dust_silicate or something.
  2. Next, we need to figure out where the values used in h2dustC are taken from.
    • The definition of h2dust_C_rate mention cites Cazaux & Tielens 2002, but I can't find any mention of the values (maybe its buried in there? I didn't read it super carefully)
    • There's a small chance it could come from this paper https://ui.adsabs.harvard.edu/abs/2004ApJ...604..222C/abstract (it was originally submitted in 2002), but from a quick skim I didn't see any obvious references to the coefficients that the function uses
  3. We should also rename h2dustC in a consistent manner with how we rename h2dustS. - Maybe h2dust_carbonaceous?
    • For context, it's only used with the AC_dust species (amorphous carbon). We probably don't want to just call it h2dust_carbon since it isn't use with organic dust grain species (which of course must definitionally be composed of carbon).
  4. Finally we must address the fact that h2dustS is used for every grain species except for AC_dust (amorphous carbon). This includes grains that are clearly not silicates.
    • as a reminder, the dust grain species include MgSiO3_dust (enstatite), AC_dust (amorphous carbon), SiM_dust (metallic silicon), FeM_dust (metallic iron), Mg2SiO4_dust (forsterite), Fe3O4_dust (magnetite), SiO2_dust (silica), MgO_dust (magnesia), FeS_dust (troilite), Al2O3_dust (alumina), ref_org_dust (refractory organics), vol_org_dust (volatile organics), H2O_ice_dust (water ice)
    • at the bare minimum, we must very explicitly document this behavior. It's obviously a shortcoming in the dust-chemistry module. Importantly it's something that could change between Grackle versions. We should consider addressing the following questions:
      • Is this choice physically motivated or a common convention? (I have a sneaking suspicion that there wasn't an obvious model to use and this is a quick and dirty choice)
      • do we have a sense for how "wrong" the choice is? (e.g. will it generally overpredict/underpredict)
      • why don't we use the generic h2dust rate as a generic fallback for non-silicate grains instead of using h2dustS?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions