Skip to content

Dealing with metal fields #527

@brittonsmith

Description

@brittonsmith

The addition of non-equilibrium metal species and dust evolution models will require us to make some decisions about how metal-related fields are defined and some other expectations of behavior.

The Current Behavior

The Grackle main branch essentially only models gas-phase chemistry right now. We only allow for a passive dust model where the dust field is not considered to contribute to the total density. Specifically, we have the total gas density, density, defined as:
density = metal_density + $\sum_i$ primordial_density_i,
where primordial_density_i represents the mass densities of HI, HII, HeI, etc.
This affords us the luxury of guaranteeing that density remains constant over the course of a call to solve_chemistry

The Single-Grain Dust Model

With the new single-grain dust model, we will now be tracking a dust_density field that will exchange mass with the metal_density field as dust grains grow or are destroyed. Now we face a cross-roads with two possible paths:

Option 1: density = metal_density + dust_density + $\sum_i$ primordial_density_i
This has the benefit of continuing to guarantee that density remains constant, but has the disadvantage of requiring several minute alterations all over the plus, like changing how we define metallicity and how we define the primordial component of the density field.

Option 2: density = metal_density + $\sum_i$ primordial_density_i
Here, we have the opposite situation. After speaking with @aqua-hl I think this is better option. It also allows us to maintain that the density field is the one used for hydrodynamics.

The Multi-Grain Dust Model

Using the new multi-grain model will require the user to also supply injection metal fields (see #444) to trace the map metals coming from specific creation pathway to yields of gas-phase metals and dust species. This introduces another instance where the path forward is not obvious. The injection pathways give the fraction of metal mass of going into seven elements and up to 13 different dust species (see #465). However, in no configuration do the gas and dust yields fraction for the total metal yield. Below, I show the total gas and dust yields for each injection pathway. Note, if fewer density species are used, the dust-phase and absolute totals are even lower.

local_ISM:

  • gas-phase total: 0.33537661799999996
  • dust-phase total: 0.5061552
  • total: 0.841531818

ccsn13:

  • gas-phase total: 0.698820896
  • dust-phase total: 0.09255480452
  • total: 0.79137570052

ccsn20:

  • gas-phase total: 0.8700132180000001
  • dust-phase total: 0.055497320659999995
  • total: 0.9255105386600001

ccsn25:

  • gas-phase total: 0.809653515
  • dust-phase total: 0.11757425859999998
  • total: 0.9272277736000001

ccsn30:

  • gas-phase total: 0.9064142779999999
  • dust-phase total: 0.039527683765792514
  • total: 0.9459419617657924

fsn13:

  • gas-phase total: 0.8244579428270001
  • dust-phase total: 0.17554200000000802
  • total: 0.9999999428270081

fsn15:

  • gas-phase total: 0.8107713175090001
  • dust-phase total: 0.1892290000000369
  • total: 1.000000317509037

fsn50:

  • gas-phase total: 0.9998899782668
  • dust-phase total: 0.0001098505113741244
  • total: 0.9999998287781742

fsn80:

  • gas-phase total: 0.9913192637702
  • dust-phase total: 0.00868025000275811
  • total: 0.999999513772958

pisn170:

  • gas-phase total: 0.92304398
  • dust-phase total: 0.013309690847284955
  • total: 0.9363536708472849

pisn200:

  • gas-phase total: 0.922013672
  • dust-phase total: 0.0009824352838940825
  • total: 0.922996107283894

y19:

  • gas-phase total: 0.25894751
  • dust-phase total: 0.5
  • total: 0.75894751

How do we track the addition metal mass not being mapped to a specific species? Not fully understanding what is needed by the multi-grain growth functionality, I think we can either put untracked metal mass into the metal_density field or we need an extra metal field. This brings me to the final (and possibly identical) point.

Tracking Gas-Phase Metals

The non-equilibrium metal fields that we will be able to follow will of course be a subset of all possible species. We will likely need to supplement the non-equilibrium metal cooling with metallicity dependent tables. At high temperature, these tables will have to account for the cooing from all metals (including those we are tracking) as we have not specifically implemented high temperature transitions. At low temperature, they will only complement the non-equilibrium cooling. Potentially, the low temperature regime could be done another way, but we'll need to think about it.

Minimally, we need to understand what metal_density will still mean. It should either represent the sum total of all metals (including the ones we track) or it should represent only the metals we are NOT tracking. I am not confident I have completely mapped out the ramifications of either choice yet.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions