AMReX-Astro / AMReX-Astro/Castro

allow for a 2 temperature formulation for hydro

Open
#2,679 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement hydro
Dominant language
C++
Stars
340
Forks
105
Avg merge
3d 8h
Merged PRs (30d)
8

Description

The WarpX folks want to have a separate temperature for electrons and ions (heavies), and a source term that represents the equilibriation via collisions. It seems like we can do this by tapping into the aux passives.

We will define the total energy always as:

$$\rho E = \rho e_e + \rho e_h + \frac{1}{2} |U|^2$$

and that is the conserved energy the is needed to get shocks correct. We still still have the Castro internal energy / dual energy formulation that will keep track of

$$\rho e = \rho e_e + \rho e_h$$

but now we will have an aux state of $\rho e_h$. This will satisfy via Castro

$$\frac{\partial (\rho e_h)}{\partial t} + \nabla \cdot (\rho U e_h) = S$$

where the $$S$$ part will rely on PR #2678 . I think there is additional work needed there to use the source in the interface state prediction.

But the energy should follow:

$$\frac{\partial (\rho e_h)}{\partial t} + \nabla \cdot (\rho U e_h) + p_h \nabla \cdot U = S$$

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named; start by reading the two-temperature formulation and the referenced PR #2678, then locate Castro's aux-passive and interface-state prediction entry points. Done means separately evolving electron and heavy-particle temperatures, retaining the conserved total energy, and applying the collision-equilibration source consistently.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.