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

[WIP] Add electron energy equation to hybrid solver #5323

Draft
wants to merge 160 commits into
base: development
Choose a base branch
from

Conversation

marcoacc95
Copy link
Contributor

@marcoacc95 marcoacc95 commented Sep 24, 2024

This PR adds the following changes:

  • temperature and entropy multifabs to fluid container
  • creates an electron fluid container in the warpx class specifically for the hybrid solver
  • adds a pressure calculation function that uses ideal gas expression instead of adiabatic formula
  • Electron pressure calculation now reads Te from the multifab in the electron fluid container
  • calculate Ue for electron fluid after ampere(plasma) current is computed
  • Added functions to set Ke on grid and to update Te
  • Uses qdsmc algorithm from Topanga paper (see section III-A) in: https://doi.org/10.1063/5.0177132)
  • Added a QdsmcParticleContainer similar to the FieldProbeParticleContainer. This container is needed for the qdsmc fictitious particles that advect the electron entropy and updates Te in absence of sources/sinks. This particle container contains the logic to initialize and push the qdsmc particles as well as gather properties from the grid (Ke, density) and deposit Ke after pushing the particles every step.
  • Current implementation is nodal
  • Added Joule heating calculation using isotropic electron resistivity
  • Modified plasma_resistivity parser to read Te as argument in Hybrid PIC solver

Work in progress:

  • Electron thermal conduction in energy equation using kappa tensor ( \nabla kappa \nabla Te term)
  • Extend electron resistivity to tensor form to treat separately parallel, perpendicular and cross terms (B coordinates)
  • current implementation is only for 3D simulations, extend to the rest of the dimensions the Hybrid solver can work with.
  • Generalize DepositK to DepositScalarField for future extensions to the general qdsmc algorithm (neutral fluid)
  • Move qdsmc particle container and electron fluid container to HybridPICModel object instead of WarpX class.
  • Fluid container might be an overkill for this algorithm, might be useful to write separate QDSMC class that contains all the logic and can be extended in the future for neutral gases.
  • Add electron temperature to field diagnostics

##############################################################################
Note: some Field Wrappers added just to test

…b.com:marcoacc95/WarpX into add_electron_energy_equation_to_hybrid_solver
@marcoacc95 marcoacc95 changed the title Add electron energy equation to hybrid solver WIP Add electron energy equation to hybrid solver Sep 24, 2024
@marcoacc95 marcoacc95 changed the title WIP Add electron energy equation to hybrid solver [WIP] Add electron energy equation to hybrid solver Sep 24, 2024
@marcoacc95 marcoacc95 requested a review from RemiLehe September 24, 2024 18:54
@marcoacc95 marcoacc95 marked this pull request as draft September 25, 2024 19:19
marcoacc95 and others added 30 commits February 27, 2025 23:29
…es, assigning to 0,0,0 and then redistributing.
…b.com:marcoacc95/WarpX into add_electron_energy_equation_to_hybrid_solver
…b.com:marcoacc95/WarpX into add_electron_energy_equation_to_hybrid_solver
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

Successfully merging this pull request may close these issues.

3 participants