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

Add support for parallel vlasov-poisson + make external Vlasov force more efficient #132

Merged
merged 3 commits into from
Sep 12, 2023

Conversation

manauref
Copy link
Collaborator

(corresponding gkylzero changes are in PR 201: ammarhakim/gkylzero#201)

  1. Modify FemPoisson and MaxwellField to add support for multi-MPI process Vlasov-Poisson solves. I tested with the vp-sheath reg test, using MPI decomposition along x or species, on CPUs and GPUs, and in all cases got the same result.
  2. Change the handling of Vlasov external forcing so that users can specify separable forces (where time dependence is a multiplicative factor/function), or a table of separable forces that gets added. This allows us to project the spatial dependence only once, which should make it particularly efficient on GPUs.

…a80f2efb2eeb6fa7). Also bring back MGpoisson kernels because I'd forgotten we were using one of the for VlasovPoisson (esEnergy). vp-sheath runs, have not checked correctness yet.
…tests pass or fail with tiny (order e-12) differences.
…hat the projection of the spatial part is only done at t=0. Tested with vm-bodyforce/rt-neutral-bodyforce.lua reg test and it appears to work.
@manauref manauref merged commit 8598be3 into g0-merge Sep 12, 2023
@manauref manauref deleted the g0-merge_fem_poisson_par branch September 12, 2023 17:22
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.

1 participant