Closed JosephThomasParker closed 1 year ago
This design sounds like its been superseded, at least in part, by PR #92?
NESO started life as an fft based electrostatic pic code that was augmented with SYCL particles. This issue relates to the plan to remove the fft solve in favour of a nektar Poisson solve. This is not a priority for the 2d3v milestone but is required for the PIC milestone. ... Could do with new milestone labels or something..
@oparry-ukaea i've added a 2D3V milestone label too. please feel free to sprinkle that around & thanks for curating the backlog - I'm pretty swamped today and tomorrow. Monday is less meeting filled.
Superseded by #99
We should implement a version of this code that is Spectral/hp in space, plus particles for velocity. I think the path-of-least-resistance way of doing this is to use Nektar++ and its solvers. From talking to @ethrelfall, my understanding is that we can keep the particles as they are, and just need to implement a new version of mesh to handle the Spectral/hp.
Here's a rough list of tasks that need to be done:
IMesh
that has all the public methods of the currentMesh
but as pure virtualsMesh
fromIMesh
, rename toMeshUniform
and then fixup code to pass around pointers / refs toIMesh
MeshNektar
with its own:deposit
function to go from particles to charge density;evaluate
function to from particle to electric field; and its ownsolve_for_electric_field
function that will call Nektar++ solvers.I showed Ed the serial version of the code (current
main
). I think it's best to implement a serial version and get it working, and then worry about a SYCL implementation later. Thoughts? @ethrelfall @jwscookNext steps
MeshUniform<D>
so that we can specialise to 1 (what we have now), 2, and 3 dims.MeshNektar
.