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

tracer particles #99

Open
BenWibking opened this issue Feb 17, 2024 · 3 comments
Open

tracer particles #99

BenWibking opened this issue Feb 17, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@BenWibking
Copy link
Contributor

It would be useful to have tracer particles, following the Parthenon example.

We could even use the marker particle advection algorithm using the time-centered, face-centered velocities: https://ui.adsabs.harvard.edu/abs/1965PhFl....8.2182H/abstract

@BenWibking BenWibking added the enhancement New feature or request label Feb 17, 2024
@pgrete
Copy link
Contributor

pgrete commented Feb 19, 2024

This is actually on my list right are OpenPMD/Adios output (as we need those for another project).
I already went a bit through the literature as there are some gotchas, see https://doi.org/10.1093/mnras/stt1383 and https://doi.org/10.1111/j.1365-2966.2010.16810.x with follow up work by https://doi.org/10.1051/0004-6361/201834496 and potentially also of interest (as more simple mitigation strategy compared to MC particles): https://doi.org/10.1016/j.jcp.2019.109054 and https://doi.org/10.3847/1538-4357/ac6c2b

@BenWibking
Copy link
Contributor Author

BenWibking commented Feb 19, 2024

Yes, I'm aware of this issue. I think it is solved by using the face-centered velocity from the Riemann solver (see equation 7b: https://ui.adsabs.harvard.edu/abs/2008ASPC..385..273L/abstract). I implemented this in Quokka, and it seems to work well.

@pgrete pgrete mentioned this issue Aug 26, 2024
3 tasks
@pgrete
Copy link
Contributor

pgrete commented Jan 24, 2025

Code todo list (ping @mfournier01 )

  • MC tracer movement
    • start from WIP tracers #102 and create branch derived from there
    • for now use vl2 integrator (for fluid)
    • because fluxes at the end of the driver (when the operator split particle pusher is called), contains the full dt fluxes
  • dynamic injection mechanism
  • require globally unique ids over the entire simulation (time)
  • tracking (additional/other) fields
  • separate tracer feature from pgen specific features

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

No branches or pull requests

2 participants